Windows 2012 R2 NTP server Unable to sync with Cisco Nexus

cisco-nexusntpwindows-server-2012-r2

I am the PDC Admin, The Windows NTP server is set correctly, we have 5 different time sources set. We are able to sync with 2 of those time sources and other external time sources such as ntp.org (Below is the config). We know time is able to sync, it is just not able to sync with the Cisco Nexus device (that info is below). We ran debug log and caught the information below:

151480 15:11:23.7914419s - /-- NTP Packet:
 151480 15:11:23.7914419s - | LeapIndicator: 3 - not synchronized;  VersionNumber: 3;  Mode: 3 - Client;  LiVnMode: 0xDB
 151480 15:11:23.7914419s - | Stratum: 0 - unspecified or unavailable
 151480 15:11:23.7914419s - | Poll Interval: 17 - out of valid range;  Precision: -6 - 15.625ms per tick
 151480 15:11:23.7914419s - | RootDelay: 0x0000.0000s - unspecified;  RootDispersion: 0x0001.03FEs - 1.01559s
 151480 15:11:23.7914419s - | ReferenceClockIdentifier: 0x00000000 - unspecified

We see traffic going to and from just not syncing, we have done all the Microsoft stuff already they are reliable and this server is a physical NOT A VM. Any help would be great.

Cisco Nexus Info:

Software
  BIOS:      version 3.1.0
  kickstart: version 6.2(8a)
  system:    version 6.2(8a)
  kickstart image file is: bootflash:///n7700-s2-kickstart.6.2.8a.bin
  kickstart compile time:  5/15/2014 20:00:00 [06/20/2014 21:52:24]
  system image file is:    bootflash:///n7700-s2-dk9.6.2.8a.bin
  system compile time:     5/15/2014 20:00:00 [06/20/2014 23:25:04]

Windows NTP Server settings:

C:\Windows\system32>w32tm /query /configuration
[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 5 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 6 (Local)
MaxPollInterval: 15 (Local)
MaxNegPhaseCorrection: 172800 (Local)
MaxPosPhaseCorrection: 172800 (Local)
MaxAllowedPhaseOffset: 300 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 0 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 7 (Local)
UpdateInterval: 100 (Local)

[TimeProviders]

NtpClient (Local)
DllName: C:\Windows\system32\w32time.DLL (Local)
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: 3600 (Local)
Type: NTP (Local)
NtpServer: 
(Local)

NtpServer (Local)
DllName: C:\Windows\system32\w32time.DLL (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)

VMICTimeProvider (Local)
DllName: C:\Windows\System32\vmictimeprovider.dll (Local)
Enabled: 0 (Local)
InputProvider: 1 (Local)

Best Answer

We had similar issues in our Cisco based environment. The Cisco NTP servers may be rejecting the requests from the Windows servers due to the "mode" they are using to synchronize time. I'm not terribly familiar with the intricacies of the NTP protocol, but this KB875424 explains a bit better than I can.

Essentially, Windows uses "symmetric active" mode by default and you need to tell it to use "client mode" instead.

For each entry in your NTP server list, add ,0x08 to the end of it. So ntp.example.com becomes ntp.example.com,0x08. With multiple entries, ntp1.example.com ntp2.example.com becomes ntp1.example.com,0x08 ntp2.example.com,0x08

P.S. I realize the KB article is for 2003, but it's applicable to 2008 and beyond.

Related Topic