Как синхронизировать внутренние часы Debian (с NTP-серверами)?

Как синхронизировать внутренние часы Debian (с NTP-серверами)?

У меня есть домашний сервер, на котором установлена ​​последняя версия Debian 7.5 (wheezy). Я только что обнаружил, что внутренние часы сервера настроены на ± 3 минутыв будущем.

Я знал, что могу использовать NTP для синхронизации Debian (и внутренних часов материнской платы) с NTP, поэтому я установил NTP, следуя инструкциям на французском языке.Вики Debian(тотАнглийская страницаменее подробно).

Для синхронизации внутренних часов я использовал следующую команду:

ntpdate -B -q 192.168.0.254

Часы были успешно скорректированы. Но это временное решение, поэтому я установил демон NTP и добавил локальный сервер в файл /etc/ntp.conf:

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>

# added
server 192.168.0.254

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

Правильное ли это решение? На самом деле я был удивлен, обнаружив, что ntpдемон еще не установлен. Мне интересно, устанавливает ли стандартная установка Debian демон для синхронизации внутренних часов. Все ли установки Debian имеют сдвиг времени, пока их администраторы не установят ntpd?

Пожалуйста, скажите мне, что ntpдемон не будет бесполезен, поскольку в Debian есть встроенный механизм синхронизации.

решение1

Debian ожидает, что вы установите ntp самостоятельно, если хотите синхронизировать свои часы. По сути, все, что вам нужно сделать, это apt-get install ntp. Установка по умолчанию, без каких-либо задач, довольно минимальна.

Я полагаю, что задача рабочего стола GNOME, по крайней мере, установит его по умолчанию (как и многие другие пакеты). Не уверен, что другие рабочие столы сделают то же самое.

Никакие другие методы синхронизации времени не установлены и не запущены по умолчанию.

решение2

Для Debian GNU/Linux 10 (Buster) и следующих основных версий:

( он systemd-timesyncdже: timesyncd, он же: SystemD-TimeSyncD) — это более легкая и простая альтернатива ntpd.

Просмотр информации о состоянии работы демона TimeSyncD NTP в Debian:
cmd: systemctl status systemd-timesyncd
вы можете заметить/увидеть, что Statusв строке информации отображается "Праздный".
Если Activeстрока в информации НЕ отображается "активный(бег)", затем запустите его:
cmd:systemctl start systemd-timesyncd

Если вы еще НЕ включили «SYSTEMD-TIMESYNCD», включите и запустите его:
cmd: systemctl enable systemd-timesyncd.service
cmd:systemctl start systemd-timesyncd.service

Если SystemD-TimeSyncD не включается, возможно, придется удалить NTPD, если он был установлен ранее:
cmd:apt purge ntp

Этот новый systemd-timesyncdдемон также может выполнять функции клиента SNTP.

ПРОБЛЕМА:
При просмотре локального времени на компьютере Debian, если локальное время неверно:
cmd: date
Просмотр состоянияСистемные часы синхронизированы(SCS), запустите:
либо, cmd: timedatectl
или, cmd: timedatectl status
Вы можете заметить/увидеть ниже вывод, как указано вышеtimedatectlкоманда: SCS не работает или время не синхронизировано, то есть: компьютер Debian НЕ получает, не обновляет и не отображает правильную информацию о времени:

Системные часы синхронизированы:нет
     Служба NTP:активный

НАЙДИТЕ NTP-СЕРВЕР(Ы) РЯДОМ С ВАШИМ КОМПЬЮТЕРОМ:

Службы предоставления информации о времени работают на NTP-СЕРВЕРАХ.

Если ваш компьютер Debian находится в США или вы хотите использовать NTP-сервер в США, то перейдите на этот сайт:
    https://tf.nist.gov/tf-cgi/servers.cgi
Выберите/укажите по крайней мере два сервера NTP, которые географически ближе к физическому географическому местоположению вашего компьютера Debian.
Выберите тип IPv4 IP-адреса/адресов. Если ваш компьютер Debian использует только IPv6 или также использует IPv6, выберите тип IPv6 IP-адреса/адресов.

ОБНОВЛЕНИЕ "TIMESYNCD.CONF":

команда:nano /etc/systemd/timesyncd.conf

Затем добавьте ниже 3 строки, если их нет вtimesyncd.conf:

[Время]
NTP=132.163.96.1
Резервный NTP=132.163.96.2,132.163.96.3,132.163.96.4,132.163.96.6

Укажите только один сервер в строке "NTP=".
Укажите несколько серверов в строке "FallbackNTP=".
Выше я показываю серверы NTP из "Colorado, USA", так как мой компьютер Debian находится в Калифорнии, США, что близко к Колорадо, США.

