사용 가능한 연결을 기반으로 NTP 서버 변경

사용 가능한 연결을 기반으로 NTP 서버 변경

그림을 참조하십시오.

LAN에 두 대의 컴퓨터가 있는데 그 중 하나만 인터넷에 연결되어 있습니다(다른 인터페이스를 통해). 서버 1에는 정크 하드웨어 시계가 있습니다. 서버 2에는 좋은 하드웨어 RTC가 있습니다.

불행하게도 서버 1은 일반적으로 인터넷에 연결되어 있지만 좋은 하드웨어 RTC를 갖춘 서버는 그렇지 않습니다. 따라서 인터넷 연결 상태에 따라 서버 1이 가장 정확하거나 매우 불안정합니다.

두 시스템이 긴밀하게 동기화된 상태를 유지하는 것이 중요합니다.

각 시스템의 계층을 자동으로 조정하여 시스템이 시나리오 1에서 시나리오 2로 자동으로 실패하도록 할 수 있습니까?

시나리오 1 및 시나리오 2

답변1

첫째, 계층 구조에 대한 액세스가 허용될 가능성이 거의 없습니다.1Stratum 1 서버 관리자가 귀하를 알고 명시적으로 그렇게 할 수 있는 권한을 부여하지 않는 한 서버. 하지만 이 답변에서는 서버 계층이 중요하지 않으므로 명확성을 위해 이 시스템을 "하위 계층" 서버라고 하겠습니다.

server2에서가 아닌 하위 수준 서버에서 시간을 가져오도록 구성해야 합니다 server1. 이렇게 하려면 서버의 인터넷 링크에 액세스할 수 있어야 합니다(적어도 NTP의 경우) server1. server2하위 수준 서버에 연결할 수 있는 인터넷 링크가 없는 경우 server1루트로 다음 명령을 실행하여 이를 허용할 수 있습니다.

iptables -A FORWARD -s server2 -p udp --dport 123 -j ACCEPT
iptables -A FORWARD -s server2 -p tcp --dport 123 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

처음 두 줄은 호스트의 NTP 트래픽을 허용합니다.server2 오직. 참고: TCP 연결이 필요한지 100% 확신할 수는 없지만 문제가 되지는 않습니다. -d lowstratumserver이 컴퓨터가 다른 서버(낮은 수준의 서버만)에 액세스할 수 없도록 이 두 줄을 추가할 수도 있습니다 . 다음 줄은 설정된 연결의 반환 트래픽을 허용합니다. 네 번째 줄은 네트워크 주소 변환을 활성화합니다. 마지막 줄은 IP 패킷 전달을 활성화합니다. 이제 server1(최소) 라우터가 생겼습니다.

server2기본 라우터 가 없으면 하위 server1수준 서버에 대한 명시적 경로도 추가해야 합니다.

ip route add lowstratumserver via server1

이는 네트워크 연결을 위한 라우터 server2역할을 하고 다른 모든 것에는 일반 라우터 역할을 합니다.server1lowstratumserver

그런 다음 구성에서는 server2대신 인터넷의 하위 수준 서버를 NTP 소스로 사용합니다 server1.

마지막으로 인터넷 대신 Stratum 1 서버 server1에 연결되도록 구성합니다 .server2

이제 server2대신 인터넷의 하위 수준 서버와 동기화되며 장애 조치 설정을 추가하지 않고도 server1항상 server1동기화 됩니다 server2(기껏해야 취약함).

이렇게 하면 추가 홉으로 인해 정확도가 약간 떨어지지만, 품질이 낮은 RTC를 사용하는 시스템보다 로컬 네트워크의 시스템을 좋은 하드웨어 RTC를 사용하는 시스템과 동기화하는 것이 항상 더 좋습니다.

관련 정보