Вы могли бы иметь порт 123 блокировки межсетевого экрана, который может заставить сервер ntp никогда не видеть серверы времени.
В моем случае мой интернет-провайдер блокировал порты.
Сканирование порта 123 также не обнаружило блокировки.
Пистолет для курения состоял в том, что у меня временно есть два независимых интернет-канала. В Linux, если я запускаю ntpq -p
(повторно) с первым подключенным интернет-каналом, ничего не обновляется, но с другим каналом я получаю обновления!
Как говорит @Jens A. Koch, ntpdate -u <server name>
обходит это, ну, временно (без каламбура), это не решает проблему времени в долгосрочной перспективе.
Со временем произойдет дрейф как вашей системы, так и аппаратных часов. Также в моем случае двойная загрузка linux/windows приводит к тому, что аппаратные часы портятся (по часам).
Таким образом, у вас должен быть открыт порт 123 для UDP, чтобы поддерживать системные часы.
Вместо того, чтобы использовать -u
, вы также можете сделать это, я думаю, что использует порт 123 (а не «привилегированный» порт):
service ntp stop
, затем
ntpdate <server url>
(без -u) и, наконец,
service ntp start
.
Это, кажется, обходит проблему блокировки порта, по крайней мере, для установки часов один раз. Если -u
работает, но это не так, то это довольно верный признак того, что порт заблокирован или сервер не отвечает, ...
Другой проблемой, которую мне пришлось решить, было то, что для меня конфигурация Debian по умолчанию /etc/ntp.conf
включала 4 строки в пулы: debian.pool.ntp.org
. Ни один из этих серверов не работал. Я получил это сообщение об ошибке:
Ошибка разрешения debian.pool.ntp.org: адрес не связан с
имя хоста (-5) 24 марта, 04:49:27 ntpdate [15115]: не удается найти хост
debian.pool.ntp.org: Нет адреса, связанного с именем хоста (-5) 24 марта
04:49:27 ntpdate [15115]: нельзя использовать серверы, выход
Мне пришлось поменять серверы на us.pool.ntp.org
.