Windows Server: Configuring as a NTP Network Time Server

Jun 10
08:26

2008

Richard N Williams

Richard N Williams

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

This article explains how Windows Server from 200 onwards can be used as a NTP time server

mediaimage

Precision and time synchronisation is highly important for modern computer networks,Windows Server: Configuring as a NTP Network Time Server Articles without synchronisation many time sensitive transactions would be impossible to carry out.

 

The internal clock in computers does keep time and date information but these Real Time Chips are not designed to keep perfect time as computers are mass produced and optimized for low cost rather than being perfect clocks.

 

Of course for a lot of applications this can be more than adequate but for time-sensitive transactions such as online purchasing not having a network that is synchronised can cause errors in transactions and can even leave the network vulnerable to fraud.

 

Fortunately Windows Server from 2000 onwards has a time synchronisation utility built in call windows time (w32time.exe) this can be configured to allow the machine to be used as time server.

 

Windows time uses a form of NTP (Network Time Protocol) which was developed over 20 years ago. It uses an algorithm to synchronise time on a network. NTP (version 4) can maintain time over the public Internet to within 10 milliseconds (1/100th of a second) and can perform even better over LANs with accuracies of 200 microseconds (1/5000th of a second) under ideal conditions.

 

NTP uses a single time reference and synchronises all machines on the network to that time. It can be configured to both synchronise a network using the internal clock or an external time source.

 

Note: Microsoft strongly recommends that you configure a time server with a hardware source rather than from the internet where there is no authentication.

 

To configure the Windows Time service to use an external time source, click Start, Run and type regedit then click OK.

 

Locate the subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Right-click Type then Modify, in edit Value type NTP in the Value data box then OK.

 

Right click ReliableTimeSource, then click Modify.

In the Edit DWORD Value box, under Value Data, type 0, then click OK.

 

Right-click NtpServer in the right pane then click Modify.

In Edit Value, type the Domain Name System (DNS), each DNS must be unique.

Now click Ok.

 

To set the poll intervals locate:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

In the right pane, right-click Period, then click Modify.

In the Edit DWORD Value box, under Value Data, type 24 then OK

Exit Registry Editor

 

Click Start, then Run then type the following and press Enter:

Net stop w32time && net start w32time

 

Network Time Protocol (NTP) is an Internet protocol used for the transfer of accurate time, providing time information along so that a precise time can be obtained

 

To enable the Network Time Protocol; NTPserver, locate and click:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\

In the right pane, right-click Enabled, then click Modify.

In the Edit DWord Value box, type 1 under Value data, then click OK.

 

Now go back and click on

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer

In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.

Now click Ok.

 

Locate and click the following

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval

In the right pane, right-click SpecialPollInterval, then click Modify.

In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.

 

To configure the time correction settings, locate:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config

 In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.

 

Now go back and click:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config

In the right pane, right-click MaxNegPhaseCorrection, then Modify.

In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)

 

Exit Registry Editor

Now to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:

net stop w32time && net start w32time

 

And on each computer, other than the time server, type:

W32tm/ -s and the time server should be up and running