Lösung 1:
Es ist überhaupt nicht promiskuitiv. Es bindet sich nur an die IP-Adressen der Schnittstelle und den lokalen Host, sowohl bei IPv4- als auch bei IPv6-Protokollen. Wenn Sie der Meinung sind, dass einige davon nicht überwacht werden sollten, ändern Sie einfach den listen
config wie im Handbuch erklärt (dies kann für eine andere Version gelten, die Sie verwenden):
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
In einigen anderen Versionen müssen Sie die Optionen auf ntpd
ändern Daemon selbst, um zu ändern, welche Protokolle/Schnittstellen überwacht werden sollen (Optionen wie -4
, -6
, -I
)
Lösung 2:
Aus meiner Lektüre dieser Seite scheint es, dass ntp den INADDR_ANY 0.0.0.0
nicht verwendet Adresse ausschließlich teils aus Sicherheitsgründen, teils aus Authentifizierungsgründen.
Der erste Port 123 liegt unter 1024 und wird daher als privilegierter Port betrachtet, und nur Root kann sich an diesen Port binden. Ntp ist normalerweise so eingestellt, dass es die Berechtigungen nach dem Start verwirft. Nach dem, was ich aus den Maillisten und dem Artikel verstehe, kann nach dem Löschen der Berechtigungen kein Socket geöffnet werden, um vom korrekten Quellport 123 zu antworten. Daher öffnet ntp Sockets für jede zugewiesene Adresse, bevor Berechtigungen gelöscht werden.
Nach dem, was ich gelesen habe, erfordern einige der Authentifizierungsmechanismen für ntp im Grunde, dass der Quell- und Zielport 123 sind und sonst nichts.
Die Sache ist nicht ganz klar. Siehe den Abschnitt über die Wildcard-Adresse 0.0.0.0
, es wird aus irgendeinem Grund von ntpd geöffnet, aber aus den Kommentaren sollte es eigentlich nie verwendet werden, außer in einigen seltenen Sonderfällen, bei denen sich die Entwickler nicht ganz sicher sind, aber sie wollen den Socket nicht entfernen, nur für den Fall, dass sie etwas kaputt machen.
Beachten Sie, dass ntpd normalerweise keine Pakete an den Wildcard-Adressen akzeptieren sollte, da es eine Reihe von Problemen gibt, wenn Sie dies tun, einschließlich des Sendens von Rückpaketen an eine andere Adresse als die angeforderte Adresse des Absenders. DannyMayer - 27. April 2009
Ich denke, die Hauptantwort auf Ihre Frage ist im obigen Kommentar hier.