dhcpクライアントへのntp提案の提供に関連してdhcpd
サーバーをセットアップする方法を説明するチュートリアルは非常に多く、私は常にntp
構成が自動的に実行されると思っていました。最近、ローカルネットワークでクロックドリフトが発生し始めたので、これは間違った仮定であったと思います。したがって、dhcpd
を介してntp-server
の提案を設定するための取り組みを実行した場合、ntpクライアント構成を最小化する方法を確認することにしました。
私は、このUbuntu固有のヘルプチュートリアル https://help.ubuntu.com/community/UbuntuTime 以外はあまり見つけることができませんでした。ここでも(「トラブルシューティング->使用している構成ファイル」の段落を参照)情報は不足していますが、/etc/ntp.conf.dhcp
ファイルが見つかった場合は、そのファイルが代わりに使用されると記載されています。まず最初に、ライターがここで意味する実際の場所は/var/lib/ntp/ntp.conf.dhcp
であり、/etc/init.d/ntp
で観察されますが、このファイルの存在は、ntpがdhclient
からサーバーを要求することを保証しません。その結果、ローカルのntpサーバーのntp.conf.dhcp
にserver
句を明示的に追加する必要があります。しかし、その場合、なぜdhcpd
サーバーでntp設定をセットアップするのですか?
これは直感に反するようです。つまり、NTP設定を一度(つまりサーバー上で)セットアップし、dhcpd
サーバーに情報をクライアントに委任させます。どうすればntpのクライアント構成を最小限に抑えることができます(完全に回避しない場合)。または、ntp
を介してdhclient
の情報を取得するにはどうすればよいですか。
すべてのLinuxディストリビューションに適合するCLIソリューションはありますか?
すべてのクライアントがntpd
の実行可能ファイルを持っている必要があると思いますが、そこから先に進む方法がわかりません。
ありがとうございました
編集:手動で実行したときのubuntuクライアントの詳細出力dhclient
:
Sudo dhclient -1 -d -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/20:cf:30:0e:6c:12
Sending on LPF/eth0/20:cf:30:0e:6c:12
Sending on Socket/fallback
DHCPREQUEST of 192.168.112.150 on eth0 to 255.255.255.255 port 67 (xid=0x2e844b8f)
DHCPACK of 192.168.112.150 from 192.168.112.112
reload: Unknown instance:
invoke-rc.d: initscript smbd, action "reload" failed.
RTNETLINK answers: File exists
* Stopping NTP server ntpd
...done.
* Starting NTP server ntpd
...done.
bound to 192.168.112.150 -- renewal in 41963 seconds.
Ntpdサービスが再起動されましたが、その後ntpq -cpe -cas
を実行していますが、ntpサーバーのリストにローカルのntpサーバーが表示されません。
もちろん、dhcpd
サーバーにはoption ntp-servers
があります
subnet 192.168.112.0 netmask 255.255.255.0 {
max-lease-time 604800;
default-lease-time 86400;
authoritative;
ignore client-updates;
option ntp-servers 192.168.112.112; #self
... (many other options)
}
使用しているdhcpサーバーがntp-servers
オプションを提供するように構成されている場合は、ntp-servers
をdhclient.conf
のデフォルトの要求行に追加することにより、dhclientがntp-serversを要求するように構成できます。 Ubuntu Linuxからのこの例の最後に(19.04現在、ただし12.04以降に存在):
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, Host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
/etc/ntp.conf
およびDHCPからの情報を使用して/etc/ntp.conf.dhcp
が作成されます。
Ntpdが存在する場合は、/ etc/ntp.conf.dhcpを使用するように指示する必要があります。私が使用しているUbuntuのバージョンでは、これは/etc/dhcp/dhclient-exit-hooks.d/ntp
を介して行われます。 <-これは、存在する場合は/etc/ntp.conf.dhcp
を使用し、存在しない場合は/etc/ntp.conf
を使用するようにNTPdに指示するファイルです。
chronyd
は今日も使用されていますが、はい、まだNTPプロトコルを使用しています。いくつかのソースを確認する場合があります。
https://docs.Oracle.com/cd/E52668_01/E54669/html/section_zy2_rrf_pp.html
https://wiki.archlinux.org/index.php/Chrony
最後の2をお勧めします。