Меню

Debian настроить синхронизацию времени

Синхронизация времени в Debian 10

Точное хронометрирование – очень важное условие корректной работы многих современных программ. Из-за неправильного времени на сервере могут возникнуть ошибки, и данные могут быть повреждены (например, при обновлении БД или логировании). Такие ошибки сложно исправить.

В Debian 10 синхронизация времени встроена и включена по умолчанию; за неё отвечает стандартный сервер времени ntpd, предоставляемый пакетом ntp. Данный мануал ознакомит вас с базовыми командами для управления временем, научит проверять состояние ntpd и устанавливать другие сервисы сетевого времени.

Требования

Для работы вам понадобится сервер Debian 10 и пользователь с доступом к sudo (данный мануал нужно выполнить в сессии этого пользователя). Все необходимые инструкции по настройке вы найдете здесь.

1: Основные команды для управления временем

date – базовая команда для определения времени на сервере. Любой пользователь может использовать её, чтобы узнать дату и время:

date
Wed 31 Jul 2019 06:03:19 PM UTC

Как правило, по умолчанию серверы используют часовой пояс UTC (Coordinated Universal Time) – это всемирное координированное время. UTC последовательно устанавливает время на серверах и минимизирует ошибки в случае если сервера инфраструктуры находятся в разных часовых поясах.

Чтобы изменить часовой пояс, используйте команду timedatectl.

Сначала запросите список доступных поясов:

Перемещаться вниз по списку можно с помощью пробела, а вверх – с помощью b. Выберите часовой пояс, запишите его и нажмите q, чтобы закрыть список.

После этого установите часовой пояс с помощью timedatectl set-timezone. Используйте следующую команду, указав в ней необходимый часовой пояс:

sudo timedatectl set-timezone America/New_York

Примечание: Вместо America/New_York укажите необходимый часовой пояс.

Убедитесь, что пояс изменился:

date
Wed 31 Jul 2019 02:08:43 PM EDT

Аббревиатура часового пояса отражает новое значение.

2: Состояние ntpd

По умолчанию для синхронизации времени с пулом внешних серверов система Debian 10 использует стандартный сервер ntpd. Проверить его состояние можно с помощью команды systemctl:

sudo systemctl status ntp
ntp.service — Network Time Service
Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago
Docs: man:ntpd(8)
Main PID: 429 (ntpd)
Tasks: 2 (limit: 1168)
Memory: 2.1M
CGroup: /system.slice/ntp.service
└─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .

Строка active (running)указывает, что сервер работает правильно. Получить больше информации можно с помощью ntpq:

ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
+208.67.72.50 152.2.133.55 2 u 12 64 377 39.381 1.696 0.674
+198.46.223.227 204.9.54.119 2 u 6 64 377 22.671 3.536 1.818
-zinc.frizzen.ne 108.61.56.35 3 u 43 64 377 12.012 1.268 2.553
-pyramid.latt.ne 204.123.2.72 2 u 11 64 377 69.922 2.858 0.604
+nu.binary.net 128.252.19.1 2 u 10 64 377 35.362 3.148 0.587
#107.155.79.108 129.7.1.66 2 u 65 64 377 42.380 1.638 1.014
+t1.time.bf1.yah 98.139.133.62 2 u 6 64 377 11.233 3.305 1.118
*sombrero.spider 129.6.15.30 2 u 47 64 377 1.304 2.941 0.889
+hydrogen.consta 209.51.161.238 2 u 45 64 377 1.830 2.280 1.026
-4.53.160.75 142.66.101.13 2 u 42 64 377 29.077 2.997 0.789
#horp-bsd01.horp 146.186.222.14 2 u 39 64 377 16.165 4.189 0.717

Читайте также:  У айпада звук не работает с наушниками

-ntpool1.603.new 204.9.54.119 2 u 46 64 377 27.914 3.717 0.939

ntpq – это инструмент запросов ntpd. Опция –p собирает информацию о серверах NTP, к которым подключен ntpd. Ваш вывод будет немного отличаться, но в нем будут стандартные серверы пула Debian и несколько других серверов. У ntpd может уйти несколько минут на установку соединения.

3: Переход с ntpd на systemd-timesyncd

