Wie überschreibe ich die von dhcp in debian gesendeten ntp-Informationen?

9

Ich habe einen Server in einem Netzwerk, von dem alle Netzwerkinformationen empfangen werden DHCP. Das Problem ist, dass das ntp-serverSenden nicht auf UTC eingestellt ist. Ich möchte die Konfiguration für ntpgefunden in verwenden, /etc/ntp.confaber die DHCPInformationen haben Vorrang. Wie kann ich ntpddie Verwendung der Konfiguration im /etc/ntp.confGegensatz zu der von DHCPerzwungenen erzwingen ? Wie geht das Debian?

Ricardo Marimon
quelle
Welchen NTP-Daemon verwenden Sie? Was ist der aktuelle Inhalt Ihrer ntp.conf? Ist das ntpdate-Paket installiert? Welchen DHCP-Client verwenden Sie? Welche Version von Debian?
Zoredache
1
1. Server auf DHCP 2. NTP-Server ist nicht auf UTC o_O "gesetzt"
Chris S
Debian Squeeze, Standard ntp.conf (die nach der Eignungsinstallation ntp kommt)
Ricardo Marimon

Antworten:

7

Ich schlage vor, dass Sie /etc/dhclient.conf bearbeiten / erstellen und die Zeile "request" mit etwas wie diesem auskommentieren:

request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;

Insbesondere wenn "ntp-Server" vorhanden sind, entfernen Sie diese. Bei einigen Distributionen (auch bekannt als Fedora) wird es standardmäßig gesendet, daher müssen Sie diese Zeile explizit einfügen, damit die Standardeinstellung überschrieben wird.

Suchen Sie man dhclient.confnach erweiterten Informationen.

Olivier S.
quelle
Das hat perfekt funktioniert ... gibt es etwas, das man in Debian tun kann, das eher nach / etc / default geht ...
Ricardo Marimon
14

Die Frage nicht direkt zu beantworten, aber das kann nützlich sein.

DHCP-Verhalten

Unter Debian (zumindest) überschreibt der DHCP-Client die vorhandene NTP-Dienstkonfiguration.

Es wird vom Skript gesteuert /etc/dhcp/dhclient-exit-hooks.d/ntp:

[contents from: /etc/dhcp/dhclient-exit-hooks.d/ntp]
NTP_CONF=/etc/ntp.conf
NTP_DHCP_CONF=/var/lib/ntp/ntp.conf.dhcp
...
[hundreds of lines of scripts]

Der DHCP-Client empfängt NTP-Server vom DHCP-Server, ruft die aktuelle NTP-Dienstkonfiguration vom NTP_CONF-Pfad ab und ändert sie, um über DHCP empfangene NTP-Server einzuschließen. Er generiert eine neue NTP-Konfigurationsdatei in den NTP_DHCP_CONF-Pfad und erzwingt schließlich den NTP-Dienst um diese neue Konfigurationsdatei zu verwenden.

Dies führt dazu, dass immer die über DHCP angekündigten NTP-Server verwendet werden. Systemkonfiguration umgehen.

Dies ist schwer zu debuggen, wenn es nicht bekannt ist, da die Dienstkonfiguration in '/etc/ntp.conf' unberührt bleibt und bei der Sichtprüfung korrekt ist. Es wird jedoch tatsächlich ignoriert und heimlich überschrieben.

Sie können 'ntpq -pn' verwenden, um zu debuggen, welche NTP-Server tatsächlich vom Deamon verwendet werden.

Mischen von DHCP-NTP-Optionen und systemspezifischer Konfiguration

Wenn in Ihrem Netzwerk ein NTP-Server vorhanden ist, der von DHCP angekündigt wird, und Sie ihn ignorieren möchten :

Sie müssen den DHCP-Client neu konfigurieren /etc/dhclient.conf, um die ntp-serversDHCP-Option zu überspringen . Siehe die Antwort von @Oliver.

Anschließend können Sie die Systemkonfiguration in anpassen /etc/ntp.conf

Wenn es irgendwann einen von DHCP angekündigten NTP-Server gab, aber nicht mehr :

Die System-NTP-Konfiguration wird möglicherweise immer noch vom DHCP-Client überschrieben, wodurch veraltete NTP-Server erzwungen werden, die vor langer Zeit angekündigt wurden. Dieses DHCP-Überschreiben kann tagelang über ntp service restartund über überleben reboot.

Um dem ein Ende zu setzen, müssen Sie /var/lib/ntp/ntp.conf.dhcpden ntp-Dienst auf allen Ihren Servern entfernen und neu starten.

Letztes Wort

Dies ist alles undokumentiert, unerwartet und schwer zu debuggen. Das hat mir heute ziemlich Kopfschmerzen bereitet, weshalb ich dies hier dokumentiere.

user5994461
quelle
7

Sie können diese Datei auch einfach entfernen: /etc/dhcp/dhclient-exit-hooks.d/ntpanstatt Ihre DHCP-Anfragen zu bearbeiten. Diese Datei erstellt ntp.conf.dhcp.

Falls es ntp.conf.dhcpbei einem vorherigen Start erstellt wurde, müssen Sie es ebenfalls entfernen.

Tuinslak
quelle