Я использую сервер Ubuntu 16.04, и я настроил локальный сервер NTP со следующими конфигурациями в /etc/ntp.conf
файл:
# this is the IP or name of the local networks NTP ser$
# should be commented out on the server
# server 192.168.1.202 iburst # this line is uncommented for clients
# this enables checking the local clock. Do not change$
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# this lines are required to run the ntpq -p command t$
# function of the system
restrict 127.0.0.1
restrict ::1
Проблема состоит в том, когда я перезапускаю систему, время не синхронизируется и не корректное и даже является неправильным! Вывод команды timedate status
в сервере:
Local time: Thu 2018-02-22 19:03:50 IRST
Universal time: Thu 2018-02-22 15:33:50 UTC
RTC time: Thu 2018-02-22 15:33:50
Time zone: Asia/Tehran (IRST, +0330)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no
Здесь время UTC является корректным местным временем. в клиентах:
Local time: Mon 2018-02-19 02:07:18 IRST
Universal time: Sun 2018-02-18 22:37:18 UTC
RTC time: Sun 2018-02-18 22:37:19
Time zone: Asia/Tehran (IRST, +0330)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no
В машине сервера дата корректна, но время является неправильным. В клиентской машине оба являются неправильными. Коллеги в клиентах ntpq -p
:
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.1.202 LOCAL(0) 11 u 46 64 1 0.381 3201920 0.011
*LOCAL(0) .LOCL. 10 l 17 64 377 0.000 0.000 0.000
Но когда я использую команду sudo apt update
дата стала корректной в клиентах:
Local time: Thu 2018-02-22 19:16:44 IRST
Universal time: Thu 2018-02-22 15:46:44 UTC
RTC time: Sun 2018-02-18 22:50:13
Time zone: Asia/Tehran (IRST, +0330)
Network time on: no
NTP synchronized: no
RTC in local TZ: no
Но время все еще является неправильным! Я использовал команду date -s "correct time and date"
, но после перезапуска его идет не так, как надо!
Как может я решать проблему!
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.1.202 LOCAL(0) 11 u 46 64 1 0.381 3201920 0.011
*LOCAL(0) .LOCL. 10 l 17 64 377 0.000 0.000 0.000
Это вывод ntpq -p
на клиенте, и это, по сути, ответ на вопрос, почему клиент не синхронизируется. Клиент использует свои собственные часы в качестве эталона уровня 10, но сервер утверждает, что это уровень 11.
NTP рассматривает часы нижней страты как наиболее вероятные. Здесь у вас есть два источника времени, один со слоем 11 и один с 10 - и огромная разница. Он не будет пытаться примирить их - он просто скажет, что страта 11 ошибочна.
Установите для сервера более низкий уровень, например, с помощью
fudge 127.127.1.0 stratum 9
. Или - предпочтительно синхронизировать сервер с более надежным внешним источником времени, например, с одним из пулов NTP, который обычно является слоем 1-3. Синхронизация с NTP-сервером stratum 3 сделает ваш NTP-сервер NTP-сервером stratum 4, который предпочтительнее локальных часов.
Другой альтернативой является увеличение страты ваших локальных часов на клиентах, например, до 13.