Menu Close

30.2. 서버에서 NTP(Network Time Security) 활성화

자체 NTP(Network Time Protocol) 서버를 실행하는 경우 서버 NTP(Network Time Security) 지원을 활성화하여 클라이언트가 안전하게 동기화하도록 할 수 있습니다.

NTP 서버가 다른 서버, 즉 Stratum 1 서버인 경우 동기화에 NTS 또는 대칭 키를 사용해야 합니다.

사전 요구 사항

  • PEM 형식의 서버 개인 키
  • 필요한 중간 인증서가 있는 서버 인증서 PEM 형식

절차

  1. chrony.conf에 개인 키와 인증서 파일을 지정합니다.

    For example:
    ntsserverkey /etc/pki/tls/private/foo.example.net.key
    ntsservercert /etc/pki/tls/certs/foo.example.net.crt
  2. 그룹 소유권을 설정하여 chrony 시스템 사용자가 키와 인증서 파일을 모두 읽을 수 있는지 확인합니다.

    For example:
    chown :chrony /etc/pki/tls/*/foo.example.net.*
  3. the ntsdumpdir /var/lib/chrony 지시문이 chrony.conf 에 있는지 확인합니다.
  4. chronyd 서비스를 다시 시작하십시오.

    systemctl restart chronyd
    중요

    서버에 방화벽이 있는 경우 NTP 및 Network Time Security-Key Establishment(NTS-KE)에 대한 UDP 123TCP 4460 포트를 모두 허용해야 합니다.

검증

  • 다음 명령을 사용하여 클라이언트 시스템에서 빠른 테스트를 수행합니다.

    $ chronyd -Q -t 3 'server
    
    foo.example.net iburst nts maxsamples 1'
    2021-09-15T13:45:26Z chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
    2021-09-15T13:45:26Z Disabled control of system clock
    2021-09-15T13:45:28Z System clock wrong by 0.002205 seconds (ignored)
    2021-09-15T13:45:28Z chronyd exiting

    시스템 클록 잘못된 메시지는 NTP 서버가 NTS-KE 연결을 수락하고 NTS 보호 NTP 메시지로 응답하고 있음을 나타냅니다.

  • 서버에서 관찰된 NTS-KE 연결 및 인증된 NTP 패킷을 확인합니다.

    # chronyc serverstats
    
    NTP packets received       : 7
    NTP packets dropped        : 0
    Command packets received   : 22
    Command packets dropped    : 0
    Client log records dropped : 0
    NTS-KE connections accepted: 1
    NTS-KE connections dropped : 0
    Authenticated NTP packets: 7

    NTS-KE 연결 값이 0이 아닌 NTP 패킷 필드인 경우 클라이언트가 NTS-KE 포트에 연결하고 인증된 NTP 요청을 보낼 수 있었습니다.