NTP sedang berjalan, jam sistem masih belum tepat waktu - apa yang menyebabkannya?

25

Server Debian Stable (5.0.3) sedang berjalan ntpd, dan terhubung ke internet. Namun, jam sistem sekitar 5 menit salah.

$ /etc/init.d/ntp status
NTP server is running..

Bagian yang relevan (saya pikir) dari /etc/ntp.conf:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

Saya tahu NTP tidak harus segera membawa waktu. Namun, berapa jam atau berhari-hari Anda harus menunggu untuk berharap secara wajar bahwa NTP telah melakukan tugasnya dan menyinkronkan jam?

Apakah saya kehilangan beberapa file atau opsi konfigurasi lain, atau hanya melakukan sesuatu yang salah? Apakah ntp (bukan misalnya ntpdate ) alat yang tepat untuk ini? Apakah ada cara cepat untuk memeriksa apakah konfigurasi sudah benar dan apakah server NTP yang dipilih mengembalikan waktu yang benar?

Edit : output dari ntpq -padalah:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.nexellent.n .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-madrid .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 sinister.wzw.tu .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-frankf .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Sunting 2 : ntpdate -u 0.europe.pool.ntp.orgPerintah ternyata ( disarankan oleh brent ) kembali

17 Dec 17:37:29 ntpdate[14195]: no server suitable for synchronization found

... meskipun pada komputer lain yang perintahnya berfungsi dengan baik. Jadi kita akan melihat pengaturan jaringan / firewall untuk server khusus ini (yang berada di jaringan yang berbeda, diakses melalui VPN).

Penyelesaian : Pelakunya bukanlah firewall lokal di server kami, tetapi pengaturan firewall di suatu tempat di jaringan sekitarnya. Jadi kami meminta penyedia hosting server untuk mengizinkan NTP untuk mesin kami, dan sekarang berfungsi dengan baik. Misalnya, ntpq -psekarang kembali:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.eunet.fi    192.36.144.23    2 u   10   64    1    1.043    0.258   0.001
 ns2.eunet.fi    62.142.10.44     2 u    9   64    1    0.671    0.135   0.001
 ns3.eunet.fi    62.142.10.44     2 u    8   64    1    0.750    0.277   0.001

(Kami juga beralih ke server eunet.fi yang direkomendasikan oleh perusahaan hosting, tetapi itu tidak penting.) Perintah dalam jawaban brent sangat membantu karena mereka membuat saya menyadari bahwa masalahnya adalah akses jaringan ke server NTP, bukan dalam konfigurasi NTP diri. Terimakasih semuanya!

Jonik
sumber
1
Apa output dari 'ntpq -p'?
jscott

Jawaban:

24

Hentikan ntpd, jalankan ntpdate -u 0.europe.pool.ntp.org3 kali, mulai ntpd, periksa ntpq -p, tunda, offset, dan jitter tidak boleh nol.

brent
sumber
1
Dan kolom 'kapan' harus menunjukkan waktu sejak paket terakhir diterima.
jscott
Perintah ntpdate mengembalikan sesuatu seperti "17 Des 17:37:29 ntpdate [14195]: tidak ada server yang cocok untuk sinkronisasi ditemukan". Namun, di komputer lain perintah yang sama memberikan sesuatu yang bermakna! Aku mulai menduga bahwa beberapa pengaturan firewall untuk server tertentu penyebab masalah ...
Jonik
Kita akan lihat besok jika kita bisa memilah pengaturan jaringan / firewall itu. Saya akan menerima ini untuk saat ini, karena kemungkinan besar masalahnya terkait dengan itu. Terima kasih telah mengarahkan saya ke arah yang benar!
Jonik
3
The ntpdateperintah bekerja dan sinkronisasi jam saya, tetapi semua nilai masih 0setelah saya restart ntp. Mengapa itu akan berhasil jika saya melakukannya secara manual, tetapi tidak menggunakan ntpd? Saya di Debian btw.
Mike
melakukan hal itu dari ntpdate daripada memperbaiki masalah dengan ntp adalah jangka panjang yang tidak berguna. dan saya tidak tahu alasan mengapa menjalankannya tiga kali.
Florian Heigl
1

Jika saya harus menebak mengapa dan dengan asumsi Anda memiliki konektivitas jaringan dan dapat melihat Host NTP Anda tanpa masalah maka bisa jadi Anda telah melayang ke nilai yang besar. Jika perbedaan waktu lebih besar dari X (Maaf saya tidak ingat apa X begitu saja) daripada peringatan akan dicetak dan waktu tidak akan disinkronkan. Anda dapat memeriksa pesan syslog Anda untuk kasus-kasus ini.

Jika ini adalah case stop NTP, jalankan ntpdate host dan restart NTPD ini akan memaksa sinkronisasi waktu kemudian mulai menjaganya agar tetap sinkron, jika Anda terus melayang sebanyak itu, Anda mungkin memiliki masalah perangkat keras.

Gary Steven
sumber
Terima kasih. Dalam hal ini masalahnya tampaknya bahwa kita tidak dapat melihat server NTP tanpa masalah - lihat komentar untuk jawaban brent: serverfault.com/questions/95342/…
Jonik
1

Kolom "reach" menjadi 0 menunjukkan itu tidak dapat berbicara dengan server-iirc secara bertahap mendapat bit bergeser untuk menunjukkan bagaimana 8 upaya terakhir berjalan (jadi 377 baik, 0 buruk).

araqnid
sumber
Ya, itu kemungkinan besar masalahnya; lihat komentar untuk jawaban ini: serverfault.com/questions/95342/…
Jonik