ネットワーク上のどのデバイスがUNIX NTPサーバーを使用しているかをどうやって確認できますか?

ネットワーク上のどのデバイスがUNIX NTPサーバーを使用しているかをどうやって確認できますか?

私はUnixサーバーを運営しています。NTPDバージョン4.2.7。他のUnixサーバー、カメラ、IOTデバイスなどのネイティブNTPサーバーとして使用するさまざまなクライアントがあります。このUXサーバーがダウンしたときにどのクライアントが影響を受けるかを調べるために、このNTPサーバーを使用するIPのリストを取得したいと思います。以下は、ntpdc -c monlistを実行したときに得られる結果です。これは期待した結果ではありませんが、それをNTPサーバーとして使用するクライアントで予想される結果です。

server# ntpdc -c monlist
***Server reports data not found

みんなありがとうございます。

答え1

この問題に対するクリーンな解決策はありません。 NTP 通信は UDP 経由で行われるため、Stateless であり、確立された接続を確認できません。

時間の経過とともに接続を追跡するために、tcpdump / tsharkフィルタを簡単に作成できます。私は、ネットワークをスニッフィングし、NTPトラフィック、特にクライアントからサーバーへのトラフィックを観察することです。これはNTPクライアントの正確なリストを提供しますが、いつでも照会できるわけではありません。しばらく(または目的に応じて無期限)実行を続ける必要があるプロセス。

対照的に、chronyd(NTPプロトコルの一部も実装しています)は接続されたクライアントを追跡します。これがあなたの状況に合った実行可能な選択肢であれば、問題を解決するのに役立ちます。

答え2

/etc/inet/ntp.conf「モニターを無効にする」行を開き、コメントを追加します。

#disable monitor

その後、ntpを再起動します。

svcadm restart ntp

このntpdc -c monlistコマンドはクライアント接続を表示する必要があります。

関連情報