なぜntpdは非常に多くのポート/アドレスをリッスンするのですか?


18

私はしばらくこれに気づきましたが、私には何の意味もありません:

なぜntpd非常に多くのアドレスでリッスンする必要があるのですか?

たとえば、Debianマシン:

$ netstat
Proto Local Address Foreign Addressプログラム名
udp 0.0.0.0:123 0.0.0.0:* ntpd
udp 127.0.0.1:123 0.0.0.0:* ntpd
udp [LAN]:123 0.0.0.0:* ntpd
udp [IPv4]:123 0.0.0.0:* ntpd
udp6 ::: 123 ::: * ntpd
udp6 :: 1:123 ::: * ntpd
udp6 [リンクローカル] ::: * ntpd
udp6 [IPv6] ::: * ntpd

この(編集済み)netstatリストはnptd、IPv4およびIPv6のブロードキャスト、ローカル、LAN、およびグローバルアドレスでリッスンしていることを示しています。

なぜntpdそんなに乱交ですか?

回答:


15

私からは、このページの読み込み、NTPがINADDR_ANYの使用していないように見える0.0.0.0一部が、セキュリティ上の理由から、そして部分的に認証上の理由から、専用のアドレスを。

最初のポート123は1024未満であるため、特権ポートと見なされ、ルートのみがそのポートにバインドできます。Ntpは通常、起動後に特権を削除するように設定されています。私がメールリストから理解していることと、特権がドロップされた記事から、123の正しいソースポートから返信するソケットを開くことができないため、ntpは割り当てられたアドレスごとにソケットを開いてから特権をドロップします。

私が読んだことから、ntpの認証メカニズムのいくつかは、基本的に送信元ポートと宛先ポートが123であることを必要とし、それ以外は何もしません。

問題は完全に明確ではありません。ワイルドカードアドレス に関するセクションを参照してください0.0.0.0、それは何らかの理由でntpdによって開かれますが、開発者が完全に確信していない特別なまれなケースを除いて、コメントから実際に使用すべきではありませんが、 t何かを壊した場合に備えて、ソケットを削除したい。

送信者の要求されたアドレスとは異なるアドレスに返信パケットを送信するなど、多くの問題があるため、通常はntpdはワイルドカードアドレスでパケットを受け入れないことに注意してください。DannyMayer-2009年4月27日

あなたの質問に対する主な答えは、上記のコメントにあると思います。


16

それはまったく無差別ではありません。これは、ipv4プロトコルとipv6プロトコルの両方で、インターフェースIPアドレスとローカルホストにバインドするだけです。それらのいくつかをリッスンするべきではないと思う場合listenは、マニュアルで説明されているように設定を変更してください(これは、使用している別のバージョンの場合があります)。

 listen on address
         Specify a local IP address or a hostname the ntpd(8) daemon
         should listen on. If it appears multiple times, ntpd(8) will
         listen on each given address. If the exact string '*' is given as
         an address, ntpd(8) will listen on all local addresses. Other-
         wise, address can be followed by an asterisk ('*') and a UDP port
         number to listen on instead of the default 123. ntpd(8) does not
         listen on any address by default. For example:

               listen on *
               listen on 127.0.0.1
               listen on ::1

いくつかの他のバージョンでは、にオプションを変更する必要がありますntpd(のようなオプションを聞くに何のプロトコル/インターフェースに変更するデーモン自体-4-6-I


1
フェリスアノノボ!
user9517はGoFundMonicaを

1
これは本当に質問に答えるとは思わない。質問は基本的に、INADDR_ANY他のほとんどすべてのプロトコルのように使用されていない理由を尋ねていると思います。私の答えでの記事の私のリンクは、それが一部のセキュリティ機能であること、それを明確にするようで、一部の方法は、プロトコル、ポート123で応答を期待するデザインです
Zoredache

これは私が知りたかった非常に有用な情報であり、感謝しますが、@ Zoredacheの答えは実際に私が尋ねた質問に答えるので、答えとしてマークしました。しかし、すべてに賛成票を投じます。;)
アブラハムヴェー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.