Bagaimana cara mengganti informasi ntp yang dikirim oleh dhcp di debian?

9

Saya memiliki server di jaringan yang menerima semua informasi jaringannya dari DHCP. Masalahnya adalah bahwa ntp-serveryang dikirim tidak diatur ke UTC. Saya ingin menggunakan konfigurasi untuk ntpditemukan /etc/ntp.conftetapi DHCPinformasi diutamakan. Bagaimana saya bisa memaksa ntpduntuk menggunakan konfigurasi /etc/ntp.confsebagai lawan dari yang dikirim oleh DHCP? Apa Debiancara untuk melakukan ini?

Ricardo Marimon
sumber
Daemon ntp apa yang Anda gunakan? Apa isi ntp.conf Anda saat ini? Apakah paket ntpdate terinstal? Apa klien DHCP yang Anda gunakan? Apa versi Debian?
Zoredache
1
1. Sever pada DHCP 2. Server NTP tidak "diatur" ke UTC o_O
Chris S
Debian squeeze, default ntp.conf (yang muncul setelah aptitude install ntp)
Ricardo Marimon

Jawaban:

7

Saya sarankan Anda mengedit / membuat /etc/dhclient.conf dan batalkan komentar pada baris "permintaan" dengan sesuatu seperti ini:

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

Terutama, jika "ntp-server" ada, hapuslah. Di bawah beberapa distribusi (alias Fedora) itu dikirim secara default, jadi Anda harus meletakkan baris ini secara eksplisit sehingga defaultnya diganti.

Periksa man dhclient.confinformasi tambahan.

Olivier S
sumber
Ini berfungsi dengan baik ... apakah ada sesuatu yang dapat dilakukan di debian yang lebih sesuai dengan / etc / default ...
Ricardo Marimon
14

Tidak secara langsung menjawab pertanyaan tetapi itu mungkin berguna.

Perilaku DHCP

Pada Debian (setidaknya) klien DHCP menimpa konfigurasi layanan ntp yang ada.

Itu dikendalikan oleh skrip /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]

Klien DHCP menerima server ntp dari server DHCP, ia mengambil konfigurasi layanan ntp saat ini dari jalur NTP_CONF dan mengubahnya untuk menyertakan server ntp yang diterima melalui dhcp, ia menghasilkan file konfigurasi ntp baru ke jalur NTP_DHCP_CONF, dan akhirnya memaksa layanan ntp untuk menggunakan file konfigurasi baru ini.

Ini menghasilkan selalu menggunakan server ntp yang diiklankan melalui dhcp. Memotong konfigurasi sistem.

Ini sulit untuk di-debug jika tidak dikenal karena konfigurasi layanan di '/ etc /nt.conf' dibiarkan tidak tersentuh dan benar pada inspeksi visual. Namun hal itu justru diabaikan dan dikesampingkan secara sembunyi-sembunyi.

Anda dapat menggunakan 'ntpq -pn' untuk men-debug server ntp apa yang sebenarnya digunakan oleh deamon.

Mencampur opsi DHCP ntp dan konfigurasi khusus sistem

Jika ADA server ntp di jaringan Anda yang diiklankan oleh DHCP dan Anda ingin mengabaikannya :

Anda perlu mengkonfigurasi ulang klien dhcp /etc/dhclient.confuntuk melewati ntp-serversopsi dhcp. Lihat jawaban dari @Oliver.

Kemudian Anda dapat menyesuaikan konfigurasi sistem di /etc/ntp.conf

Jika ada WS server ntp diiklankan oleh DHCP di beberapa titik tetapi tidak lagi :

Konfigurasi sistem ntp mungkin masih ditimpa oleh klien dhcp, memaksa server ntp usang diiklankan sejak lama. Override dhcp ini dapat bertahan selama berhari-hari, melintasi ntp service restartdan reboot.

Untuk mengakhiri itu, Anda harus menghapus /var/lib/ntp/ntp.conf.dhcpdan memulai kembali layanan ntp di semua server Anda.

Kata terakhir

Ini semua tidak terdokumentasi, perilaku tak terduga dan sulit di-debug. Itu menyebabkan saya sakit kepala hari ini, itulah sebabnya saya mendokumentasikan ini di sini.

pengguna5994461
sumber
7

Anda juga dapat menghapus file ini:, /etc/dhcp/dhclient-exit-hooks.d/ntpalih-alih mengedit permintaan DHCP Anda. File ini dibuat ntp.conf.dhcp.

Jika ntp.conf.dhcpdibuat pada boot sebelumnya, pastikan untuk menghapusnya juga.

Tuinslak
sumber