본문 바로가기

Windows

도메인 컨트롤러에서 NTP 시간 소스 설정하는 방법

도메인 컨트롤러에서 NTP 시간 소스 설정하는 방법

Active Directory 환경에서 시간 동기화는 매우 중요하다. Primary Domain Controller(PDC)는 주요 시간 권한 서버 역할을 하므로, 네트워크의 모든 시스템이 올바르게 동작하도록 외부 NTP 서버와 정확하게 동기화되어야 한다. 이 글에서는 도메인 컨트롤러에서 NTP 시간 소스를 설정하는 방법을 정리한다.

목차

  • 1단계. PDC Emulator 찾기
  • 2단계. 현재 시간 소스 확인
  • 3단계. VM 게스트 시간 동기화 비활성화
  • 4단계. 외부 NTP 피어 설정
  • 5단계. Windows Time 서비스 다시 시작
  • 6단계. 강제 재동기화
  • 7단계. 새 시간 소스 확인
  • 8단계. 오프셋/드리프트 확인
  • 9단계. 다른 DC와 시간 재동기화
  • 결론

1단계. PDC Emulator 찾기

PDC(Primary Domain Controller) 역할을 가진 서버를 찾는다.

netdom query fsmo

2단계. 현재 시간 소스 확인

PDC에서 현재 시간 동기화 소스가 무엇인지 확인한다.

w32tm /query /source
w32tm /query /peers
w32tm /query /status
w32tm /query /configuration

참고: 하위 도메인에 있다면 루트 도메인의 PDC에서도 이 작업이 필요할 수 있다. 다른 DC에서도 query peers 명령을 실행해서 어떤 서버와 동기화 중인지 확인할 수 있다.

3단계. VM 게스트 시간 동기화 비활성화

Hyper-V, VMware 같은 하이퍼바이저는 게스트 시간 동기화 서비스를 제공하는데, 이 서비스는 W32Time과 경쟁하면서 시계 오차를 유발할 수 있다. W32Time이 유일한 시간 권한이 되어야 한다.

NTP를 구성하기 전에 하이퍼바이저 시간 동기화를 비활성화해서 초기 동기화 중 간섭이 생기지 않도록 한다.

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider" -Name "Enabled" -Value 0

변경 사항을 반영하려면 Windows Time 서비스를 다시 시작해야 한다.

net stop w32time
net start w32time

VMIC Time Provider가 비활성화되었는지 확인한다.

w32tm /query /configuration

출력에서 VMICTimeProviderEnabled 값이 0 (Local)로 표시되어야 한다.

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

4단계. 외부 NTP 피어 설정

Active Directory 환경 전체에서 시간 소스 역할을 하는 서버를 식별했다면, 이제 그 서버에 외부 시간 소스를 사용하도록 설정할 수 있다.

원하는 외부 NTP 서버로 바꾸되, 끝의 0x8 플래그는 반드시 유지해야 한다. 이 플래그가 필요하다.

w32tm /config /update /manualpeerlist:"0.pool.ntp.org,0x8 1.pool.ntp.org,0x8 2.pool.ntp.org,0x8 3.pool.ntp.org,0x8" /syncfromflags:manual /reliable:yes

5단계. Windows Time 서비스 다시 시작

Windows Time 서비스를 중지한다.

net stop w32time

Windows Time 서비스를 시작한다.

net start w32time

6단계. 강제 재동기화

새 소스에서 시간을 다시 동기화한다.

w32tm /resync /rediscover

시스템 시간이 많이 어긋난 상태라면 다음 명령을 사용한다.

w32tm /resync /force

7단계. 새 시간 소스 확인

시간이 NTP 서버에서 들어오는지 확인하려면 시간 소스 정보를 점검한다.

w32tm /query /source
w32tm /query /peers
w32tm /query /status
w32tm /query /configuration

8단계. 오프셋/드리프트 확인

외부 서버와의 시간 차이를 확인할 수 있으며, 결과에는 초 단위 오프셋이 표시된다.

w32tm /stripchart /computer:pool.ntp.org

출력 5개만 받고 데이터만 보려면 다음을 사용한다.

w32tm /stripchart /computer:pool.ntp.org /samples:5 /dataonly

9단계. 다른 DC와 시간 재동기화

시간이 도메인 전체에 전파되도록 기다린다. 다른 DC와 클라이언트는 AD 계층을 통해 자동으로 동기화되어야 한다.

다른 DC에서는 수동으로 동기화를 강제할 수 있다.

w32tm /resync

여기까지다.

참고: 반드시 Active Directory Health Check PowerShell script를 실행해서 전체 구성이 올바른지 확인하자. 이 테스트 중 하나는 PDC에 NTP 시간 소스가 설정되어 있는지 확인한다.

추가로 읽어볼 글: 도메인 컨트롤러의 IP 주소 변경 방법

결론

도메인 컨트롤러에서 NTP 시간 소스를 설정하는 방법을 살펴봤다. Primary Domain Controller(PDC)는 전체 네트워크의 주요 시간 소스이므로 외부 NTP 서버와 동기화된 상태를 유지해야 한다. 시간이 정확하지 않으면 사용자가 로그인하지 못하거나 서버와 서비스 간 통신이 실패할 수 있다.

이 글이 도움이 되었는가? 기존 도메인에 도메인 컨트롤러 추가하기도 함께 볼 수 있다. 이 글이 마음에 들었다면 팔로우하고 공유해도 좋다.

출처

작성 방식

  • 이 글은 원문을 한국어로 번역·정리했으며, AI를 활용했다.