두 개의 NTP 서버가 서로 피어링되도록 구성하려고 하는데 제대로 작동하는지 또는 NTP 구성이 올바른지 확인하는 방법을 모르겠습니다. 아래에서는 NTP 서버 구성 방법을 간략하게 설명했습니다.
Server A :
ntp.conf :
restrict default kod nomodify notrap noquery
peer Server B
Server B :
ntp.conf :
restrict default kod nomodify notrap noquery
peer Server A
이 설정에 대해 두 가지 질문이 있습니다.
편집: 질문 1에 설명을 추가했습니다.
ntp.conf
내가 제안한 단순화된 시나리오를 사용하면 두 NTP 서버가 시간을 수정하여 서로의 피어 역할을 하게 됩니까? 가장 간단한 ntp 피어 설정을 찾고 있는데 올바르게 구성했는지 잘 모르겠습니다.- NTP 피어링 구성이 작동하는지 어떻게 확인하나요?
위의 질문을 하는 이유는 대체 설정이 있기 때문입니다. 유일한 변경 사항은 해당 설정을 섹션 nopeer
에 다시 추가했으며 restrict
두 경우 모두 다음 출력이 반환된다는 것입니다.
Server A:
ntpdc -l
sym_active : Server B
Server B:
ntpdc -l
sym_active : Server A
nopeer
이 지시문을 사용하여 두 서버를 함께 연결할 수 없으므로 이는 의미가 없습니다 .
참고: 이는 CentOS 6에서 실행됩니다.
편집: 요청한 대로 실제 ntp.conf 파일 및 ntpq -p. 이것이 얼마나 유용한지 잘 모르겠습니다.
Server A:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap noquery
restrict -6 default kod nomodify notrap noquery
restrict 127.0.0.1
restrict -6 ::1
peer 192.168.122.3
Server B:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap noquery
restrict -6 default kod nomodify notrap noquery
restrict 127.0.0.1
restrict -6 ::1
peer 192.168.122.2
각 서버에 대해 5분(폴링 간격 초과) 후 ntpq -p의 출력은 다음과 같습니다.
Server A:
remote refid st t when poll reach delay offset jitter
==============================================================================
secure.jzhu.loc .INIT. 16 u 55 64 0 0.000 0.000 0.000
Server B:
remote refid st t when poll reach delay offset jitter
==============================================================================
masterdns.jzhu. .INIT. 16 u 33 64 0 0.000 0.000 0.000
참고: 도달 범위는 nopeer 지시문에 관계없이 항상 0으로 유지됩니다. 둘 다 레이어 16 서버이기 때문에 그럴 가능성이 더 높습니다. 참고: 이 테스트는 iptables -F run을 사용하여 수행되었으며 체인 INPUT의 기본 정책은 ACCEPT입니다.
답변1
아니요, 작동하지 않습니다. NTP에는 유효한 시간 소스가 필요합니다. 동기화되지 않은 호스트는 유효한 소스가 아니므로 두 개의 동기화되지 않은 호스트가 서로 유효할 수 없습니다. 실제로 NTP의 아이디어는 여러 컴퓨터를 서로 동기화하려고 하는 것이 아니라 "올바른" 시간을 할당하는 것입니다.
실시간 소스가 전혀 없다면 NTP에 거짓말을 해서 시스템의 시계 중 하나를 신뢰할 수 있다고 말할 수 있습니다. 서버를 "올바른" 서버로 선택하고현지의시계에. 이 시계는 이 서버의 NTP 소스가 되며 다른 서버는 이에 동기화됩니다.
서버 A의 시계를 사용하려면 ntp.conf에 다음을 포함해야 합니다.
server 127.127.1.1 # local clock trusted
fudge 127.127.1.1 stratum 10 # Real clocks should be preferred
우리는 서버에 시계를 사용하라고 지시하고 그것이 레벨 10 시계인 것처럼 가장합니다. 이는 서버 A가 동기화되어 레이어 11 서버가 되어야 함을 의미합니다. 그런 다음 B를 가리키면 동기화됩니다.
서버 B의 ntp.conf
server A
그게 다야. 실행 ntpq -p
하여 동기화를 확인하세요.