소개
이 문서에서는 Cisco ISE(Identity Services Engine) 및 기타 Linux 기반 서버가 Microsoft Windows 서버에 설치된 NTP(Network Time Protocol) 서버와 동기화하지 못할 때 발생하는 문제를 설명합니다.이 문제에 대한 해결책도 제공됩니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco ISE CLI 컨피그레이션
- NTP에 대한 기본 지식
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Microsoft Windows Server 버전 2012
- Cisco ISE 소프트웨어 버전 1.3 이상
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제
Microsoft Windows Server를 NTP로 사용하기 위해 ISE CLI를 구성한 후에는 동기화되지 않습니다.Microsoft Windows Server 2012 기본 도메인 컨트롤러 컨피그레이션이 사용됩니다(기본 NTP 컨피그레이션). ISE는 로컬 소스가 여전히 사용된다고 보고합니다.
ise14/admin# show ntp
Configured NTP Servers:
10.62.145.72
synchronised to local net at stratum 11
time correct to within 11 ms
polling server every 1024 s
remote refid st t when poll reach delay offset jitter
==============================================================================
*127.127.1.0 .LOCL. 10 l 9 64 377 0.000 0.000 0.000
10.62.145.72 .LOCL. 1 u 226 1024 377 0.896 -3.998 4.130
* Current time source, + Candidate , x False ticker
Warning: Output results may conflict during periods of changing synchronization.
[an error occurred while processing this directive]
모든 매개변수(연결성, 지연, 오프셋 및 지터)가 올바른 것으로 보이며 CLI에서 문제를 해결할 방법이 없습니다(NTP 동기화 실패). 문제를 확인하려면 루트 레벨로 이동하여 NTPD 데몬을 쿼리하여 자세한 내용을 보려면 NTPQ 툴을 사용해야 합니다.
[root@ise14]# ntpq
ntpq> associations
ind assID status conf reach auth condition last_event cnt
===========================================================
1 53519 9614 yes yes none sys.peer reachable 1
2 53520 9014 yes yes none reject reachable 1
[an error occurred while processing this directive]
표시된 것처럼 두 개의 연결이 표시됩니다.53520 연결이 거부됨으로 표시됩니다.이 연결에 대한 추가 세부 정보는 다음과 같습니다.
ntpq> mrv 53520 53520
assID=53520 status=9014 reach, conf, 1 event, event_reach,
srcadr=10.62.145.72, srcport=123, dstadr=10.62.145.42, dstport=123,
leap=00, stratum=1, precision=-6, rootdelay=0.000,
rootdispersion=10032.150, refid=LOCL, reach=377, unreach=0, hmode=3,
pmode=4, hpoll=10, ppoll=10, flash=400 peer_dist, keyid=0, ttl=0,
offset=-32.465, delay=0.898, dispersion=30.345, jitter=4.519,
reftime=d96b0358.fe7c815a Tue, Aug 4 2015 11:24:40.994,
org=d96b08ed.829514cf Tue, Aug 4 2015 11:48:29.510,
rec=d96b08ed.8b022d8d Tue, Aug 4 2015 11:48:29.543,
xmt=d96b08ed.8ac74cca Tue, Aug 4 2015 11:48:29.542,
filtdelay= 0.90 1.20 0.95 0.93 0.87 0.89 1.19 0.93,
filtoffset= -32.47 -27.95 -26.50 -34.32 -27.74 -18.14 -22.54 -23.79,
filtdisp= 15.63 30.97 46.32 61.68 77.05 92.44 107.82 115.48
[an error occurred while processing this directive]
이 서버가 이전에 구성된 NTP 서버(10.62.145.72)인지 확인할 수 있으며, 이 서버에서는 동기화가 실패합니다.또한 루트 분산 매개 변수가 큽니다(10,000ms 이상). Microsoft Windows Server에서 이 매개 변수를 확인하려면 다음 정보를 사용하십시오.
C:\Users\Administrator> w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 1 (primary reference - syncd by radio clock)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 10.0000000s
ReferenceId: 0x4C4F434C (source name: "LOCL")
Last Successful Sync Time: 04/08/2015 11:15:32
Source: Local CMOS Clock
Poll Interval: 6 (64s)
[an error occurred while processing this directive]
패킷 캡처는 ISE에서 보낸 요청을 1초의 허용 가능한 루트 분산으로 표시합니다.

다음은 10초보다 큰 루트 분산이 있는 서버의 응답입니다.

