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

Иногда возникает проблема с отображением корректного времени на сервере. После выключения сервера, отката изменений или сбоя работы службы синхронизации появляется проблема с отображением времени на сайте, неверным временем совершения заказов на сайте и разницей между временем на сервере и временем в сервере баз данных MySQL. Данная статья поможет настроить синхронизацию времени на примере настройки для Centos 6.

1) Установка. Как правило, ntp-клиент уже установлен на сервере. Если не установлен - устанавливаем:

# yum install -y ntp ntpdate

2) Настройка. Вносим изменения в файл /etc/ntp.conf Изменяем

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst 
На ,code>server 0.by.pool.ntp.org iburst dynamic server 1.de.pool.ntp.org iburst dynamic </code> Мы указали, с какими серверами будет производиться синхронизация времени. Лучше брать сервера из разных часовых зон (в нашем случае это Германия и Беларусь).

Запускаем службу:

# service ntpd start 
После запуска, служба синхронизирует время.

3) Проверка. Останавливаем демон ntpd:

 # service ntpd stop 
Выполняем команду для проверки текущего времени:
# ntpdate 0.by.pool.ntp.org 
Ответом будем вывод результата проверки, например:

# ntpdate[23123]: adjust time server 178.124.134.106 offset -0.005006 sec

Где 0.005006 sec - отставание от глобального сервера, т.е. 0,005 секунды, что допустимо.

Основной причиной невозможности синхронизировать время является настройка файрвола на сервере. Для добавления разрешающих правил на соединение с сервером, необходимо добавить в конфигурационный файл /etc/sysconfig/iptables следующие команды (IP-адреса серверов by.pool.ntp.org и de.pool.ntp.org):

-A INPUT -s 178.172.163.254 -j ACCEPT
-A INPUT -s 217.21.61.36 -j ACCEPT
-A INPUT -s 178.124.134.106 -j ACCEPT
-A INPUT -s 31.130.200.2 -j ACCEPT
-A INPUT -s 89.163.209.233 -j ACCEPT
-A INPUT -s 81.7.4.127 -j ACCEPT
-A INPUT -s 5.45.97.110 -j ACCEPT
-A INPUT -s 46.163.88.237 -j ACCEPT 
Перезапускаем файрвол и проверяем синхронизацию:
 # service iptables restart
# ntpdate 0.by.pool.ntp.org 

4) Настройка планировщика. Для поддержания времени сервера актуальным, оптимальным будет добавления в планировщик cron команды на перезапуск службы синхронизации каждые 12 часов. Добавляем в /etc/crontab строку:

 0 */12 * * * root service ntpd restart 
И перезапускаем демон cron:
 # service crond restart 
На этом настройка синхронизации завершена. Проверять текущее время на сервере можно командой #date:

[root@localhost ~]# date Thu May 5 14:15:51 MSK 2016

Статьи по теме:

https://ru.wikipedia.org/wiki/NTP http://www.pool.ntp.org/zone/europe

общая_настройка_сервера/синхронизация_времени_на_linux.txt · Последние изменения: 2016/05/27 11:35 — ls_support.by