ntpdate: senkronizasyon için uygun bir sunucu bulunamadı


82

Saatim kapalı , bu yüzden kullanarak senkronize etmek istiyorum ntpdate. Birkaç farklı NTP sunucusu denedim, fakat nedense her zaman aşağıdaki hata mesajını alıyorum:

$ sudo ntpdate ntp.ubuntu.com
4 Mar 12:27:35 ntpdate[1258]: no server suitable for synchronization found
$ sudo ntpdate pool.ntp.org
4 Mar 12:27:50 ntpdate[1267]: no server suitable for synchronization found
$ sudo ntpdate de.pool.ntp.org
4 Mar 12:28:01 ntpdate[1273]: no server suitable for synchronization found
$ sudo ntpdate us.pool.ntp.org
4 Mar 12:28:12 ntpdate[1276]: no server suitable for synchronization found

İlgili sorular

İlgili sorulara baktım ancak hiçbiri sorunumu çözmedi:

Yaptığım şeyler

Ntp paketini kurdum

... yardımcı program ntpdyerine daemon kullanmaya çalıştı ntpdate. Zamanımı da senkronize etmiyor; cennet iyi başlar, fakat saatim kapalı. /etc/ntp.confİkinci yazıda kabul edilen cevaptan tam olarak yararlanmayı ve arka plan planını yeniden başlatmayı bile denedim . Gitme. Her neyse, arka planını kullanmak istemiyorum. Bunun ntpdate"kullanımdan kaldırılmış" olarak kabul edildiğinin farkındayım ve bunun ntpd -qyerine kullanılması tavsiye edilir . Ayrıca buraya bakınız:

Fakat ntpdbenim için de işe yaramadığı için sorun başka yerde yatıyor . Ve sadece saati senkronize etmek için fazladan bir paket yüklemek zorunda kalmamayı tercih ettiğimi biliyorum. ntpdateUbuntu ile önceden yüklenmiş olarak gelir ve gayet iyi çalışması gerekir . Bu yüzden ntppaketi tekrar kaldırdım .

Belki 123 numaralı liman engellenmiştir?

Bu yayından:

... İşyerimdeki 123 numaralı bağlantı noktasının bilgisayarım / ağım nedeniyle engellenebileceği fikrine kapıldım. Aslında,

$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE  SERVICE
123/udp closed ntp 
...
$ sudo ufw allow 123/udp
Rules updated
Rules updated (v6)
$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE SERVICE
123/udp open  ntp
...

Ama hala:

$ sudo ntpdate ntp.ubuntu.com
4 Mar 13:06:16 ntpdate[4361]: no server suitable for synchronization found

İş yerimden kesinlikle engellenmeyen, senkronizasyon için (port yerine ) ayrıcalıklı olmayan bir port kullanılmasını -usöyleyen seçenek olsa bile :ntpdate123

$ sudo ntpdate -u ntp.ubuntu.com
4 Mar 13:06:28 ntpdate[4427]: no server suitable for synchronization found

Belki tabakalar çok yüksek?

Son olarak, serverfault adresindeki bu gönderiden:

... NTP sunucularındaki tabakaların belki de çok yüksek olduğunu düşündüm. Yine de değiller. Biraz daha hata ayıklama bilgisi görelim:

$ sudo ntpdate -dv ntp.ubuntu.com
 4 Mar 13:12:24 ntpdate[4523]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host ntp.ubuntu.com and service ntp
host found : golem.canonical.com
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
91.189.89.199: Server dropped: no data
91.189.94.4: Server dropped: no data
server 91.189.89.199, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.89.199], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041ae.e6166441  Tue, Mar  4 2014 13:12:30.898
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

server 91.189.94.4, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.94.4], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041af.1948fc50  Tue, Mar  4 2014 13:12:31.098
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

 4 Mar 13:12:33 ntpdate[4523]: no server suitable for synchronization found

Pfeeewww ... bu çok uzun sürdü, bunun için üzgünüm. Şoktayım. Herhangi bir ipucu var mı?

Güncelleme: ek bilgiler

Bir NTP sunucusunun HOSTNAMEisabetli /etc/ntp.confolup olmamasından ve ntpdhizmetin çalışıp çalışmadığından bağımsız olarak , ne zaman çalıştırsam sudo ntpdate -u HOSTNAME, anladım no server suitable for synchronization found. Aynı şey olduğunda ntpdservis edilir değil çalışan ve ben ihmal-u seçeneği. Ne zaman ntpdservis edilir çalıştıran ve ben ihmal -useçeneği, onun yerine almak the NTP socket is in use, exiting.

Ayrıca:

