時間を同期させるためにntpd(4.2.8p10)を使用するいくつかの組み込みデバイスがあります。私たちの顧客の1人が内部ネットワークで独自のNTPサーバーを使用しています。 ntpd -dgq デバッグモードでサーバーに接続でき、オフセット、レイテンシ、ジッタ情報を取得できることを確認します。しかし、ntpdはntpd:サーバーが見つかりません「そして絶対現地時間を選択して設定しないでください。
2 Nov 11:57:05 ntpd[20218]: ntpd [email protected] Thu Jul 26 19:52:20 UTC 2018 (2): Starting
2 Nov 11:57:05 ntpd[20218]: Command line: ntpd -dgq
2 Nov 11:57:05 ntpd[20218]: proto: precision = 2.000 usec (-19)
Finished Parsing!!
restrict: op 1 addr 0.0.0.0 mask 0.0.0.0 mflags 00000000 flags 000005f0
restrict: op 1 addr 127.0.0.1 mask 255.255.255.255 mflags 00000000 flags 00000000
restrict source template mflags 4000 flags 1c0
restrict: op 1 addr (null) mask (null) mflags 00004000 flags 000001c0
move_fd: estimated max descriptors: 1024, initial socket boundary: 16
2 Nov 11:57:05 ntpd[20218]: Listen and drop on 0 v4wildcard 0.0.0.0:123
2 Nov 11:57:05 ntpd[20218]: Listen normally on 1 lo 127.0.0.1:123
restrict: op 1 addr 127.0.0.1 mask 255.255.255.255 mflags 00003000 flags 00000001
2 Nov 11:57:05 ntpd[20218]: Listen normally on 2 eth1 192.168.168.109:123
restrict: op 1 addr 192.168.168.109 mask 255.255.255.255 mflags 00003000 flags 00000001
2 Nov 11:57:05 ntpd[20218]: Listen normally on 3 wlan0 192.168.100.1:123
restrict: op 1 addr 192.168.100.1 mask 255.255.255.255 mflags 00003000 flags 00000001
2 Nov 11:57:05 ntpd[20218]: Listening on routing socket on fd #27 for interface updates
key_expire: at 0 associd 60163
peer_clear: at 0 next 1 associd 60163 refid INIT
restrict: op 1 addr 10.160.129.161 mask 255.255.255.255 mflags 00004000 flags 000001c0
restrict_source: 10.160.129.161 host restriction added
event at 0 10.160.129.161 8011 81 mobilize assoc 60163
newpeer: 192.168.168.109->10.160.129.161 mode 3 vers 4 poll 6 10 flags 0x101 0x1 ttl 0 key 00000000
event at 0 0.0.0.0 c016 06 restart
peer_xmit: at 1 192.168.168.109->10.160.129.161 mode 3 len 48 xmt 0xe52bde52.ddf3c87c
auth_agekeys: at 1 keys 0 expired 0
event at 1 10.160.129.161 8014 84 reachable
clock_filter: n 1 off 30.082946 del 0.048598 dsp 7.945314 jit 0.000002
peer_xmit: at 3 192.168.168.109->10.160.129.161 mode 3 len 48 xmt 0xe52bde54.ddf0a416
clock_filter: n 2 off 30.083616 del 0.047583 dsp 3.949228 jit 0.000670
peer_xmit: at 5 192.168.168.109->10.160.129.161 mode 3 len 48 xmt 0xe52bde56.dde968ab
clock_filter: n 3 off 30.078398 del 0.054469 dsp 1.951189 jit 0.004895
peer_xmit: at 7 192.168.168.109->10.160.129.161 mode 3 len 48 xmt 0xe52bde58.dde80026
clock_filter: n 4 off 30.079499 del 0.074539 dsp 0.952172 jit 0.003164
peer_xmit: at 9 192.168.168.109->10.160.129.161 mode 3 len 48 xmt 0xe52bde5a.ddea03c8
clock_filter: n 5 off 30.083616 del 0.044472 dsp 0.452664 jit 0.003340
2 Nov 11:57:16 ntpd[20218]: ntpd: no servers found
END OF FILE
また、バックグラウンドでntpdを実行して使用するときntpq-pntpd 状態を問い合わせます。我々は以下の結果を得た。 st、Delay、Offset、およびリーチはすべて良く見えます。
root@S8P20092901:~# ntpq -c as
ind assid status conf reach auth condition last_event cnt
===========================================================
1 59609 9014 yes yes none reject reachable 1
root@S8P20092901:~# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
10.160.129.161 162.159.200.123 4 u 24 64 377 40.404 -180.122 20.122
ただし、ntpdはntpサーバーをタイムソースとして選択しないか(リモートアドレスの前に「*」または「+」を表示しません)、長い待機後にローカル時間を設定しません。
ソースコードを見ました。 ntpdate(-q)モードを使用しているときにクロックを選択/設定しないと、ntpdは各サーバーに対してすべてのバースト操作を実行した後に終了します。
} else {
peer->burst--;
if (peer->burst == 0) {
/*
* If ntpdate mode and the clock has not been
* set and all peers have completed the burst,
* we declare a successful failure.
*/
if (mode_ntpdate) {
peer_ntpdate--;
if (peer_ntpdate == 0) {
msyslog(LOG_NOTICE,
"ntpd: no servers found");
if (!msyslog_term)
printf(
"ntpd: no servers found\n");
exit (0);
}
}
}
}
しかし、ntpdがサーバーで時間を選択して設定しない理由はまだ理解されていません。助けてくれてありがとう。
ベストアンサー1
これは根本的な分散問題(タイムソースからサーバーへの累積エラー)のようです。
あなたはntpq -nc associations
以下を提供しました:
ind assid status conf reach auth condition last_event cnt =========================================================== 1 59609 9014 yes yes none reject reachable 1
したがって、今必要なのは、この問題がある関連の詳細を表示することです。
ntpq -nc 'readvar 59609'
次のようなものを入手する必要があります(私のNTPサーバーから取得)。
associd=33428 status=142a reach, sel_candidate, 2 events, sys_peer,
srcadr=90.255.244.219, srcport=123, dstadr=192.168.1.18, dstport=123,
leap=00, stratum=1, precision=-20, rootdelay=0.000, rootdisp=1.511,
refid=PPS, reftime=e53ca0fb.4d946a30 Mon, Nov 15 2021 9:03:55.303,
rec=e53ca11e.bf1413cd Mon, Nov 15 2021 9:04:30.746, reach=377,
unreach=0, hmode=3, pmode=4, hpoll=10, ppoll=10, headway=0, flash=00 ok,
keyid=0, offset=-0.249, delay=22.177, dispersion=55.975, jitter=56.489,
xleave=0.088,
filtdelay= 157.46 161.45 169.05 22.18 21.68 21.76 186.40 22.04,
filtoffset= 70.21 70.72 74.51 -0.25 -0.03 -0.26 81.90 -0.34,
filtdisp= 0.00 15.39 31.02 47.04 63.23 79.22 86.97 94.76
価値を見つけてくださいrootdisp
。値が高いとは、時間ソースからここまでのパスエラーが大きすぎることを意味します。他のアップストリームサーバーを使用する以外にできることはあまりありません。 (修正することはできますが、maxdisp
必ずする必要がある場合は、アップストリームサーバーが実際にどれほど安定しているかを尋ねる必要があります。)
引用:
- シスコ——Microsoft Windows での ISE および NTP サーバー同期の失敗のトラブルシューティング(PDF)
- NTP-参照文書
ntpq
- サーバー障害 -NTPはなぜ私のサーバーが不足していると思いますか?