Для замены ntpd можно использовать встроенный демон timesyncd – это простая альтернатива ntpd, интегрированная с systemd. Однако при переходе следует учитывать, что timesyncd не работает в качестве сервера времени и использует менее сложные методы синхронизации системного времени. Если вы используете сложные распределенные системы реального времени, лучше оставаться с ntpd.

Чтобы перейти на timesyncd, сначала удалите ntpd.

sudo apt purge ntp

Затем запустите сервис timesyncd:

sudo systemctl start systemd-timesyncd

Проверьте его состояние:

sudo systemctl status systemd-timesyncd
systemd-timesyncd.service — Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: active (running) since Wed 2019-07-31 14:21:37 EDT; 6s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 1681 (systemd-timesyn)
Status: «Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org).»
Tasks: 2 (limit: 1168)
Memory: 1.3M
CGroup: /system.slice/systemd-timesyncd.service
└─1681 /lib/systemd/systemd-timesyncd

Чтобы получить сведения о текущем восприятии времени systemd, введите:

timedatectl
Local time: Wed 2019-07-31 14:22:15 EDT
Universal time: Wed 2019-07-31 18:22:15 UTC
RTC time: n/a
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

Команда выведет местное время, универсальное время (которое может совпадать с местным, если вы не переключались с часового пояса UTC) и информацию о времени в сети. System clock synchronized: yes означает, что время было успешно синхронизировано. А NTP service: active указывает, что timesyncd работает.

Заключение

Теперь вы умеете управлять системным временем сервера Debian 10: просматривать текущее время, менять часовой пояс, переходить с ntpd на сервис timesyncd.

Больше информации можно найти в документации NTP или на сайте проекта NTP Pool.

Источник

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Настройка службы синхронизации времени systemd-timesyncd в Debian GNU/Linux 10 (Buster)

В составе версии systemd, используемой в конфигурации по умолчанию в Debian GNU/Linux 10 имеется отдельная служба, отвечающая за синхронизацию времени локальной системы по протоколу NTP с врешними NTP-серверами — systemd-timesyncd. Поэтому, если нужно настроить синхронизацию времени, например с корпоративными NTP-серверами, нет необходимости устанавливать и настраивать специальные пакеты типа ntp, а достаточно лишь выполнить настройку systemd-timesyncd.

Читайте также:  Часы swatch swiss как настроить дату

Проверить текущее состояние службы можно командой

Служба будет запускаться в системе автоматически в том случае, если не были обнаружены исполняемые файлы других пакетов, реализующих функции синхронизации времени. Эти исполняемые файлы можно увидеть в конфигурационном файл /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf

Отредактируем основной конфигурационный файл systemd-timesyncd:

После правки конфигурационной файла перезапускаем службу и проверяем её состояние:

Состояние синхронизации времени можно проверить утилитой timedatectl:

Посмотреть лог службы systemd-timesyncd (как юнита systemd) можно следующей командой:

Если же всё таки возникает необходимость использования других пакетов синхронизации времени, исполняемые файлы которых отличны от тех, что перечислены в disable-with-time-daemon.conf , то можно самостоятельно остановить и отключить службу systemd-timesyncd парой простых команд:

Дополнительные источники информации:

Проверено на следующих конфигурациях:

Версия ОС
Debian GNU/Linux Buster 10.0

Автор первичной редакции:
Алексей Максимов
Время публикации: 18.06.2019 12:54

Источник

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Настройка службы синхронизации времени systemd-timesyncd в Debian GNU/Linux 9 (Stretch)

В составе обновлённой версии systemd, используемой в конфигурации по умолчанию в Debian GNU/Linux 9 имеется отдельная служба, отвечающая за синхронизацию времени локальной системы по протоколу NTP с врешними NTP-серверами — systemd-timesyncd. Поэтому, если нужно настроить синхронизацию времени, например с корпоративными NTP-серверами, нет необходимости устанавливать и настраивать специальные пакеты типа ntp (как это было в прошлых версиях Debian), а достаточно лишь выполнить настройку systemd-timesyncd.

Проверить текущее состояние службы можно командой

Служба будет запускаться в системе автоматически в том случае, если не были обнаружены исполняемые файлы других пакетов, реализующих функции синхронизации времени. Эти исполняемые файлы можно увидеть в конфигурационном файл /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf

