NTP 멀티캐스트 클라이언트를 설정해야 합니다. 내 구성이 양호한지 확인하기 위해 NTP 멀티캐스트 서버를 설정해 보았습니다.
내 설정:
- Centos 7 가상 머신 2대, 최신
- 나는 virtualbox에서 2개의 가상 머신을 사용하고 있으며 promicius 모드를 사용하여 두 가상 머신을 모두 설정했습니다. 모두 허용
내 질문은 다음과 같습니다
- 서버에서 멀티캐스트 항목은 레이어 16으로 보고됩니다. 레이어는 멀티캐스트와 관련되어 있습니까? 고객이 레벨이 낮다고 거부할까요? 멀티캐스트 서버가 하위 계층을 사용하도록 강제하는 방법은 무엇입니까?
- 내 고객은 그렇지 않은 것 같습니다.바라보다내 서버는 내 키 파일이 동일하고 둘 다 키 1을 신뢰하지만
orphan 지시어를 사용해도 멀티캐스트 주소의 보고 수준이 낮아지지는 않는 것 같습니다.
ntpq -n -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.165.10.2 192.165.10.109 4 u 14 64 377 0.454 2.267 1.479
224.0.1.1 .MCST. 16 u - 64 0 0.000 0.000 0.000
내 클라이언트가 여전히 224.0.1.1 주소에서 서버를 찾을 수 없는 것 같습니다.
서버 VM, 호스트 및 클라이언트 VM을 확인했는데 모두 서버 멀티캐스트 메시지가 표시되었습니다(VM의 경우: tcpdump 사용, 호스트의 경우:wireshark 사용).
클라이언트 측에서 다음을 사용하면 ntpq -n -p
다음이 반환됩니다.
No association ID's returned
클라이언트에서 내 구성 파일에는 주석 처리된 모든 조절 지시문이 있으며 다음과 같은 항목만 있습니다(그리고 드리프트 파일 등과 유사한 몇 가지가 더 있습니다).
multicastclient 224.0.1.1
keys /etc/ntp/keys
trustedkey 1
ntpd 클라이언트 로그는 다음을 제공합니다.
systemd[1]: Starting Network Time Service...
ntpd[11076]: ntpd [email protected] Tue Jun 23 15:38:18 UTC 2020 (1)
systemd[1]: Started Network Time Service.
ntpd[11077]: proto: precision = 0.052 usec
ntpd[11077]: 0.0.0.0 c01d 0d kern kernel time sync enabled
ntpd[11077]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
ntpd[11077]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
ntpd[11077]: Listen and drop on 1 v6wildcard :: UDP 123
ntpd[11077]: Listen normally on 2 lo 127.0.0.1 UDP 123
ntpd[11077]: Listen normally on 3 enp0s3 192.165.10.107 UDP 123
ntpd[11077]: Listen normally on 4 lo ::1 UDP 123
ntpd[11077]: Listen normally on 5 enp0s3 fe80::a00:27ff:fec1:cc1 UDP 123
ntpd[11077]: Listening on routing socket on fd #22 for interface updates
ntpd[11077]: Listen normally on 6 multicast 224.0.1.1 UDP 123
ntpd[11077]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
ntpd[11077]: 0.0.0.0 c016 06 restart
ntpd[11077]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
ntpd[11077]: 0.0.0.0 c011 01 freq_not_set
ntpd[11077]: io_setbclient: Opened broadcast client on interface #3 enp0s3
답변1
계층 16은 구성된 시간 소스에 연결되어 있지 않기 때문에 NTP 서버가 유효한 시간을 믿지 않는다는 것을 의미합니다. ntpd
서버 시스템이 시스템의 로컬 시계를 시간 소스로 신뢰하려면 다음 두 가지 옵션이 있습니다 .
- 최신 접근 방식은 멀티캐스트 서버의 파일에 및 키워드를 지정하는 것입니다
tos orphan
.tos orphanwait
ntp.conf
# If orphaned, serve others with this stratum.
tos orphan 8
# Wait for this many seconds before starting to serve others (default is 300 s)
tos orphanwait 1
- 이전 방법은
ntpd
로컬 시계를 멀티캐스트 서버의 가짜 시간 소스로 사용하도록 지시하는 것입니다. 이 구성실제 NTP 시간 소스와 함께 사용하면 안 됩니다.ntpd
127.127.1.0 가짜 소스(항상 로컬 시계와 정확히 일치함)를 투표할 만큼 충분한 수의 외부 소스가 구성되고 서로 동기화되지 않는 한 실제 NTP 소스 대신 로컬 시계를 신뢰 하게 될 수 있습니다. 시계이므로ntpd
선택 알고리즘에서 지나치게 선호되는 경향이 있습니다).
server 127.127.1.0 iburst
fudge 127.127.1.0 stratum 8
로 시작하는 IP 주소는 127.127.*
특별합니다 ntpd
. 즉, 여기에 내장된 다양한 참조 클럭 드라이버를 나타냅니다 ntpd
.
두 가지 방법 모두 시스템이 레이어 8을 사용하여 NTP를 통해 로컬 비동기 시스템 시계를 기반으로 UTC 시간을 제공하도록 하므로 실제 NTP 시간 소스(= 레이어 7 이하)에 합리적으로 직접 연결된 모든 시스템이 우선적으로 선택되어야 합니다. 이것.
버전이 지원하는 한 최신 방법을 사용하는 것이 좋습니다 ntpd
. 이를 사용하면 시스템에 실제 NTP 시간 소스를 추가할 때 가짜 소스를 제거해야 한다는 것을 기억할 필요가 없기 때문입니다.