Настройка часового пояса и NTP: синхронизация времени сервера
Руководство по настройке часового пояса с timedatectl, конфигурации NTP с chrony и systemd-timesyncd, синхронизации времени сервера и шагам проверки на Linux-серверах.
Содержание
Настройка часового пояса и NTP: синхронизация времени сервера
Правильная настройка времени сервера критически важна для согласованности журналов, проверки SSL-сертификатов, операций с базами данных и запланированных задач. Неправильные настройки времени могут привести к уязвимостям безопасности и ошибкам приложений. В этом руководстве рассматривается настройка часового пояса и NTP на Linux-серверах.
Проверка текущего состояния времени
# Просмотр системного времени, аппаратных часов и статуса NTP
timedatectl
# Показать текущую дату и время
date
# Показать время UTC
date -u
# Показать аппаратные часы
sudo hwclock --show
Настройка часового пояса
Изменение часового пояса с timedatectl
# Просмотр текущего часового пояса
timedatectl | grep "Time zone"
# Список всех доступных часовых поясов
timedatectl list-timezones
# Фильтрация по региону
timedatectl list-timezones | grep Europe
timedatectl list-timezones | grep Asia
# Установка часового пояса
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl set-timezone UTC
sudo timedatectl set-timezone Europe/Berlin
sudo timedatectl set-timezone America/New_York
sudo timedatectl set-timezone Asia/Dubai
Ручная настройка через символическую ссылку
# Альтернативный метод (для старых систем)
sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
# Обновить /etc/timezone
echo "Europe/Moscow" | sudo tee /etc/timezone
# Проверить изменение
date
Серверы REXE поставляются с часовым поясом UTC по умолчанию. Хранение серверов в UTC также является хорошей практикой для анализа журналов.
Синхронизация времени NTP
NTP (Network Time Protocol) синхронизирует часы сервера с серверами времени в интернете.
systemd-timesyncd (Лёгкое решение)
# Проверить статус
sudo systemctl status systemd-timesyncd
# Просмотр статуса синхронизации NTP
timedatectl show-timesync --all
# Включить NTP
sudo timedatectl set-ntp true
# Отключить NTP
sudo timedatectl set-ntp false
Конфигурация timesyncd
# Редактировать файл конфигурации
sudo nano /etc/systemd/timesyncd.conf
[Time]
# Основные NTP-серверы
NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org time.cloudflare.com
# Резервные NTP-серверы
FallbackNTP=2.pool.ntp.org 3.pool.ntp.org time.google.com
RootDistanceMaxSec=5
# Перезапустить службу
sudo systemctl restart systemd-timesyncd
# Проверить статус синхронизации
timedatectl
Chrony (Расширенное решение)
Chrony обеспечивает лучшую производительность для прерывисто подключённых или виртуализированных сред.
# Установить chrony (Ubuntu/Debian)
sudo apt install chrony -y
# Установить chrony (RHEL/CentOS/AlmaLinux)
sudo dnf install chrony -y
# Запустить и включить службу
sudo systemctl enable --now chronyd
Конфигурация Chrony
# Редактировать файл конфигурации
sudo nano /etc/chrony/chrony.conf # Ubuntu/Debian
# или
sudo nano /etc/chrony.conf # RHEL/CentOS
# Пул NTP-серверов
pool 0.ru.pool.ntp.org iburst
pool 1.ru.pool.ntp.org iburst
# Cloudflare NTP (высокая точность)
server time.cloudflare.com iburst
# Google NTP
server time.google.com iburst
driftfile /var/lib/chrony/drift
logdir /var/log/chrony
makestep 1.0 3
rtcsync
# Перезапустить службу
sudo systemctl restart chronyd
# Проверить статус chrony
chronyc tracking
# Список NTP-источников
chronyc sources -v
# Статистика источников
chronyc sourcestats
Рекомендуемые NTP-серверы
| Сервер | Описание | Применение |
|---|---|---|
pool.ntp.org | Глобальный пул NTP | Общее использование |
ru.pool.ntp.org | Российский пул NTP | Российские серверы |
time.cloudflare.com | Cloudflare NTP | Высокая точность |
time.google.com | Google NTP | Высокая надёжность |
Синхронизация аппаратных часов (RTC)
# Записать системное время в аппаратные часы
sudo hwclock --systohc
# Прочитать аппаратные часы в системное время
sudo hwclock --hctosys
# Установить аппаратные часы в UTC
sudo hwclock --systohc --utc
Проверка
# Проверить статус синхронизации NTP
timedatectl | grep synchronized
# Проверить синхронизацию с chrony
chronyc tracking | grep "System time"
Не запускайте chrony и systemd-timesyncd одновременно. При установке chrony отключите timesyncd:
sudo systemctl disable --now systemd-timesyncd
Устранение неполадок
Часы не синхронизируются
# Проверить порт NTP (UDP 123)
sudo ufw allow 123/udp
# Проверить журнал chrony
sudo tail -f /var/log/chrony/tracking.log
# Принудительная синхронизация chrony
sudo chronyc makestep
Большое расхождение времени
# Установить время вручную (с отключённым NTP)
sudo timedatectl set-ntp false
sudo timedatectl set-time "2024-01-15 14:30:00"
sudo timedatectl set-ntp true
# Быстрое исправление с chrony
sudo chronyc makestep
Заключение
Правильная настройка часового пояса и NTP является фундаментальным требованием для надёжной серверной инфраструктуры. На серверах REXE вы можете поддерживать синхронизацию часов с помощью chrony или systemd-timesyncd, обеспечивая согласованность журналов и надёжность приложений.
Связанные статьи
Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Подключение к Windows VDS по RDP: полное руководство
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена ОС VDS-сервера: пошаговое руководство (Reinstall)
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.