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
サーバーシステムがシステムのローカルクロックをタイムソースとして信頼するには、2つのオプションがあります。
- 最新のアプローチは、マルチキャストサーバー上のファイルにキーワードを指定することです
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タイムソースを追加するときに偽のソースを削除する必要があることを覚えておく必要がないためです。