ネットワーク内にDHCP
からすべてのネットワーク情報を受信するサーバーがあります。問題は、送信されるntp-server
がUTCに設定されていないことです。 /etc/ntp.conf
にあるntp
の設定を使用したいのですが、DHCP
情報が優先されます。 ntpd
から送信された構成ではなく、DHCP
に/etc/ntp.conf
の構成を使用するように強制するにはどうすればよいですか?これを行うDebian
方法は何ですか?
/etc/dhclient.confを編集/作成し、次のような行で "request"行のコメントを外すことをお勧めします。
request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, Host-name;
特に、「ntp-servers」が存在する場合は削除してください。一部のディストリビューション(別名Fedora)では、デフォルトで送信されるため、この行を明示的に指定して、デフォルトがオーバーライドされるようにする必要があります。
小切手 man dhclient.conf
は拡張情報です。
質問に直接答えることはできませんが、それは役に立ちます。
Debianでは(少なくとも)DHCPクライアントが既存のntpサービス構成を上書きしています。
スクリプト/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]
DHCPクライアントはDHCPサーバーからntpサーバーを受信し、NTP_CONFパスから現在のntpサービス構成を取得し、dhcp経由で受信したntpサーバーを含めるように変更し、新しいntp構成ファイルをNTP_DHCP_CONFパスに生成し、最後にntpサービスを強制しますこの新しい構成ファイルを使用します。
これにより、dhcp経由でアドバタイズされるntpサーバーが常に使用されます。システム構成をバイパスします。
'/etc/ntp.conf'のサービス構成は変更されず、目視検査では正しいため、これが不明な場合はデバッグが困難です。ただし、実際には無視され、ステルスで上書きされます。
「ntpq -pn」を使用して、デーモンが実際に使用しているntpサーバーをデバッグできます。
IS DHCPによってアドバタイズされているネットワーク内のntpサーバーがあり、それを無視したい場合:
/etc/dhclient.conf
dhcpオプションをスキップするには、ntp-servers
でdhcpクライアントを再構成する必要があります。 @Oliverからの回答を参照してください。
次に、/etc/ntp.conf
でシステム構成をカスタマイズできます
ある時点でDHCPによってアドバタイズされたが、もうではないntpサーバーがあった場合:
システムのntp設定はdhcpクライアントによって上書きされる可能性があり、古くから宣伝されている古いntpサーバーを強制します。このdhcpの上書きは、ntp service restart
とreboot
をまたいで数日間存続できます。
それを終わらせるには、/var/lib/ntp/ntp.conf.dhcp
を削除し、すべてのサーバーでntpサービスを再起動する必要があります。
これはすべて文書化されておらず、予期せぬ動作であり、動作のデバッグは困難です。それが今日私にかなりの頭痛を引き起こしました、それが私がここでこれを文書化している理由です。
このファイルを削除することもできます:/etc/dhcp/dhclient-exit-hooks.d/ntp
、DHCP要求を編集する代わりに。このファイルはntp.conf.dhcp
。
万一に備えて ntp.conf.dhcp
は前回の起動時に作成されました。必ず削除してください。