Saya memiliki masalah aneh dengan salah satu server saya. ntpd
dan ntpdate
gagal berfungsi, tetapi debugging tidak menunjukkan kesalahan sama sekali. Pada awalnya saya pikir mungkin firewall lokal atau jaringan memblokir port UDP 123, tetapi bukan itu masalahnya - server ini dapat berbicara port UDP 123 (protokol ntp) ke Internet dan mendapatkan jawaban.
Biarkan saya menunjukkan masalahnya.
date -s "30 DEC 2012 02:30:00"
- berfungsi, jadi saya bisa berhasil mengatur jam tanpa kesalahan.
ntpq -pn pool.ntp.org
- berfungsi, saya mendapatkan data waktu secara rinci dari timeserver, dan membuktikan bahwa paket-paket UDP berfungsi.
ntpdate -d pool.ntp.org
- Mode debug berfungsi, menunjukkan satu ton data debug dan menunjukkan offset waktu saat ini:
30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec
Semua terlihat normal, hingga:
ntpdate pool.ntp.org
- setelah jeda 4,7 detik, ia kembali:
30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found
Masalah serupa berjalan ntpd
, itu tidak memperbarui jam.
Setelah ntpd dimulai, ntpq -pn
mengakibatkan semua refid selamanya macet .INIT.
yang berarti mereka tidak dapat melakukan sinkronisasi.
/ var / lib / ntp / drift adalah pengaturan driftfile di ntp.conf, yang merupakan chmod 644 dan dimiliki oleh ntp: ntp, sama seperti semua sistem saya yang lain.
Saya mencoba selusin server waktu ntp lainnya, firewall iptables yang dinonaktifkan, dan mengkonfirmasi bahwa datacenter tidak memfilter lalu lintas udp. Adakah ide apa yang menghentikan ntpd dan ntpdate dari menyinkronkan jam saya?
Ini adalah CentOS 6.3 x64 pada server khusus dengan Intel CPU.
Jawaban:
ntpdate
(danntpd
) akan menolak untuk (dengan mudah) mengatur waktu jika offset terlalu tinggi. Kedua aplikasi akan mencoba menyesuaikan waktu Anda secara perlahan , agar tidak membingungkan sistem Anda atau aplikasi apa pun yang mungkin tidak menangani lompatan besar dengan sangat baik.Coba
ntpdate -b
saja. Ini akan mengatur waktu tidak peduli seberapa tidak masuk akalnya.Anda mungkin juga perlu menambahkan
-u
flag, yang akan mencegahntpdate
penggunaan port yang diistimewakan (<1024). Catatan yang-u
tersirat oleh-d
! Dan sepertinya-d
bekerja dengan baik.Jika menambahkan
-u
membuat perbedaan antara bekerja dan tidak bekerja, maka Anda memiliki firewall di jalan yang menyebabkan masalah ini.Dan sayangnya sepertinya tidak mungkin
ntpd
menggunakan port yang tidak dibatasi .sumber
ntpdate -b pool.ntp.org
hasil:30 Dec 03:00:10 ntpdate[1341]: no server suitable for synchronization found
Bendera debug ntpdate yang-d
akan menampilkan data debug tetapi tidak benar-benar disinkronkan, dan itu berfungsi:ntpdate -d pool.ntp.org
hasil:30 Dec 03:00:55 ntpdate[1343]: step time server 128.10.254.6 offset 228.030338 sec
-d
mungkin berfungsi sementara sebaliknya tidak.ntpdate -b -u
bekerja !!! Luar biasa. Dua pertanyaan. Daemon ntpd masih gagal, bagaimana caranya agar tidak menggunakan port yang diistimewakan? Pertanyaan kedua, MENGAPA mesin ini gagal dengan ntp pada port istimewa ketika semua server saya yang lain tidak?Bisakah Anda memberikan output berikut dalam pastebin.
Apakah Anda menyinkronkan dari server strata 1 atau apa pun.
Tidak ada server yang cocok untuk sinkronisasi yang memberi tahu bahwa komunikasi antara klien dan server tidak dapat dilakukan.
Jika kami tidak dapat menemukan petunjuk dari kumpulan data ini, tcpdump mungkin diperlukan untuk melihat di mana paket tersebut hilang.
Berhenti dan mulai ntpd daemon dan tunggu sampai mencapai 377 dan kemudian hentikan tcpdump. Itu harus memberikan petunjuk lebih lanjut.
sumber