Гид по технологиям

Установка и настройка NTP на Ubuntu 18.04

• 4 min read • Серверы • Обновлено 21 Nov 2025
NTP на Ubuntu 18.04: установка и настройка
NTP на Ubuntu 18.04: установка и настройка

Схема синхронизации времени NTP на сервере

Что вы получите

  • Синхронизированные часы на серверах и клиентах внутри сети.
  • Централизованный источник времени для логов, cron‑заданий и репликации баз данных.

Требования

  • Сервер с Ubuntu 18.04.
  • Нерутовый пользователь с правами sudo.
  • Статический IP сервера в примере: 192.168.43.229 (замените на ваш).

Установка и настройка NTP‑сервера

По умолчанию пакет ntp доступен в репозитории Ubuntu 18.04. Установите его:

sudo apt-get install ntp -y

Отредактируйте конфигурацию:

sudo nano /etc/ntp.conf

В файле замените строки пула по умолчанию на пула вашего региона. Пример (Азия):

pool 0.asia.pool.ntp.org iburst
pool 1.asia.pool.ntp.org iburst
pool 2.asia.pool.ntp.org iburst
pool 3.asia.pool.ntp.org iburst

Список пулов и выбор ближайшего к вам — на странице проекта NTP Pool: http://support.ntp.org/bin/view/Servers/NTPPoolServers

Сохраните изменения и перезапустите службу:

sudo systemctl restart ntp

Проверьте статус службы:

sudo systemctl status ntp

Пример вывода (сохраните для отладки):

? ntp.service - Network Time Service
   Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-10-05 15:10:14 UTC; 42s ago
     Docs: man:ntpd(8)
 Main PID: 5587 (ntpd)
    Tasks: 2 (limit: 1114)
   CGroup: /system.slice/ntp.service
           ??5587 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 113:116

Oct 05 15:10:15 ubuntu1804 ntpd[5587]: Soliciting pool server 123.108.200.124
Oct 05 15:10:16 ubuntu1804 ntpd[5587]: Soliciting pool server 64:ff9b::7b6c:c87c

Объяснение основных параметров ntp.conf

  • pool — пул публичных серверов для опроса.
  • iburst — ускоренный старт при первой синхронизации.
  • server — фиксированный сервер (используется чаще для клиентов).

Безопасность и доступ

Ограничьте доступ к вашему NTP‑серверу, если он не должен быть публичным. В /etc/ntp.conf добавьте блок restrict:

# Запретить всё по умолчанию
restrict default nomodify nopeer noquery
# Разрешить локальную сеть (пример 192.168.43.0/24)
restrict 192.168.43.0 mask 255.255.255.0 nomodify notrap
# Разрешить локальный хост
restrict 127.0.0.1

Если нужна криптографическая аутентификация, рассмотрите использование ntpd с ключами или переход на ntpsec/chrony для улучшенной безопасности.

Настройка NTP‑клиента

  1. Убедитесь, что имя вашего NTP‑сервера резолвится. Добавьте запись в /etc/hosts:
sudo nano /etc/hosts

Добавьте:

192.168.43.229 ntp-server-host
  1. Установите ntpdate и ntp (на клиенте):
sudo apt-get install ntpdate ntp -y
  1. Принудительно синхронизируйте время один раз для ускорения согласования:
sudo ntpdate ntp-server-host

Ожидаемый вывод:

5 Oct 20:48:49 ntpdate[6067]: adjust time server ntp-server-host offset 0.049526 sec
  1. Отключите systemd‑timesyncd, чтобы избежать конфликта:
sudo timedatectl set-ntp off
  1. Отредактируйте /etc/ntp.conf, чтобы предпочесть ваш NTP‑сервер:
sudo nano /etc/ntp.conf

Добавьте строку:

server ntp-server-host prefer iburst

Перезапустите службу:

sudo systemctl restart ntp
  1. Проверьте статус синхронизации:
ntpq -p

Пример вывода и расшифровка колонок:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 fwdns2.vbctv.in 202.73.57.107    4 u    3   64    1  127.437  -142.63   0.000
 alphyn.canonica 131.188.3.220    2 u    2   64    1  276.931  -106.99   0.000
 ntp-server-host 106.10.186.201   3 u    1   64    1    0.588  161.386   0.000
  • remote — удалённый сервер.
  • refid — идентификатор опорного источника.
  • st — stratum (уровень). Чем меньше, тем ближе к эталону.
  • when/poll/reach — времена опроса и доступность.
  • delay/offset/jitter — задержка, смещение и нестабильность.