Если DNS-клиент (или DNS-сервер/демон) вашего компьютера/устройства запускаетсяпослеNTP-клиент TimeSyncD (или NTP-сервер/демон), то в строках "NTP=" или "FallbackNTP=" следует использовать IP-адрес NTP-сервера.
Но, если DNS-клиент (или DNS-сервер/демон) вашего компьютера/устройства запускаетсядоNTP-клиент TimeSyncD (или NTP-сервер/демон), то в строках "NTP=" или "FallbackNTP=" вы можете использовать имя хоста NTP-сервера (также известное как имя сервера), например: time-a-b.nist.govвместо его IP-адреса 132.163.96.1.
Также обратите внимание, что даже если DNS-клиент (или DNS-сервер/демон) вашего компьютера/устройства запускаетсяпослеNTP-клиент TimeSyncD (или сервер/демон NTP) вы все равно можете использовать имя хоста NTP-сервера в строках "NTP=" или "FallbackNTP=", поскольку NTP-клиент TimeSyncD и локальный сервер/демон NTP снова попытаются получить/синхронизировать время, так что это будет успешно выполнено во второй или следующий раз.
Если на вашем компьютере/устройстве Debian нет/нет DNS-клиента (или DNS-сервера/демона), то вам придется использовать IP-адрес NTP-сервера.

Вам необходимо изменить указанные выше NTP-серверы, на основе фактического местоположения ВАШЕГО компьютера Debian.

Например: если ваш компьютер Debian находится в Европе,
то перейдите сюда:
    https://www.pool.ntp.org/zone/europe
На вышеуказанном сайте также перечислены другие NTP-серверы для других местоположений.

Поскольку множество серверов, обычных настольных ПК/ноутбуков и т. д. клиентских компьютеров, сетевых устройств, смартфонов и т. д. по всему миру используют серверы NTP,
серверы NTP часто перегружены,
поэтому серверам NTP может потребоваться время или задержка для завершения ответа на запрос вашего компьютера/устройства.

Пожалуйста, сделайте пожертвование/внесите вклад в поддержку оператора NTP-сервера, чтобы он мог позволить себе более быстрый/лучший сервер.

АКТИВИРОВАТЬ НОВЫЕ НАСТРОЙКИ:

После создания или обновления timesyncd.confфайла выполните следующие команды:
cmd: timedatectl show-timesync --all(проверка новой конфигурации NTP)
cmd: systemctl restart systemd-timesyncd (перезапуск локального демона TimeSyncD NTP)
cmd: timedatectl set-ntp true(включение и начало использования NTP)

Теперь вы можете просмотреть состояние синхронизации системных часов, запустив ниже любую из команд:
cmd: timedatectlили timedatectl status
вы должны увидеть следующие строки:

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

cmd: timedatectl timesync-status(просмотр информации о подключении службы TimeSyncD NTP)

Если вы выполните команду systemctl status systemd-timesyncd, она должна отобразить «... Синхронизировано с сервером времени впервые ...».

Запустите dateкоманду, она должна показать правильное время, на этот раз:
cmd: date
Отображаемое время должно совпадать с правильным временем и будет основано на предварительно выбранном вами часовом поясе.

(иногда сервер времени может задержать отправку правильного ответа о времени, поэтому проявите терпение).

СДЕЛАННЫЙ.


ДРУГИЕ НАСТРОЙКИ/ИНФОРМАЦИЯ:

cmd: timedatectl list-timezones(просмотр часовых поясов)
cmd: timedatectl set-timezone America/Los_Angeles(сделайте это, когда вы хотите установить часовой пояс на PST, который является UTC-08:00)
cmd: timedatectl set-timezone UTC(сделайте это, когда вы хотите установить часовой пояс на UTC. Это UTCвремя всегда одинаково во всех местах в любое время. Все остальные часовые пояса рассчитываются из этого UTCвремени путем прибавления или вычитания определенных чисел).

Как я могу просмотреть или получить фактические IP-адреса, которые используются NTP-сервером (он же: имя хоста) или NTP-сервером пула?
cmd:nslookup 1.europe.pool.ntp.org

Если вы включили брандмауэр (он же nftables, iptables и т. д.), то вам следует указать (несколько) IP-адресов NTP-серверов в правилах UDP, связанных с NTP, чтобы сократить злоупотребления через NTP.

решение3

Судя по всему, в SystemD timedatectlиспользуется другая инфраструктура (хотя старый метод все еще работает).

Посмотрите, что пишут об этом ребята из Arch:https://wiki.archlinux.org/index.php?title=Systemd-timesyncd&oldid=797636#:~:text=systemd-timesyncd%20is,clock%20to%20it

Связанный контент