그 결과, 이는 허용되지 않으므로 ISE가 요청을 삭제하고 로컬 시간 소스를 계속 진행하게 됩니다.
루트 분산은 동기화 서브넷의 루트에 있는 기본 참조 소스와 관련된 최대 오류를 나타내는 숫자입니다.모든 NTP 서버에 의해 증가합니다.기본적으로 Microsoft 서버는 고유한 로컬 시간 소스가 사용될 때만 값을 10초로 설정합니다(신뢰할 수 있는 시간 소스가 아님을 나타내기 위해). Microsoft NTP 서버가 외부 NTP로 구성된 경우 이 값은 서버에서 파생되며 문제가 없습니다.
솔루션
Microsoft 문서에 따라 레지스트리에서 LocalRootDispersion 값을 구성할 수 있습니다.레지스트리 값을 구성하려면 다음 단계를 완료합니다.
- PowerShell에서 NTP 서비스를 중지합니다(선택적으로, net stop w32time 명령 입력).
PS C:\Users\Administrator> Stop-Service w32time
[an error occurred while processing this directive]
- 레지스트리 값을 0으로 설정합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\LocalClockDispersion
[an error occurred while processing this directive]
- 서비스를 다시 시작합니다(선택적으로, net start w32time 명령 입력).
PS C:\Users\Administrator> Start-Service w32time
[an error occurred while processing this directive]
- 새 값(0)이 보고되었는지 확인합니다.
C:\Users\Administrator> w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 1 (primary reference - syncd by radio clock)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 0.0000000s
ReferenceId: 0x4C4F434C (source name: "LOCL")
Last Successful Sync Time: 04/08/2015 11:15:32
Source: Local CMOS Clock
Poll Interval: 6 (64s)
[an error occurred while processing this directive]
이제 ISE NTPQ 툴에서 낮은(48ms) 값을 보고해야 합니다.
ntpq> mrv 53520 53520
assID=8400 status=9614 reach, conf, sel_sys.peer, 1 event, event_reach,
srcadr=10.62.145.72, srcport=123, dstadr=10.62.145.42, dstport=123,
leap=00, stratum=1, precision=-6, rootdelay=0.000,
rootdispersion=48.431, refid=LOCL, reach=377, unreach=0, hmode=3,
pmode=4, hpoll=7, ppoll=7, flash=00 ok, keyid=0, ttl=0, offset=8.206,
delay=0.514, dispersion=21.595, jitter=3.456,
reftime=d96b0c49.2c834d26 Tue, Aug 4 2015 12:02:49.173,
org=d96b175c.d472ead9 Tue, Aug 4 2015 12:50:04.829,
rec=d96b175c.d2bf9803 Tue, Aug 4 2015 12:50:04.823,
xmt=d96b175c.d284b95f Tue, Aug 4 2015 12:50:04.822,
filtdelay= 0.90 0.86 0.51 0.87 0.80 0.82 0.85 0.88,
filtoffset= 7.09 5.23 8.21 6.78 2.73 8.43 1.93 9.67,
filtdisp= 15.63 17.56 19.48 21.39 23.32 25.24 27.18 29.08
[an error occurred while processing this directive]
이렇게 하면 동기화가 예상대로 발생할 수 있습니다.
ntpq> associations
ind assID status conf reach auth condition last_event cnt
===========================================================
1 53519 9014 yes yes none reject reachable 1
2 53520 9614 yes yes none sys.peer reachable 1
[an error occurred while processing this directive]
CLI에서 이 정보를 확인할 수도 있습니다.
ise14/admin# show ntp
Configured NTP Servers:
10.62.145.72
synchronised to NTP server (10.62.145.72) at stratum 2
time correct to within 80 ms
polling server every 128 s
remote refid st t when poll reach delay offset jitter
==============================================================================
127.127.1.0 .LOCL. 10 l 15 64 377 0.000 0.000 0.000
*10.62.145.72 .LOCL. 1 u 26 128 377 0.514 8.206 3.456
* Current time source, + Candidate , x False ticker
Warning: Output results may conflict during periods of changing synchronization.
[an error occurred while processing this directive]
추가 문제
이전 Microsoft Windows Server 버전 중 일부는 기본 NTP 설정이 다를 수 있습니다.Cisco에서는 이러한 설정이 올바르고 ISE에서 허용되는지 확인하는 것이 좋습니다.다음 레지스트리 설정을 확인합니다.
- NTP 서버를 활성화하려면 Enabled(활성화됨) 플래그 값을 1로 변경합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders
\NTPServer\Enabled
[an error occurred while processing this directive]
- 서버 유형을 변경하려면 Type 레지스트리 항목을 NTP로 설정합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
[an error occurred while processing this directive]
- 신뢰할 수 있는 시간 소스를 나타내려면 Announce Flags 레지스트리 항목을 5로 설정합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
\AnnounceFlags
[an error occurred while processing this directive]
VMware 문제
NTP 동기화 문제는 VMware 버그 ID 2075424(ESXi 호스트가 NTP 서버와 시간을 동기화하지 않음)로 인해 발생할 수 있습니다.
이 문제는 다음 패치에서 해결됩니다.
- VMware ESXi 5.5 업데이트 1
- VMware ESXi 5.1 패치 4
- VMware ESXi 5.0 패치 8
관련 정보