Тестирование и отладка

Проверки, если синхронизация не происходит:

  • Проверьте, отвечает ли NTP‑сервер: sudo systemctl status ntp и ntpq -p на сервере.
  • Проверьте сетевые правила: UDP порт 123 должен быть открыт (используйте sudo ufw allow from 192.168.43.0/24 to any port 123 proto udp).
  • Проверьте, что systemd-timesyncd отключён на клиенте.
  • Проверьте /var/log/syslog на предмет ошибок ntpd.

Примеры команд для диагностики:

sudo ufw status
sudo tcpdump -n -i any port 123
journalctl -u ntp -b --no-pager

Советы и альтернативы

  • Если у вас короткие отклонения времени и высокие требования к безопасности, рассмотрите chrony вместо ntp: он лучше работает при нестабильных сетях и после возобновления из сна.
  • Для высокобезопасных окружений используйте ntpsec или аппаратные часы (GPS/GNSS) как stratum 0.
  • Для контейнеров и виртуальных машин сверяйтесь с хостом — иногда гипервизор управляет временем.

Роль‑ориентированные контрольные списки

Для системного администратора:

  • Установить ntp, настроить пул/сервер, перезапустить службу.
  • Настроить restrict и правила брандмауэра.
  • Настроить мониторинг доступности ntp (simple nagios check или prometheus exporter).

Для инженера сети:

  • Проверить доступность UDP 123 между клиентами и сервером.
  • Проверить NAT/маршрутизацию, если сервер публичный.

Для DevOps:

  • Автоматизировать установку через конфигурационные инструменты (Ansible/Puppet/Chef).
  • Добавить тест при развёртывании: ntpq -p и проверка reach/offset.

План отката и реагирования

  1. Сохраните резервную копию конфигурации:
sudo cp /etc/ntp.conf /etc/ntp.conf.bak-$(date +%F)
  1. Если проблема после изменения конфигурации — восстановите бэкап и перезапустите службу:
sudo mv /etc/ntp.conf.bak-YYYY-MM-DD /etc/ntp.conf
sudo systemctl restart ntp
  1. В крайнем случае, временно отключите ntp и используйте timedatectl set-ntp on/off или синхронизируйте вручную ntpdate.

Фактбокс

  • Протокол: NTP (обычно версия 4).
  • Порт: UDP 123.
  • Stratum: 0 (эталон) — 15 (максимум). Серверы обычно имеют stratum 1–3.
  • Ключевые файлы: /etc/ntp.conf, /var/lib/ntp, /etc/hosts.

Критерии приёмки

  • Сервер активен: sudo systemctl status ntp -> active (running).
  • Клиенты показывают ваш сервер в ntpq -p и имеют адекватный offset (<100 ms для локальной сети).
  • UDP 123 доступен для сети клиентов.

Когда NTP не подходит

  • В сетях с частыми переходами между сетями и прерывистым доступом лучше chrony.
  • Для криптографически защищённой среды рассмотрите дополнительные меры: ntpsec, GNSS‑приёмник.

1‑строчный глоссарий

  • NTP — протокол синхронизации времени.
  • Stratum — уровень удалённости от эталонного источника времени.
  • iburst — опция для быстрого начального опроса сервера.

Короткое объявление (100–200 слов)

Настроен локальный NTP‑сервер на Ubuntu 18.04 для централизованной синхронизации времени в сети. В руководстве описаны шаги по установке пакета ntp, выбору пулов по региону, настройке доступа (restrict) и рекомендациям по безопасности. Для клиентов показано, как отключить systemd‑timesyncd, добавить резолвинг через /etc/hosts, выполнить начальную синхронизацию через ntpdate и назначить ваш сервер как prefer в /etc/ntp.conf. Приведены проверки (ntpq -p), команды для отладки и план отката. Рекомендуется настроить правила UFW для UDP/123 и рассмотреть chrony или ntpsec для специфичных требований безопасности.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро