Настройка подключения к NTP сервру на всевозможных Windows / Linux клиентах .
Полезные ссылки:
- NTP Pool Project - [link];
Windows:
Сторонний клиент:
- NetTime (SNTP) client - [link];
Встроенный клиент:
Основные команды конфигурации w32tm:
w32tm /register - Регистрация и включение службы со стандартными параметрами.
w32tm /unregister - Отключение службы и удаление параметров конфигурации.
w32tm /monitor - Просмотр информации по домену.
w32tm /resync - Команда принудительной синхронизации с заданным в конфигурации источником.
w32tm /config /update - Применить и сохранить конфигурацию.
w32tm /config /syncfromflags:domhier /update – Задаем настройку синхронизации с контроллером домена.
w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com - задать конкретные источники синхронизации времени по протоколу NTP.
Просмотр параметров: (/query)
w32tm /query /computer:<target> - Информация о статусе синхронизации определенной станции (если имя не указано - используется локальный компьютер).
w32tm /query /Source - Показать источник времени.
w32tm /query /Configuration - Вывод всех настроек службы времени Windows.
w32tm /query /Peers - Показать источники времени и их состояние.
w32tm /query /Status - Статус службы времени.
w32tm /query /Verbose - Подробный вывод всей информации о работе службы.
Настройка:
# Панель управления -> Дата время -> Время по интернету -> Изменить параметры
И указываем - ntp.net.lan
- Не забываем включить Службу времени Windows
# WIN+R - services.msc, тип запуска - Автоматически, Запустить
# CMD:
- Проверка статуса:
> w32tm /query /status
- Остановить службу:
> net stop w32time
- Задать адрес NTP-Сервера:
> w32tm /config /syncfromflags:manual /manualpeerlist:"ntp.net.lan"
- Запустить службу:
> net start w32time
- Применить и сохранить конфигурацию:
> w32tm /config /update
- Показать источник времени:
> w32tm /query /source
- Поазать конфигурацию:
> w32tm /query /computer:WS /configuration
- Принудительно синхронизировать время:
> w32tm /resync /force
- Проверка ответа и работоспособности указанного NTP-Сервера:
> w32tm /stripchart /computer:ntp.net.lan /samples:5 /dataonly
Linux:
Для постоянной синхронизации лучше использовать Systemd-Timesyncd или Сhrony.
Systemd-Timesyncd:
Лёгкий NTP-Клиент NTP встроенный в systemd, который синхронизирует системное время с серверами времени.
- Проверка статуса службы:
# systemctl status systemd-timesyncd
- Если служба не активна, включаем и запускаем:
# systemctl enable --now systemd-timesyncd
- Настройка серверов времени:
NTP=Основные | FallbackNTP=Резервные
Если закомментировать указанные выше параметры, то будет использоваться выданный DHCP-Сервером.
# cp /etc/systemd/timesyncd.conf{,.bkp}
# nano /etc/systemd/timesyncd.conf
[Time]
NTP=ntp.net.lan
FallbackNTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org
- Включаем автоматическую синхронизацию времени:
# timedatectl set-ntp true
- Применяем настройки:
# systemctl restart systemd-timesyncd
- Проверка работы и настроек:
# timedatectl status
# timedatectl timesync-status
# timedatectl show-timesync --all
# journalctl -u systemd-timesyncd --no-pager (--since "10 minutes ago")
# nc -uzv ntp.net.lan 123
Chrony:
Cовременный NTP-клиент и сервер, который точнее и быстрее синхронизирует время, чем ntpd, и корректно работает с системами, которые часто включаются и выключаются.
Установка:
# apt update
# apt install chrony
# chronyd -v
Настройка:
# nano /etc/chrony/chrony.conf
Служба:
# systemctl status chrony
# systemctl is-enabled chrony
# systemctl enable --now chrony
Дополнительные команды:
- Просмотреть состояние:
# chronyc tracking
- Источники точного времени:
# chronyc sources
^* — основной сервер, к которому синхронизируется система.
^+ — подходящие серверы, резервные.
^- — серверы, которые используются, но с низким приоритетом.
- Принудительная синхронизация:
# chronyc makestep
- Логи:
# less /var/log/chrony/chrony.log
# journalctl -u chrony
NtpDate:
Простая утилита для разовой синхронизации системного времени с NTP-серверами. Она не поддерживает постоянную работу, в отличие от chrony или systemd-timesyncd.
- Вывести текущую дату и время,
# date -R
- Устанавливаем пакеты,
ntp - сетевая служба времени и вспомогательные программы;
ntpdate - клиент для получения системного времени с серверов NTP;
# apt update && apt install ntp ntpdate
- Настройка ntp.conf
# nano /etc/ntp.conf
- Указываем наш локальный сервер,
server pfsense.domain.lan
- Можно также указать пул,
#pool 0.ru.pool.ntp.org
#pool 1.ru.pool.ntp.org
#pool 2.ru.pool.ntp.org
#pool 3.ru.pool.ntp.org
- Перезагружаем демон,
# /etc/init.d/ntp restart
- Проверить серверы с которых будет идти синхронизация,
# ntpq -p или -pn
В таблице указываются следующие параметры:
remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле);
refid — вышестоящий сервер (тот, от которого сервер из предыдушей графы получает синхронизацию);
st — уровень (stratum) сервера;
t — тип пира (u- unicast, m- multicast);
when — время последней синхронизации;
poll — время в секундах, за которое демон NTP синхронизируется с пиром;
reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377;
delay — время задержки ответа от сервера;
offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают;
jitter — смещение времени на удаленном сервере.
Слева от адреса сервера могут быть указаны следующие символы:
* сервер выбран для синхронизации;
+ сервер, пригодный для обновления (с которым можно синхронизироваться);
— с сервером синхронизироваться не рекомендуется;
х сервер недоступен.
- Проверить, пригоден ли сервер из списка для синхронизации,
ntpdate -q server (domain или ip)
- Устанавливаем на сервере локальную дату и время,
# ntpdate -u server (domain или ip)
- Проверяем изменения,
# date
Дополнительные настройки:
Если на ntp-сервере пропал интернет:
- Передать для синхронизации значения системных часов.
server 127.127.1.0
Ограничения на доступ для внешних клиентов:
* kod - клиент, отправляющий слишком частые запросы, сначала получит так называемый kod-пакет (предупреждение об отказе в обслуживании), а затем будет отключен от сервера;
* notrap - запрет приема управляющих сообщений;
* nomodify - запрет приема сообщений, изменяющих состояние сервера;
* nopeer - запрет установки одноранговых отношений с другими NTP-серверами;
* noquery - запрет любых запросов для синхронизации времени поступающих с других серверов;
* limited - запрет обслуживания, если интервал между пакетами от клиента превышает разрешенные значения;
restrict −4 default kod notrap nomodify nopeer noquery
restrict −6 default kod notrap nomodify nopeer noquery
- Разрешить синхронизацию из локальной сети:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
- Разрешить доступ без ограничений:
restrict 127.127.1.0
- Запретить доступ для всей сети:
restrict 192.168.2.0 mask 255.255.255.0 ignore
Серверы для синхронизации:
* iburst - увеличить точность синхронизации (на сервер будет отправляться несколько пакетов вместо одного);
* prefer - отметить сервер как предпочтительный;
server 0.ru.pool.ntp.org iburst prefer