これはRHEL 5.5にあります。
まず、リモートホストへのntpdateが機能します。
$ ntpdate XXX.YYY.4.21
24 Oct 16:01:17 ntpdate[5276]: adjust time server XXX.YYY.4.21 offset 0.027291 sec
次に、/ etc/ntp.confのサーバー行です。すべてのrestrict
行はトラブルシューティングのためにコメント化されています。
server 127.127.1.0
server XXX.YYY.4.21
service ntpd start
およびntpq
で確認:
$ ntpq
ntpq> peer
remote refid st t when poll reach delay offset jitter
==============================================================================
*LOCAL(0) .LOCL. 5 l 36 64 377 0.000 0.000 0.001
timeserver.doma .LOCL. 1 u 39 128 377 0.489 51.261 58.975
ntpq> opeer
remote local st t when poll reach delay offset disp
==============================================================================
*LOCAL(0) 127.0.0.1 5 l 40 64 377 0.000 0.000 0.001
timeserver.doma XXX.YYY.22.169 1 u 43 128 377 0.489 51.261 58.975
XXX.YYY.22.169は、作業しているホストのアドレスです。 ntp.confファイルのIPアドレスを逆引きして、ntpq出力がリモートサーバーの名前を正しく指定していることを確認します。ただし、ご覧のように、私の.LOCLにロールオーバーするだけです。タイムサーバー。また、ntptrace
はローカルタイムサーバーを返し、ntptrace XXX.YYY.4.21
タイムアウト。
$ ntptrace
localhost.localdomain: stratum 6, offset 0.000000, synch distance 0.948181
$ ntptrace XXX.YYY.4.21
XXX.YYY.4.21: timed out, nothing received
***Request timed out
これは、私のntpデーモンが自分自身を照会しているように見えます。
私のテストネットワークタイムサーバーと企業ネットワークタイムサーバーの間のルーターが制御できないことが、送信元ポートでブロックされている可能性について考えています。 (ntpdateはポート123で送信すると思います。これにより、フィルターが回避され、ntpdの実行中には使用できなくなります。)ネットワーク担当者にメールで確認します。
最後に、 telnet XXX.YYY.4.21 123
タイムアウトしたり、接続を完了したりすることはありません。
質問:
ここで何が欠けていますか?
この接続が失敗している場所を特定するために他に何を確認できますか?
strace ntptrace XXX.YYY.4.21
ntptraceの送信元ポートを表示しますか?ほとんどのstrace呼び出しを分解できますが、そのデータの場所はわかりません。
テストネットワークとタイムサーバーの間のゲートウェイルーターを直接調べることができない場合、これらの切断の原因であるという証拠をどのように作成できますか?あるいは、どうすればそれを除外できますか?
壮大な解決策をお探しの方、お詫び申し上げます。これは安っぽくなるでしょう。
はい、タイムサーバーに到達できません。理由を特定できませんでした。良いニュースは、私がアクセスできる外部DNSサーバーの1つが、NTPパケット自体、およびitは、ティックのためにその外部タイムサーバーに接続しています。これは回避策であり、修正ではありません。しかし、取得できるものを使用します。
つまり、結局のところ、私は1つのサービス層しか失うことはありません。
補足として、私はNTPバグデータベースに登録したので、拡張機能 bug 2297 を書くことができました。ピアのrefids .INIT。、。 LOCL。、およびLOCAL(0)。
reach
列の_377
_は、接続に問題がないことを意味します。 NTPはUDPであるため、telnet
は接続しません。
構成から_server 127.127.1.0
_を削除してみてください。*LOCAL(0)
による_*
_は、層5のローカルサーバーが同期に使用されていることを示しています。層1のリモートサーバーよりも優先されます。遅延とオフセットの両方が0.000であることは、おそらくそれと関係があります。
私は同じ問題を抱えていました:
ntpq -pはリーチ= 0を示していました
まだ1- ntpdが実行されていました2- ntp.confにサーバーがリストされています3- ntpdateはそれらのサーバーを使用して機能しました4- ntpdate -uはそれらのサーバーを使用して機能しました5- ncはTCPポート123が開いていましたサーバー6-ncは、それらのサーバーでUDPポート123が開いていることを示しました
したがって、基本的にntpdateは機能し、ファイアウォールの問題はありませんでしたが、ntpq -pは、リストされた各サーバーのリーチ= 0を示しました。
Ntp.confの制限行であることが判明しました。 ntp.confからすべての制限行を削除してntpdを再起動すると、そこからすべてが機能しました。
ローカルクロックを含める場合は、そのレベルをかなり控えめにします。 5に設定しているようです。通常、少なくとも8(fudge 127.127.1.0 stratum 8
)に設定します。ファッジしないと、ネットワーク上の他のホストからは原子時計のように見えます。スキャンした1つのネットワーク上で、多くの低階層サーバーが時間をアナウンスしているのを発見しました。これは通常、数時間または数日では不正確でした。
Shaneは、サーバーにアクセスできることを示すreach
値については正しいです。タイムサーバーのoffset
とjitter
の値が高い場合は、信頼性があまり高くない可能性があります。サーバーがまだ同期しているため、値が高い可能性があります。 poll
間隔が128に増加したという事実は、サーバーが一貫した結果を得ていることを示しています。 1024秒まで徐々に増加します。
次のようなループを実行してみてください:
while sleep 60; do
ntpq -n -c peers; done
これにより、ntpがどの程度うまく機能しているかがわかります。時間の経過とともに安定するはずです。
リモートでサーバーにアクセスできる情報量を制限するために、ntpd
に設定できるいくつかの制限があります。タイムソースとして上流サーバーのみを使用するように制限されている可能性があります。
送信元と宛先の両方でポート123へのトラフィックを制限するファイアウォールルールが可能です。これにより、NTP設定が機能しますが、他のツールによるアクセスが制限されます。一部のツールでは、利用可能な場合、ポート123をソースポートとして使用できます。デバッグモードでntpdate
を使用することに部分的です。
上流サーバーのrefid
があなたのIPアドレスであることが正しい場合、それは優先タイムソースとしてサーバーを使用しているようです。 restrict noquery
を構成に追加してみてください。上流サーバーの設定が適切でない可能性があります。ルーターやネームサーバーをソースとして追加してみてください。公式の企業サーバーよりも優れたソースになる可能性があります。
私の2セントを上部のGoogle検索結果に追加したかっただけです。NTPがホストの外部インターフェイスにバインドされていないホストでこの問題に遭遇しました。この問題がある場合は、 netstat -tulpn
の出力。
このntpdのインスタンスは、既知の適切なタイムソースと同期できません。
$ Sudo netstat -tulpn | grep ntp
udp 0 0 127.0.0.1:123 0.0.0.0:* 31316/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 31316/ntpd
この意志。
$ Sudo netstat -tulpn | grep ntp
udp 0 0 192.168.1.15:123 0.0.0.0:* 32294/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 32294/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 32294/ntpd
これは、構成ファイルが0.0.0.0ワイルドカードのみを使用してIPv4インターフェースへのバインドを制限しようとした結果です。
$ grep ^interface /etc/ntp.conf
interface listen 0.0.0.0
正しい(望ましい)構成は次のとおりです。
$ grep ^interface /etc/ntp.conf
interface listen ipv4
interface ignore ipv6
(または、両方のインターフェース構成オプションを削除します。)
/etc/sysconfig/ntp
または同等のものをチェックして、インターフェースのバインディングを制限する可能性のある構成がないか確認することもできます。