Monday, August 27, 2018

sync - Windows NTP Client Not Syncing with my ESXi NTP Server


I have an ESXi 5.1 server configured as a NTP server and a local Windows Server 2008 R2 PC that aren't syncing. I've read that whenever an ESXi server is run as a client, it also acts as a server, so I enabled it as an NTP client and simply added no servers to the server list, and then I enabled port 123 incoming/outgoing by adding firewall settings from the ESXi Shell.


I'm almost positive that it's not a firewall issue. I've completely disabled the firewall on my local PC. Running "w32tm /monitor /computers:-IP of server-" gives me the time of the server, and running the NTPQuery software gives me a response back on port 123 with the server's time.


I have tried:



  • Date/Time settings (right-click on notification area-->Adjust
    date/time-->Internet Time-->set as IP of server) -- syncing fails (An error occurred while Windows was synchronizing with -IP of server-)

  • Group Policy Editor (Computer Configuration\Administrative
    Templates\System\Windows Time Service, currently disabled though because I've heard this causes problems) --
    syncing fails

  • Registry Editor
    (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\settings) -- syncing fails

  • Command Prompt, using:


.


w32tm /config /manualpeerlist:-IP of server- /syncfromflags:MANUAL /reliable:yes /update
net stop w32time && net start w32time
w32tm /resync /rediscover

This updates the registry correctly, but outputs "The computer did not resync because no time data was available." And whenever I use the command "w32tm /query /source" the source is always "Local CMOS clock."


Here is the output of w32tm /query /configuration


[Configuration]
EventLogFlags: 2 (Local)
AnnounceFlags: 5 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 10 (Local)
MaxPollInterval: 15 (Local)
MaxNegPhaseCorrection: 3600 (Local)
MaxPosPhaseCorrection: 3600 (Local)
MaxAllowedPhaseOffset: 1 (Local)
FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 1 (Local)
UpdateInterval: 360000 (Local)
[TimeProviders]
NtpClient (Local)
DllName: C:\windows\system32\w32time.dll (Loca
Enabled: 1 (Local)
InputProvider: 1 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 900 (Local)
Type: NTP (Local)
NtpServer: -IP of server-,0x1 (Local)
NtpServer (Local)
DllName: C:\windows\system32\w32time.dll (Loca
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)

Any ideas? Thanks in advance.


Answer



I found the answer. I had to set my upstream server as my own clock with IP address 127.127.1.0 to make my server's clock synchronized.


The reply from the ESXi server shows that the leap indicator is 3 and the server stratum is 0. This means that the ESXi NTP server is running unsynchronized and is unable to provide a valid reference time to clients. According to RFC 4330, Simple NTP (SNTP) clients should not use the time in an NTP reply packet if the returned stratum is 0 (and the leap indicator is 3).


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...