Как настроить синхронизацию времени между устройствами системы?

Antrax - Консультация по работе системы

Как настроить синхронизацию времени между устройствами системы?

Что бы синхронизация времени проходила успешно необходимо, что бы все устройства работали на одном часовом поясе, для проверки часового пояса необходимо выполнить команду:

date

Данная команда выведет текущее время и часовой пояс:

Чтв Фев  8 14:44:57 EET 2018

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

Для Debian8:

dpkg-reconfigure tzdata

Для CentOS6.X:

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Регион/Город /etc/localtime

Где:

 Регион - это регион в котором находится данная временная зона, примеры:
Africa/      Atlantic/    Chile/       Eire         Factory      GMT-0        Iceland      Jamaica      MET          NZ           posix/       ROC          UCT          W-SU
America/     Australia/   CST6CDT      EST          GB           GMT+0        Indian/      Japan        Mexico/      NZ-CHAT      posixrules   ROK          Universal    zone.tab
Antarctica/  Brazil/      Cuba         EST5EDT      GB-Eire      Greenwich    Iran         Kwajalein    MST          Pacific/     PRC          Singapore    US/          Zulu
Arctic/      Canada/      EET          Etc/         GMT          Hongkong     iso3166.tab  Libya        MST7MDT      Poland       PST8PDT      SystemV/     UTC         
Asia/        CET          Egypt        Europe/      GMT0         HST          Israel       localtime    Navajo       Portugal     right/       Turkey       WET
 - город в котором находится данная временная зона, примеры городов для  - Asia:
Aden           Baghdad        Chita          Dili           Hovd           Karachi        Kuching        Nicosia        Qatar          Shanghai       Thimbu         Vientiane
Almaty         Bahrain        Choibalsan     Dubai          Irkutsk        Kashgar        Kuwait         Novokuznetsk   Qyzylorda      Singapore      Thimphu        Vladivostok
Amman          Baku           Chongqing      Dushanbe       Istanbul       Kathmandu      Macao          Novosibirsk    Rangoon        Srednekolymsk  Tokyo          Yakutsk
Anadyr         Bangkok        Chungking      Gaza           Jakarta        Katmandu       Macau          Omsk           Riyadh         Taipei         Ujung_Pandang  Yekaterinburg
Aqtau          Beirut         Colombo        Harbin         Jayapura       Khandyga       Magadan        Oral           Saigon         Tashkent       Ulaanbaatar    Yerevan
Aqtobe         Bishkek        Dacca          Hebron         Jerusalem      Kolkata        Makassar       Phnom_Penh     Sakhalin       Tbilisi        Ulan_Bator    
Ashgabat       Brunei         Damascus       Ho_Chi_Minh    Kabul          Krasnoyarsk    Manila         Pontianak      Samarkand      Tehran         Urumqi        
Ashkhabad      Calcutta       Dhaka          Hong_Kong      Kamchatka      Kuala_Lumpur   Muscat         Pyongyang      Seoul          Tel_Aviv       Ust-Nera      

Пример настройки временной зоны - Asia и - Almaty, это временная зона которая относится к GMT+6

sudo cp /etc/localtime /etc/localtime.bak
sudo ln -s -f /usr/share/zoneinfo/Asia/Almaty /etc/localtime

После настройки одной временной зоны для всех устройств, можно приступать к настройки сервисов, которые отвечают за синхронизацию времени между устройствами, таких как ntpd и chrony.

Настройка ntdp и chrony

На главном сервере с ОС(Операционная система) CentOS6.X(так называемый CS-сервер) обязательно необходим доступ к Интернету. Использовании ниже описанной конфигурации позволит клиентам VS и SS серверов синхронизироваться с CS даже при условии отсутствия у них доступа к сети Интернет. Синхронизация производится по порту: "123".

Ntpd настраивается только для Centos 6

Устанавливаем ntp и ntpdate:

yum install -y ntp ntpdate

Добавляем в автозагрузку ntpd и убираем из автозагрузки chronyd:

chkconfig ntpd on
chkconfig chronyd off

Останавливаем сhrony и ntp

/etc/init.d/chronyd stop
/etc/init.d/ntpd stop

Настройка ntpd:

mcedit /etc/ntp.conf

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

server time1.google.com iburst
server time2.google.com iburst
server time3.google.com iburst
server time4.google.com iburst

Применяем новые настройки:

sudo service ntpd reload

Включаем ntpd

/etc/init.d/ntpd start

Разрешаем UDP порт 123 порт в таблицу iptables:

iptables -A INPUT -s 192.168.0.0/16 -m state --state NEW -p udp --dport 123 -j ACCEPT

Сохраняем настройки:

service iptables save

Chrony настраивается только для Debian 8

Устанавливаем chrony и  ntpdate: 

apt-get install -y chrony ntpdate

Добавляем в автозагрузку ntpd и убираем из автозагрузки chronyd:

systemctl disable ntp
systemctl enable chrony

Останавливаем сhrony и ntp 

systemctl stop ntp
systemctl stop chrony

Настройка chrony:

mcedit /etc/chrony/chrony.conf

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

server Static_public_IP_address_of_CS iburst
server time1.google.com iburst
server time2.google.com iburst
server time3.google.com iburst
server time4.google.com iburst
initstepslew 5 Static_public_IP_address_of_CS

где Static_public_IP_address_of_CS - статический-публический IP адрес сервера, где установлен Control Server

Включаем  и добавляем в авто-запуск chrony :

systemctl enable chrony
systemctl start chrony

Ручная временная синхронизация 

Останавливаем сhrony и ntp в Centos 6.X или Debian 8:

/etc/init.d/chronyd stop
/etc/init.d/ntpd stop

Пробуем синхронизировать время при помощи утилиты ndpdate

ntpdate ntp_server
ntp_server - IP адрес или доменное имя сервиса по которому будет производится синхронизация времени, к примеру:
ntp.time.in.ua
time1.google.com
time.org

Если синхронизация не успешная, то можно произвести разовую синхронизацию  при помощи ntpdate используя не стандартный порт

ntpdate -u ntp_server

или

date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"


 


Loading...