$ timedatectl status
      Local time: Wed 2014-03-05 13:11:54 CET
  Universal time: Wed 2014-03-05 12:11:54 UTC
        Timezone: Europe/Berlin (CET, +0100)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2013-10-27 02:59:59 CEST
                  Sun 2013-10-27 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2014-03-30 01:59:59 CET
                  Sun 2014-03-30 03:00:00 CEST

Ancak UTC zamanı burada doğru değil. Şu an UTC zamanı 11:11değil 12:11.

Ve:

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds

Eğer koştu söyledi `sudo ntpdate ntp.ubuntu.com` ama bunu yaptın ekledikten sonra ntp.ubuntu.comhiç /etc/ntp.confs sunucusu alanına? Aşağıdaki cevabı görmüyorsanız
Stormvirux

sudo ntpdate'i deneyin 0.ubuntu.pool.ntp.org
Stormvirux

1
Merhaba, cevabınıza yaptığım yorumuma bakın. Ben ekleyerek çalıştı server pool.ntp.orgetmek /etc/ntp.conf, ancak ntpdate -u pool.ntp.orgaynı hatayı atar. Bunu da denedim ntp.ubuntu.com(bunu ekleyerek /etc/ntp.conf, ntphizmeti yeniden başlatma, ntpdate -uyeni eklediğim sunucuyu yeniden çalıştırma /etc/ntp.conf). Özetle, senkronize etmeye çalıştığım sunucunun içeride olup olmadığı önemli değil/etc/ntp.conf . Ben olsun no server suitable...(hariç bütün durumlarda hatayı ntphizmeti çalışıyor ve ben ihmal -u, o zaman olsun seçeneği NTP socket in usehatası).
Malte Skoruppa

Tamam, ben de denedim sudo ntpdate 0.ubuntu.pool.ntp.org, zaten /etc/ntp.confdosyada. Şans yok - aynı hata.
Malte Skoruppa

Yanıtlar:


54

Hosting sağlayıcınız ntp paketlerini engelliyor. Bu ağır teslim yaklaşım, bazı ISS'ler tarafından DDoS saldırılarına cevap olarak uygulandı. Ntpdate'in ntpdate -vd paketlerini gönderdiğini görebilirsiniz:

transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)

ISS'nize başvurun ve harici ntp isteklerini engelleyip engellemediklerini ve zaman senkronizasyonu için kullanabileceğiniz yerel bir sunucuları olup olmadığını sorardım.

Birkaç daha belirsiz olasılık var ama syslog'dan herhangi bir kayıt tutmadığınız için onları ekarte etmek zor.


6
Tamamen haklısın. Üniversitemiz dış NTP isteklerini engelliyor gibi görünüyor. Alternatif olarak birkaç yerel NTP sunucusu da sunar. Bunlar mükemmel çalışıyor. Şimdi çıktısının ntpdate -dvda receive(...)yalnızca transmit(...)mesajları değil bazılarını da içermesi gerektiğini görüyorum . ;) Çok teşekkürler!
Malte Skoruppa

Bir soru olsa, nasıl üniversite blok NTP paketleri kullanabilirim zaman ntpdateile -useçeneğiyle? Bu, 123 numaralı bağlantı noktası yerine ayrıcalıklı olmayan bir bağlantı noktası kullandığından, güvenlik duvarı kurallarının "123 numaralı bağlantı noktasında gelen paketleri engellemekten" daha karmaşık olması gerektiği anlamına gelir. Öyleyse, bir çeşit derin paket muayenesi yapıyorlar mı?
Malte Skoruppa

1
"123 numaralı hedef bağlantı noktasıyla tüm trafiği engelle" yazan bir güvenlik duvarı kuralı ve sonra ntp ana bilgisayarları için birkaç istisna
dfc

Ben de aynı problem vardı. Giden bir traceroute yaparak çözmeyi başardım ve senkronize edebileceğim yolda yerel bir sunucu buldum ntp çalışıyordu. Biri olsa onu engelliyordu. İpuçları için teşekkürler!
17:00

1
Benim için ntpdate -vddiyor no servers can be used, exiting.
HighBandWidth

47

Bu bir ntp cevabı değil, ancak ...

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

Bu ve burada kıvırmak versiyonu .


13
Bu korkunç, ama işe yarıyor.
Alan Plum,

4
Beslenmemiş verileri bash komutuna beslemek root olarak çalıştırılabilir mi? Oynamak için harika teşekkürler. Bu cevabın aşırı önyargıyla indirilmesi gerekir.
dfc

1
ISS desteği ile uğraşmaktan çok daha az acı verici. Ayrıca, test amacıyla yerel bir VM'de çalışıyorsanız hiç önemli değil.
Yalok İy

Bana ne yaptığını açıklar mısın?
Suraj Jain