Отредактируем основной конфигурационный файл systemd-timesyncd:

После правки конфигурационной файла перезапускаем службу и проверяем её состояние:

Состояние синхронизации времени можно проверить утилитой timedatectl:

Посмотреть лог службы systemd-timesyncd (как юнита systemd) можно следующей командой:

Если же всё таки возникает необходимость использования других пакетов синхронизации времени, исполняемые файлы которых отличны от тех, что перечислены в disable-with-time-daemon.conf , то можно самостоятельно остановить и отключить службу systemd-timesyncd парой простых команд:

Дополнительные источники информации:

Проверено на следующих конфигурациях:

Версия ОС
Debian GNU/Linux Stretch 9.2.1

Автор первичной редакции:
Алексей Максимов
Время публикации: 02.12.2017 14:03

Источник

Использование systemd-timesyncd для синхронизации времени в Debian/Ubuntu

В Linux для синхронизации времени традиционно используется ntpd как стандарт де-факто, но есть другая и более простая альтернатива — это systemd-timesyncd.

Давайте настроим его для синхронизации времени, а про ntpd забудем и удалим его.

С ntpd все просто, ставится пакет ntp, настраивается файл конфигурации /etc/ntp.conf и включается служба ntp (systemctl start ntp), далее проверяем с помощью утилиты ntpstat факт синхронизации локальных часов с удаленным сервером и радуемся.
Все бы хорошо, но с помощью ntpd можно не только забирать время с удаленных сервером, но и выступать в качестве сервера времени для других, то есть ntpd принимает входящие соединения и его некорректная настройка может послужить причиной участия вашего сервера в DDoS-атаки (см. NTP amplification attack (CVE-2013-5211))
Конечно во многих дистрибутивах уже исправили дефолтный файл конфигурации ntp.conf и теперь сервер не может участвовать в этой атаке, но… береженого бог бережет.
Зачем использовать ntpd если ваш сервер не будет выступать в роли сервера, предоставляющего точное время для других серверов?
Достаточно установить клиента, который будет забирать время с удаленного сервера и синхронизировать ваши часы, что и делает systemd-timesyncd.

В дистрибутивах с системой инициализации systemd есть встроенная альтернатива ntpd — это systemd-timesyncd
Так же следует дать вот эту ссылку, где есть детальное сравнение 3-х реализаций демонов синхронизации времени.

Исходные данные: Ubuntu 16.04.6 (xenial)
Задача: Отказаться от ntpd и настроить systemd-timesyncd для синхронизации часов.

Удалим ntpd и утилиту ntpstat:

Удалить ntpd или например chronyd нужно потом, что иначе systemd-timesyncd не будет синхронизировать время. За такую проверку отвечает файл /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf в котором прописан список бинарников, при наличии которых в системе демон systemd-timesyncd не будет работать.

Теперь настроим systemd-timesyncd, для этого в файл конфигурации /etc/systemd/timesyncd.conf пропишем список серверов времени:

Таким образом мы добавили в файл настройку NTP= определяющую список основных серверов времени, можно добавить настройку FallbackNTP= которая определит список резервных серверов времени:

Смотрим текущий статус синхронизации часов:

В строке «NTP synchronized» может стоять no если синхронизация часов по ntp до этого не была настроена вообще или yes, если до этого часы синхронизировались с помощью ntpd

Включаем использование systemd-timesyncd для синхронизации времени:

Включаем и перезапускаем службу systemd-timesyncd:

Через несколько минут можно проверить с помощью timedatectl состояние синхронизации:

Значение в строке «NTP synchronized» должно измениться на yes

Если systemd-timesyncd не синхронизирует часы, то прежде всего проверьте настройки межсетевого экрана (iptables) на предмет разрешения исходящих подключений на 123 порт по протоколу UDP.

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

P.S. Утилиту timedatectl так же можно использовать для смены часового пояса, пример:

Выведем список временных зон:

Установим временную зону Asia/Yekaterinburg:

+5 свидетельствует об установке нашей зоны (Asia/Yekaterinburg это UTC+5)

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

Источник

Adblock
detector