ntpdate: не найден сервер, подходящий для синхронизации

68

Мои часы отключены , поэтому я хотел бы синхронизировать их с помощью ntpdate . Я пробовал несколько разных NTP-серверов, но по какой-то причине я всегда получаю следующее сообщение об ошибке:

$ 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

Связанные вопросы

Я просмотрел связанные вопросы , но никто не решает мою проблему:

  • Невозможно синхронизировать время с использованием NTP - этот парень получает другую ошибку, чем я; его проблема была связана с демоном ntpd . У меня нет пакета ntp (который включает в себя демон ntpd ).
  • Как заставить обновление часов с помощью ntp? - этот парень проблема в том, что команда ntpdate не будет работать должным образом во время загрузки, когда он поместит ее в свой /etc/rc.local , и проблема была аналогичным конфликтом с демоном ntpd , который был запущен. Я также не пытаюсь запустить ntpdate во время загрузки, а также (опять же) у меня установлен демон ntpd .
  • Невозможно синхронизировать время с помощью 'ntpdate' , ошибка: "сервер не найден для синхронизации" - это моя ошибка, но принятый ответ в основном "Используйте ntpd вместо ntpdate ". Aaarggh ...

Вещи, которые я пробовал

Я установил пакет ntp

... и попытался использовать демон ntpd вместо утилиты ntpdate . Он также не синхронизирует мое время; демон начинает нормально, но мои часы остаются выключенными. Я даже попытался использовать точный /etc/ntp.conf из принятого ответа в последнем сообщении и перезапустить демона. Нет. Во всяком случае, я не хочу использовать демона. Я прекрасно понимаю, что ntpdate считается "устаревшим", и вместо этого рекомендуется использовать ntpd -q . Также см. Здесь:

  • ntpd vs ntpdate: плюсы и минусы

Но так как ntpd тоже не работает для меня, проблема лежит в другом месте . И я считаю, что я бы предпочёл не устанавливать какие-либо дополнительные пакеты только для синхронизации часов. ntpdate поставляется с предустановленной версией Ubuntu, а - просто отлично . Поэтому я снова удалил пакет ntp .

Может быть, порт 123 заблокирован?

Из этого сообщения:

  • "сервер не подходит для синхронизация обнаружена "при попытке запустить" ntpdate "

... У меня появилась идея, что порт 123 может быть заблокирован с моего компьютера / сети на моем рабочем месте. Действительно,

$ 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
...

Но все же:

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

Даже с опцией -u , которая сообщает ntpdate использовать непривилегированный порт для синхронизации (вместо порта 123 ), который, конечно же, не заблокирован на моем рабочем месте:

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

Возможно, слои слишком высоки?

Наконец, из этого сообщения над serverfault:

... Я думал, что, возможно, страты с NTP-серверов слишком высоки. Однако это не так. Давайте посмотрим немного больше информации об отладке:

$ sudo ntpdate -dv ntp.ubuntu.com
 4 Mar 13:12:24 ntpdate[4523]: ntpdate [email protected] 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 ... это был длинный, извините за это. Я в тупике. Любые подсказки?

Обновление: дополнительная информация

Независимо от того, работает ли сервер NTP HOSTNAME в /etc/ntp.conf , и независимо от того, работает ли служба ntpd или нет, всякий раз, когда я запускаю sudo ntpdate -u HOSTNAME , я получаю no server suitable for synchronization found . То же самое, когда служба ntpd работает not , а I опустить параметр -u . Когда работает функция ntpd , и я опускаю параметр -u , вместо этого получаю the NTP socket is in use, exiting .

также:

$ 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

Но время UTC здесь неверно. Сейчас время UTC равно 11:11 , а не 12:11 .

и

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds
    
задан Malte Skoruppa 04.03.2014 в 12:38
источник

7 ответов

44

Ваш хостинг-провайдер блокирует пакеты ntp. Некоторые из интернет-провайдеров в ответ на DDoS-атаки использовали этот подход с большой поддержкой. Вы можете видеть, что ntpdate отправляет пакеты через ntpdate -vd:

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

Я бы связался с вашим интернет-провайдером и спросил, блокируют ли они внешние запросы ntp и имеют ли они локальный сервер, который вы можете использовать для синхронизации времени.

Есть еще несколько неясных возможностей, но трудно исключить их из-за того, что вы не разместили никаких журналов из syslog.     

ответ дан dfc 05.03.2014 в 00:18
источник
23

Это не ответ ntp, однако ...

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

и версию curl здесь .

    
ответ дан Alex 02.08.2015 в 04:17
9

У меня была такая же проблема, и я решил это. Я даю подробный ответ сверху донизу. Возможно, вы захотите пропустить середину моего ответа или просто сослаться на скриншоты ниже, чтобы понять это с первого взгляда.

Сначала установите ntpdate (очевидно, вы это сделали)

sudo apt-get install ntpdate

СЛЕД. Вам необходимо настроить ntp на серверы следующим образом:

В файле конфигурации /etc/ntp.conf вы должны по крайней мере установить следующий параметр: server

Например, откройте файл /etc/ntp.conf с помощью текстового редактора:

sudo nano /etc/ntp.conf

Найдите параметр сервера, и если он пуст, установите его следующим образом:

server pool.ntp.org

Но обычно в ubuntu уже некоторые серверы предварительно записаны, что может быть

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

Затем сохраните файл и перезапустите службу ntpd :

sudo /etc/init.d/ntpd start

Синхронизировать системные часы с сервером NTP можно с помощью следующей команды:

sudo ntpdate pool.ntp.org

или просто запустить уже серверы

sudo ntpdate 0.ubuntu.pool.ntp.org

или других серверов, которые определены с помощью сервера

обычно

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

НО , после чего вы получите ошибку NTP socket in use , как показано ниже:

В этом случае просто запустите

ntpdate -u pool.ntp.org 

для обновления при запуске ntp deamon

ИЛИ просто остановите деамон, обновите и запустите его снова следующим образом:

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

, и вы получите

    
ответ дан Stormvirux 04.03.2014 в 14:43
2

Использовать htpdate

Если ntp-передача заблокирована в вашей сети, установите htpdate. Он синхронизирует время по протоколу HTTP. Точность будет составлять 0,5 секунды, согласно странице руководства.

sudo apt-get install htpdate

Служба htpdate начнется при установке пакета. Время будет немедленно обновляться, если есть интернет-соединение.

    
ответ дан n.r 21.08.2017 в 12:22
1

Как и в ответе Алекса, это помогло мне обойти ntp-порт, который был брандмауэром:

sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
  grep "Date: " | awk '{ print  " "  " "  " "  " "  " GMT"}')"
    
ответ дан Willem van Ketwich 23.02.2017 в 02:45
0

Даже мы столкнулись с этой проблемой ... Но нам удалось решить эту проблему, нажав эту команду:

ssh localhost "sudo apt-get install ntp ntpdate ; sudo service ntp stop; sudo ntpdate 0.ubuntu.pool.ntp.org; sudo service ntp start"

Для этого вам нужно установить openssh-server .

Кроме того, удалите ntp и ntpdate ( sudo apt-get remove --purge ntp ntpdate ) перед запуском указанной команды ssh .

    
ответ дан Shesh Kumar Bhombore 23.03.2016 в 11:05
0

Просто предложение. У меня была эта проблема в течение некоторого времени, затем она начала работать, но я узнал, что на диске нет места.

    
ответ дан 18446744073709551615 20.07.2017 в 21:30