Linux와 동기화할 수 있는 NTP 서버로 Windows 서버 구성

시간 동기화가 중요해!



Windows 서버를 NTP 서버로 설정하면 Linux에서 자주 동기화되겠죠?이런 사람들을 위해 순서를 정리했다.

컨디션

  • 외부 NTP 서버: ntp.jst.mfeed.ad.jp (210.173.160.87)
  • 내부 NTP 서버: 192.168.0.1(Windows Server 2012 R2)
  • 내부 NTP 클라이언트: 192.168.0.23(CentOS 7.x)
  • ※ Active Directory 환경에서는 FSO(PDC 시뮬레이터)가 있는 도메인 컨트롤러와 다른 도메인 컨트롤러가 기본적으로 Linux에서 시작할 때 동기화할 수 있습니다.Windows Server 2016을 확인합니다.
    시간 동기화 프로세스
    외부 NTP ← 내부 NTP ←(Linux, Windows, 라우터 등 NTP 클라이언트)
    ※ NTP 프로토콜 통신이 가능하도록 방화벽 등 별도 설치 허가 필요

    NTP 설정


    레지스트리를 편집합니다.
    ntp.reg
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
    "NtpServer"="ntp.jst.mfeed.ad.jp,0x8"
    "Type"="NTP"
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
    "LocalClockDispersion"=dword:00000000
    "AnnounceFlags"=dword:00000005
    "MinPollInterval"=dword:00000006
    "MaxPollInterval"=dword:0000000a
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
    "Enabled"=dword:00000001
    
    Parameters - NtpServer
    외부 NTP 서버를 설명합니다.0x8 플래그를 지정하여 RFC 기반 Min/MaxPoll Interval을 사용합니다.많이 쓰려면 공백 구분자를 사용하십시오.
    기본값: time.windows.com,0x9
    Parameters - Type
    유형을 NTP로 설정
    기본값: NTP(AD 환경에서 NT5DS)
    Config - LocalClockDispersion
    0x0을 지정합니다.
    기본값: 0xa
    Config - AnnounceFlags
    권위 있는 시간 서버를 대표하는 0x5를 지정합니다.
    기본값: 0xa
    Config - MinPollInterval
    0x6(2의 6 차 = 64초)을 지정합니다.Linux의 ntpdminpoll 값는 기본적으로 6입니다.ntpd의minpoll 값을 변경하면 조정이 필요할 수 있습니다.
    기본값: 0xa(AD 환경에서 0x6)
    Config - MaxPollInterval
    0xa(2의 10차 = 1024초)를 지정합니다.Linux의 ntpdmaxpoll 값는 기본적으로 10입니다.ntpd의 maxpoll 값을 변경했을 때 조정이 필요할 수 있습니다.
    기본값: 0xf(AD 환경에서 0xa)
    TimeProviders\NtpServer - Enabled
    NTP 서버를 유효하게 하려면 0x1을 지정합니다.
    기본값: 0x0(AD 환경에서는 0x1)
    ※ 각 기본값이 환경을 검증하는 Windows Server 2008R2인 경우.추후 윈도 서버 2016에서 확인한 내용도 일부 달랐다.

    서비스 설정


    시작 설정을 실행하고 자동으로 시작합니다.
    ※ AD 환경에서는 기본적으로 자동 부팅, 부팅 설정 필요 없음
    sc config w32time start= auto
    
    등록표 변경을 반영하기 위해 서비스를 다시 시작합니다.
    sc stop w32time && sc start w32time
    

    NTP 작업 확인(Windows 서버)


    w32tm 명령을 통해 확인합니다.
    >w32tm /query /status /verbose
    閏インジケーター: 0 (警告なし)
    階層: 3 (二次参照 - (S)NTP で同期)
    精度: -6 (ティックごとに 15.625ms)
    ルート遅延: 0.1221313s
    ルート分散: 0.8496165s
    参照 ID: 0xD2ADA057 (ソース IP:  210.173.160.87) ← ソースIPが表示されていればOK
    最終正常同期時刻: 2015/11/20 16:22:11
    ソース: ntp.jst.mfeed.ad.jp,0x8
    ポーリング間隔: 7 (128s)
    
    フェーズ オフセット: -0.0090275s
    クロック レート: 0.0156250s
    State Machine: 1 (保留)
    タイム ソース フラグ: 0 (なし)
    サーバーのロール: 576 (高信頼タイム サービス)
    最終同期エラー: 0 (コマンドは正しく完了しました。) ← このメッセージが表示されていればOK
    最終正常同期時刻からの時間: 36.9219284s
    
    상기 상태라면 기본적으로 정상이지만 이 상태에서 잠시 기다리지 않으면 리눅스는 동기화할 수 없다.(보통 w32 time 서비스 재시작 후 약 1~2분)
    소스가 "Local CMOS Clock"인 경우 외부 NTP 서버와 제대로 동기화할 수 없습니다.설정을 확인하고 문제가 없으면 외부 NTT 서버를 변경합니다.

    Linux 설정 및 작업 확인


    구성 파일을 편집합니다.
    /etc/ntp.conf
    server 192.168.0.1 iburst
    
    서비스를 다시 시작하고 ntpq-p 명령을 통해 동기화를 확인합니다.
    # systemctl restart ntpd
    # ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    *192.168.0.23    210.173.160.87   3 u   21   64    1    0.253   42.460   0.517
    ↑
    内部NTPサーバ(192.168.0.23)の先頭にアスタリスクが付いていること
    refidに外部NTPサーバのIPアドレスが表示されていること
    

    반충격 확성기?


    이렇게 하면 서버는 미래와 과거에서 시간 여행을 하지 않을 것이다!

    좋은 웹페이지 즐겨찾기