1
@SurajJain Birçok web sunucusu Datebaşlık döndürür . Bu tarihte ayarlanan tarih için -s, tüm başlıkları saklamak için -get, stdout'taki hataları günlüğe kaydetmek için 2> & 1, haftanın günü ve GMT için kesme tarihine sahip başlık Tarihine sahip toplama satırı için grep. UTC olarak tedavi tarihi için sonunda Z. Doğruluk ağ hızına bağlı olacaktır.
user1516873

10

Aynı sorunu yaşadım ve bu şekilde çözdüm. Yukarıdan aşağıya ayrıntılı bir cevap verdim. Cevabımın ortasına atlamak ya da sadece bir bakışta anlamak için aşağıdaki ekran görüntülerine bakmak isteyebilirsiniz.

İlk ntpdate'i kurun (Açıkçası bunu yaptınız)

sudo apt-get install ntpdate

SONRAKİ ntp'yi sunucularla aşağıdaki gibi yapılandırmanız gerekir:

En azından /etc/ntp.conf config dosyasında aşağıdaki parametreyi ayarlamalısınız: server

Örneğin, nano metin düzenleyicisini kullanarak /etc/ntp.conf dosyasını açın:

sudo nano /etc/ntp.conf

Sunucu parametresini bulun ve boşsa aşağıdaki gibi ayarlayın:

server pool.ntp.org

Ama genellikle ubuntu'da zaten bazı sunucular önceden yazılmış olabilir.

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

görüntü tanımını buraya girin

Sonra dosyayı kaydedin ve ntpd hizmetini yeniden başlatın :

sudo /etc/init.d/ntpd start

Aşağıdaki komutu kullanarak sistem saatini hemen bir NTP sunucusuyla senkronize edebilirsiniz:

sudo ntpdate pool.ntp.org

veya sadece çalıştırmak zaten sunucular tanımlanmış

sudo ntpdate 0.ubuntu.pool.ntp.org

veya sunucu kullanılarak tanımlanan diğer sunucular

genellikle

sudo ntpdate <one of the servername in /etc/ntp.conf>

AMA bundan sonra NTP socket in useaşağıda gösterildiği gibi Hata alma şansınız vardır :

görüntü tanımını buraya girin

Bu durumda sadece koşmak

ntpdate -u pool.ntp.org 

Ntp deamon çalışırken güncelleme

VEYA sadece deamon'u durdurun, aşağıdaki şekilde güncelleyin ve yeniden başlatın:

sudo ntpdate pool.ntp.org
sudo service ntp stop
sudo ntpdate pool.ntp.org
sudo service ntp start

ve alacaksın

görüntü tanımını buraya girin


Merhaba, ayrıntılı cevabınız için teşekkürler! Maalesef benim için işe yaramadı. Bende /etc/ntp.confUbuntu ile birlikte gelenler, üzerinde hiçbir değişiklik yapmadı. Buraya yapıştırdım: pastebin.com/bB0sskzv . Ben de ekleyerek çalıştı server pool.ntp.orgEğer ekran görüntüsü gösterildiği gibi, sunucu listesinin en üstünde. Burada bulabilirsiniz: pastebin.com/YH372Jdi . Her iki kurulumda da önerdiğiniz komutların sırasını koştum: Orijinal gönderime bir ekran görüntüsü ekledim. Sonuç, hem değiştirilmemiş hem de değiştirilmiş olanla tamamen aynıydı /etc/ntp.conf. Başka fikrin var mı? Teşekkürler!
Malte Skoruppa

ne timedatectl statusgeri dönüyor
Stormvirux

timedatectl statusOrjinal gönderimdeki komutun çıkışına bakın .
Malte Skoruppa

Şimdi {0..3}.ubuntu.pool.ntp.org, hem -useçenekli hem de seçeneksiz önceden tanımlanmış 4 sunucunun hepsinde (yani ) denedim . Daima aynı hata.
Malte Skoruppa

Sadece bana da bunu söyle. çıkışısudo hwclock --show
Stormvirux

8

Htpdate kullan

Ağınızda ntp iletimi engellenmişse, htpdate'i yükleyin. Http protokolü üzerinden zamanı senkronize eder. Doğruluk, man sayfasına göre 0,5 saniye olacak.

sudo apt-get install htpdate
sudo htpdate -a google.com

Paketi yüklediğinizde htpdate servisi başlayacaktır. İnternet bağlantısı varsa zaman derhal güncellenecektir.


Lütfen ntp ile ilgili her konuda aynı cevabı kopyalayıp yapıştırmayın.
sempaiscuba

1
Copypasta veya değil, ben bu ntpdate[22109]: no server suitable for synchronization foundhatayı alırken bu çözüm benim için çalıştı .
Şubat'ta kneeki

4

Alex'in cevabına benzer şekilde, bu, güvenlik duvarı nedeniyle ntp bağlantı noktasında dolaşmak için çalıştı.

sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
  grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"
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.