ntpdate ve ntpd Linux'ta saati senkronize edemiyor


11

Sunucularımdan birinde garip bir sorun var. ntpdve ntpdatebaşarısız olur, ancak hata ayıklama hiçbir hata göstermez. İlk başta bir yerel veya ağ güvenlik duvarının UDP bağlantı noktası 123'ü engellediğini düşünmüştüm, ancak durum böyle değil - bu sunucu UDP bağlantı noktası 123'ü (ntp protokolü) Internet ile konuşabilir ve cevaplar alabilir.

Sorunu göstereyim.

date -s "30 DEC 2012 02:30:00" - Çalışır, böylece saati hatasız olarak başarıyla ayarlayabilirim.

ntpq -pn pool.ntp.org - çalışır, zaman sunucusundan ayrıntılı zaman verileri alırım ve UDP paketlerinin çalıştığını kanıtlar.

ntpdate -d pool.ntp.org - hata ayıklama modu çalışır, bir ton hata ayıklama verisi gösterir ve geçerli zaman ofsetini gösterir: 30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec

Hepsi normal görünüyor, şu tarihe kadar: ntpdate pool.ntp.org- 4.7 saniyelik bir duraklamadan sonra: 30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found

Benzer sorun çalışırken ntpd, saati güncellemiyor.

Ntpd başlatıldıktan sonra, ntpq -pntüm yenilemelerin sonsuza kadar takılı kalmasına neden olur, .INIT.bu da senkronize olamayacakları anlamına gelir.

/ var / lib / ntp / drift, diğer tüm sistemlerimle aynı olan nmp 644 olan ve ntp: ntp'ye ait olan ntp.conf dosyasındaki driftfile ayarıdır.

Bir düzine diğer ntp zaman sunucusunu denedim, iptables güvenlik duvarını devre dışı bıraktım ve veri merkezinin udp trafiğini filtrelemediğini doğruladım. Ntpd ve ntpdate'in saatimi senkronize etmesini engelleyen herhangi bir fikir var mı?

Intel CPU'lu özel bir sunucuda CentOS 6.3 x64.


2
"Özel sunucu" ile ne demek istediğinizi açıklığa kavuşturabilir misiniz - fiziksel donanım mı yoksa sanal makine mi?
Shane Madden

Adanmış sunucu = fiziksel donanım. Sanal bir makine DEĞİL.
Crash Override

Yanıtlar:


13

ntpdate(ve ntpd) ofset çok yüksekse süreyi (kolayca) ayarlamayı reddeder. Her iki uygulama da sisteminizi veya büyük zaman sıçramalarını çok iyi başaramayacak uygulamaları karıştırmamak için zamanınızı yavaşça ayarlamaya çalışacaktır .

ntpdate -bBunun yerine deneyin . Ne kadar mantıksız görünse de zamanı ayarlayacaktır.

Ayrıcalıklı (<1024) bağlantı noktalarını kullanmasını -uengelleyecek bayrağı da eklemeniz gerekebilir ntpdate. Bu -uima edilir -d! Ve kulağa -diyi çalışıyor gibi geliyor .

Ekleme -uçalışma ile çalışma arasında bir fark yaratırsa, bu sorunlara neden olan yolda bir güvenlik duvarınız vardır.

Maalesef sınırsız bir liman kullanmak mümkün görünmüyorntpd .


Hala başarısız. ntpdate -b pool.ntp.orgresults: 30 Dec 03:00:10 ntpdate[1341]: no server suitable for synchronization foundHata -dayıklama verileri gösterecek ancak gerçekte eşitlenmeyecek olan ntpdate hata ayıklama bayrağı şu şekilde çalışır: ntpdate -d pool.ntp.orgsonuçlar:30 Dec 03:00:55 ntpdate[1343]: step time server 128.10.254.6 offset 228.030338 sec
Crash Override

@CrashOverride, cevabımı güncelledi -d, aksi halde neden çalışmıyor olabileceğini açıklamaya çalıştım .
chutz

1
ntpdate -b -uİşler!!! Muhteşem. İki soru. Ntpd arka plan programı hala çalışmıyor, ayrıcalıklı bağlantı noktalarını kullanmamayı nasıl sağlarım? İkinci soru, diğer tüm sunucularım yapmadığında neden bu makine ayrıcalıklı bağlantı noktalarında ntp ile başarısız oluyor?
Çökme Geçersiz Kılma

Humm, belki sunucumdan 123 güvenlik duvarı engelleme kaynağı UDP bağlantı noktası var. Bunu kontrol ediyorum. Tekrar, cevabınız için teşekkürler.
Çökme Geçersiz Kılma

Ntpd kaynak bağlantı noktasını değiştirmek mümkün olmadığını açıklamak için bir bağlantı ile güncelledi. Üzgünüm, bu bağlantıyı bulmaktan başka bir yere bakmadım.
chutz

2

Yapıştırıcıda aşağıdaki çıktıları verebilir misiniz?

cat /etc/ntp.conf
cat /etc/sysconfig/ntpd
ntpq -pn
ntpdc -c sysstat
ntpdc -c kerninfo
ntpdc -c loopinfo
ntpdate -d <time-server-IP>
ntptrace

Tabaka 1 sunucularından veya başka bir şeyden senkronizasyon yapıyor musunuz?

Senkronizasyon için uygun hiçbir sunucu söylediği anlamına gelir, istemci ve sunucu arasındaki iletişim kurulamaz.

Bu veri kümesinden ipuçları bulamazsak, paketin nerede kaybolduğunu görmek için tcpdump gerekebilir.

tcpdump -s0 -i ethX -p udp -w /tmp/ntp.pcap

Durdurun ve ntpd arka plan programını başlatın ve erişimin 377'ye gitmesini bekleyin ve sonra tcpdump'ı durdurun. Bu daha fazla ipucu vermelidir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.