로컬로 격리된 ntpd 업데이트 시간을 강제하는 방법

로컬로 격리된 ntpd 업데이트 시간을 강제하는 방법

목적

로컬로 격리된 호스트가 있었습니다. 모두가 같은 시간을 보냈으면 좋겠습니다. 하나는 시간 서버 역할을 맡고 다른 하나는 클라이언트로 동기화됩니다.

모든 기계에는 산발적인 가동 시간이 있습니다. 전원이 거의 공급되지 않습니다. 그래서 그들은 상당한 상쇄를 얻을 수 있었습니다. 서버 로컬 시간을 수동으로 설정한 후 몇 분 내에 설정된 전체 호스트가 동기화되어야 합니다.

신뢰성을 확인하기 위해 대규모 수동 조정(몇 시간)을 설정하여 ntp 호스트 연결을 테스트하고 클라이언트 동기화 속도를 측정했습니다.

ntpd-ntpd 케이스

사용해 보았는데ntpd클라이언트뿐만 아니라 서버에도 마찬가지입니다.ntpd시계를 조정하는 데 시간이 매우 오래 걸립니다. 게다가 시간을 몇 시간 되돌리는 것도 거부합니다.

고칠 수 있다면 사용하는 것을 선호합니다ntpd클라이언트로서. 그래서 저는 ntpd가 네트워크 시계 업데이트를 적극적으로 받아들이도록 암시하는 구성 옵션을 찾고 있습니다.

하지만 채용할 방법이 없다면ntpd,ntpdate대안은 여전히 ​​​​받아들일 수 있습니다.

ntpd - ntpdate 케이스

ntpdate주저없이 시계를 완벽하게 업데이트합니다. 나는 그것을 cron 작업에 넣었고 거칠지만 작동하는 솔루션을 얻었습니다. 아쉽게도 첫인상은 틀렸습니다. 여러 번의 테스트 끝에 나는 다음과 같은 사실을 발견했습니다.ntpdate클라이언트가 서버를 거부하기 시작했습니다. 어떤 이유로 서버는 Stratum 16을 반환하기로 결정했습니다 fudge 127.127.1.0 stratum 8.ntp.conf이 정확한 동작을 피하기 위해 서버 측에서. 하지만ntpdate -v -d출력에는 서버에서 전송된 "stratum 16"이 표시됩니다.

그래서 저는 두 가지 방법을 봅니다. 강요하거나ntpd서버는 현지 시간에 관계없이 스트라텀 9를 반환하거나 강제로ntpdate클라이언트는 Stratum 16이 있더라도 모든 서버를 수락합니다.

나는 어느 쪽이든 구글을 시도했지만 아무것도 찾지 못했습니다. 누구든지 적절한 구성 옵션을 제안할 수 있습니까?

답변1

ntpd모두에게 하나의 시간 서버를 사용하십시오 . 매일 재부팅되는 모든 PC는 명령을 통해 시작 시 시계를 동기화할 수 있습니다 ntpdate. 다른 서버의 시계는 ntpd시간을 부드럽게 조정하기 때문에 서비스 별로 동기화할 수 있습니다 .

기본 ntpd시간 서버 사용의 경우:

server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 2
driftfile /var/lib/ntp/ntp.drift
restrict default nomodify notrust
restrict 127.0.0.0/8
disable auth
logfile /var/log/ntp.log

답변2

나의 주요 제안: 이렇게 하지 마세요. 시간 소스가 될 수 있는 상시 가동 시스템을 갖거나 시스템이 격리되지 않고글로벌 NTP 풀, 아니면 둘다.

요즘에는 GPS 수신기가 포함된 저전력 NTP 서버를 매우 저렴하게 구입할 수 있습니다. DIY를 좋아한다면 BeagleBones와 Raspberry Pi를 US$100 미만의 비용으로 NTP 서버로 만들 수 있고, 기성 제품을 원한다면 다음을 시도해 보세요.레오NTP.

다음 제안: ntpd시계를 업데이트하는 데 시간이 오래 걸리는 경우 구성을 확인해야 할 수 있습니다.

  1. -G명령줄 플래그를 사용하고 있는지 확인하세요 . -g일부 Linux 배포판에서는 기본값이지만 뒤로 큰 단계를 수행하지는 않습니다.
  2. 모든 서버/풀이 로 구성되어 있는지 확인하세요 iburst.
  3. 큰 오프셋을 수정하는 의 기능을 최대화하려면 tinker step 0.5및 를 사용하십시오 .tinker panic 0ntpd
  4. 드리프트 파일이 쓰기 가능 ntpd하고 종료 시 올바르게 저장되는지 확인하세요.

세 번째 제안(보다 선호함 ntpdate): try chrony- 가끔씩 연결되는 클라이언트(예: 정기적으로 일시 중지되는 랩톱)를 명시적으로 지원합니다. 매뉴얼 chrony.conf(5)페이지에는 이에 대한 모든 세부 정보가 있습니다. chrony기본값인 배포판(CentOS/Red Hat, 18.04 이후 Ubuntu)을 사용하고 있다면 이것이 아마도 두 번째 제안일 것입니다.

마지막 제안: ntpdate서버를 Stratum 16으로 보고하는 경우 해당 서버에 문제가 있음을 의미합니다. 진단에 도움이 될 수 있도록 서버 구성과 및 출력을 게시해 보세요 ntpq -np.ntpq -nc rv

관련 정보