У меня есть сервер DMZ, настроенный как сервер NTP для подключения к внешним серверам NTP и синхронизации времени на всех устройствах в моей корпоративной сети. Ниже приведено содержимое моего файла ntp.conf на сервере DMZ.
server 127.127.1.0
fudge 127.127.1.0 stratum 6
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntpd.log
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 0.asia.pool.ntp.org iburst
server 1.asia.pool.ntp.org iburst
server 2.asia.pool.ntp.org iburst
server 3.asia.pool.ntp.org iburst
server time.google.com iburst
restrict -4 default kod nomodify notrap
restrict 127.0.0.1
restrict ::1
Однако разница в 27 секунд с местным временем в ОАЭ (сервер часового пояса находится в) и серверной "датой". Я выполнил приведенные ниже команды и перезагрузил сервер несколько раз. Это сервер Debian 9.6. Я сделал все обновления пакетов на сервере, разница все еще составила 27 секунд.
/etc/init.d/ntp stop
ntpdate -u 0.asia.pool.ntp.org
/etc/init.d/ntp start
hwclock -w
ntpq -p
ntpq -p вывод выглядит следующим образом:
~# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 6 l 709 64 0 0.000 0.000 0.000
-ntp.paina.net 131.113.192.40 2 u 30 64 377 220.331 31.973 0.491
-119.28.206.193 100.122.36.196 2 u 107 64 346 151.095 8.540 8.537
+uk.cluster.ntp. 185.134.196.169 2 u 28 64 377 133.718 -2.215 0.278
+t2.time.sg3.yah 106.10.133.18 2 u 28 64 377 95.837 5.051 0.602
*time2.google.co .GOOG. 1 u 30 64 377 163.875 -6.637 0.338
У меня была такая же проблема с FreeBSD, и я понял следующее:
27 - это точное количество дополнительных секунд между 01.01.1970 (когда часы Unix начали тикать) и сегодня. Поэтому, скорее всего, проблема связана с дополнительными секундами. Что нужно проверить:
В ntpd должен быть установлен файл базы данных дополнительных секунд. Демон сообщает в системные журналы, когда находит этот файл и исправен ли он.
Существуют серверы времени, которые предоставляют время для других целей, кроме серверов нашего типа, и они могут обрабатывать дополнительные секунды по-разному. Использовать ntpdate -q
чтобы сравнить мнение вашего восходящего сервера времени с известным сервером в Интернете.
База данных часовых поясов может быть создана с поддержкой дополнительных секунд или без нее. Если вам каким-то образом удастся установить неправильный вариант, по вашему местному времени будет (в настоящее время) смещение 27 секунд. Разница видна при сравнении date
и TZ=UTC date
.
Возможно, это не решение вашей исходной проблемы, но в вашей конфигурации есть пара вещей, которые вы должны изменить:
Удалите устаревший драйвер локальных часов и используйте вместо него сиротский режим. Заменить: server 127.127.1.0
и fudge 127.127.1.0 stratum 6
с участием tos orphan 6
. (См. NTP документы для получения дополнительной информации о сиротском режиме.)
Использовать либо пул NTP или Служба времени Google, но не оба. Причина этого в том, что вы смешиваете источники времени со смазанным скачком и без него.