bagaimana Anda mengatur klien linux untuk menggunakan informasi ntp yang disediakan melalui dhcp?


18

ada begitu banyak tutorial di luar sana yang menjelaskan cara men-setup dhcpdserver, dalam kaitannya dengan memberikan saran ntp kepada klien dhcp, yang saya selalu berpikir bahwa ntpkonfigurasi dilakukan secara otomatis. Baru-baru ini saya mulai melihat drift jam di jaringan lokal saya, jadi saya menganggap ini adalah asumsi yang salah. Jadi saya berangkat untuk melihat bagaimana kita bisa meminimalkan konfigurasi ntp client, asalkan kita telah melakukan upaya untuk mengatur ntp-serversaran dhcpd.

Saya belum dapat menemukan banyak selain dari tutorial bantuan khusus Ubuntu ini https://help.ubuntu.com/community/UbuntuTime . Bahkan di sini (lihat paragraf di bawah "Pemecahan Masalah -> File konfigurasi mana yang digunakannya?") Informasinya langka tetapi dikatakan bahwa jika suatu /etc/ntp.conf.dhcpfile ditemukan akan digunakan sebagai gantinya. Pertama-tama lokasi sebenarnya yang penulis maksudkan di sini adalah /var/lib/ntp/ntp.conf.dhcpseperti yang diamati /etc/init.d/ntp, tetapi terlepas dari itu keberadaan file ini tidak menjamin bahwa ntp akan meminta server dari dhclient. Sebagai hasilnya, saya harus menambahkan serverklausul secara eksplisit ntp.conf.dhcpuntuk server ntp lokal saya. Tetapi dalam kasus itu, mengapa saya bahkan mengatur pengaturan ntp di dhcpdserver?

Ini tampaknya bertentangan dengan intuisi, yaitu pengaturan pengaturan ntp sekali (yaitu pada server) dan biarkan dhcpdserver mendelegasikan informasi kepada klien. Bagaimana saya bisa meminimalkan (jika tidak menghindari sama sekali), konfigurasi klien untuk ntp. Atau, bagaimana saya bisa mendapatkan ntpinformasi dhclient.

Apakah ada solusi cli yang cocok untuk semua distro linux?

Saya berasumsi setiap klien harus memiliki executable ntpd, tapi saya tidak tahu bagaimana melanjutkan dari sana.

Terima kasih

EDIT: keluaran ubuntu client verbose saat berjalan secara manual 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.

Layanan ntpd di-restart, namun berjalan ntpq -cpe -cassetelah itu saya masih tidak melihat server ntp lokal saya di daftar server ntp.

Tentu saja dhcpdserver saya memang punyaoption 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)
}

1
Di server DHCPD saya, saya meneruskan ke klien server NTP untuk digunakan denganoption ntp-servers x.x.x.x
Rui F Ribeiro

@RuiFRibeiro Hai, ya, opsi ini memang bagian dari dhcpdserver saya .
nass

2
serverfault.com/questions/329596/… dapat memberikan Anda beberapa petunjuk. Anda mungkin ingin melihat /etc/dhcp/dhclient-exit-hooks.d/ntp untuk menemukan nama file aktual yang digunakan. Pastikan bahwa file dhclient.conf Anda sudah diatur untuk meminta ntp-server juga.
icarus

Anda menggunakan Ubuntu untuk klien? Versi yang mana?
roaima

@roaima client mungkin ubuntu tetapi solusi yang lebih umum akan membantu. Jika itu membuat segalanya lebih mudah, katakanlah ubuntu 14.04 LTS adalah klien dalam hal ini.
nass

Jawaban:


10

Jika server dhcp yang Anda gunakan dikonfigurasi untuk memberikan ntp-serversopsi, Anda dapat mengonfigurasi dhclient Anda untuk meminta ntp-server dengan menambahkan ntp-serverske baris permintaan default dhclient.conf, seperti yang ditunjukkan pada akhir contoh ini dari Ubuntu Linux (pada 19.04, tetapi hadir sejak setidaknya 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.confdan informasi dari DHCP akan digunakan untuk membuat /etc/ntp.conf.dhcp.

Ntpd Anda harus diberitahu untuk menggunakan /etc/ntp.conf.dhcp jika ada. Pada versi Ubuntu yang saya gunakan, ini dilakukan via /etc/dhcp/dhclient-exit-hooks.d/ntp. <- ini adalah file yang memberitahu NTPd untuk digunakan /etc/ntp.conf.dhcpjika ada, dan hanya digunakan /etc/ntp.confjika tidak.


2
Di Ubuntu 18.04 file ini ada /run/ntp.conf.dhcp, Anda dapat mencari lokasinya di dalam acara apa pun di/etc/dhcp/dhclient-exit-hooks.d/ntp
DustWolf

Tampaknya xenial Ubuntu 16.04 terbaru tidak lagi mendukung opsi ntp; dulu berfungsi dengan baik. Melakukan ini: /usr/sbin/dhcpd -tmemberikan ini: /etc/dhcp/dhcpd.conf line 20: unknown option dhcp.ntp-server option ntp-server 10.... itu bekerja dengan baik di musim panas.
Linas

0

1
Hai Abdullah, Chrony adalah alternatif yang berguna untuk diperhatikan tetapi jawaban Anda tidak menunjukkan bagaimana itu dapat digunakan untuk membuat klien DHCP memanfaatkan informasi NTP yang disediakan oleh server DHCP.
Anthony G - keadilan untuk Monica

@AnthonyGeoghegan Halo, Jika Anda menambahkannya sebagai komentar saya akan menghapus jawaban saya,
Abdullah

Jangan hanya memposting beberapa tautan (ini cenderung membusuk) tetapi sertakan informasi yang diperlukan dalam jawaban Anda.
Pasang kembali Monica - M. Schröder
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.