Как настроить сервер NTP в CentOS.

Как настроить сервер NTP в CentOS

Автор Sarmed Rahman

Network Time Protocol (NTP)  — используется для синхронизации системных часов различных хостов по сети. Все управляемые хосты могут синхронизировать свое время с назначенным сервером времени под названием сервер NTP. Сервер NTP с другой стороны синхронизирует свое время с любого общедоступного сервера NTP, или любого сервера по вашему выбору. Системные часы всех NTP-управляемых устройств синхронизируются с точностью до миллисекунды. В корпоративных сетях, если владельцы не хотят или нет возможности открыть брандмауэр для NTP-трафика, необходимо создать в свой сервер NTP, в таком случае сотрудники используют внутренний сервер, в отличие от публичных серверов NTP.Прежде чем углубляться в детали, давайте рассмотрим понятие NTP в первую очередь.

Зачем нам нужен NTP?

В силу существующих погрешностей в  производстве, все (не атомные) часы работают с разной скоростью отсчёта времени. Некоторые, как правило, идут быстрее, а некоторые медленнее. Так в течение большого периода времени, время одного такта, постепенно дрейфует от другого, в результате чего, возникает явление, известное как «дрейф времени» или «временной дрейф». Чтобы свести к минимуму влияние дрейфа, пользователям с помощью NTP следует периодически обращаться к назначенному серверу NTP, чтобы синхронизировать их системное время.

Синхронность разных хостов важна для таких вещей, как запланированное резервное копирование, обнаружение и регистрация вторжений , распределенного планирования или бухгалтерии и многого другого.

NTP Иерархия

NTP часы организованы в слоистой иерархии. Каждый уровень иерархии называется (stratum) слой. Понятие слоя описывает, сколько NTP переходов от машины из авторитетного источника времени.

иерархия stratum-серверов

Нулевой слой заполняется с часами, которые не имеют практически никаких временных погрешностей, такие как атомные часы. Эти часы не могут быть непосредственно использованы в сети. Слой N (N> 1) серверы синхронизируют время от серверов stratum N -1. Часы N слоя  могут быть связаны друг с другом через сеть. NTP поддерживает до 15 слоев в иерархии. Слой 16 считается не синхронизированным и непригодным для использования.

Подготовка CentOS сервера

Теперь давайте перейдем к настроить сервер NTP на CentOS. Прежде всего, мы должны убедиться, что часовой пояс сервера настроен правильно. В CentOS 7, мы можем использовать  timedatectl  для просмотра и изменения часового пояса сервера (например, «Австралия / Аделаида»)


 

# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl

timedatectl
timedatectl

 

Необходимо настроить необходимое программное обеспечение, используя  yum.


# yum install ntp


 

Затем мы добавим глобальных серверов NTP для синхронизации времени с указанными источниками.


# vim /etc/ntp.conf

server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org

 

По умолчанию журналы сервера NTP сохраняются в /var/log/messages. При необходимости можно переопределить и  использовать пользовательский файл журнала, как указано ниже.


logfile /var/log/ntpd.log

Если вы выберете пользовательский файла журнала, измените соответственно пути.


# chown ntp:ntp /var/log/ntpd.log
# chcon -t ntpd_log_t /var/log/ntpd.log


Теперь можно начать обслуживание NTP но прежде — убедитесь, что он запущен.


# systemctl restart ntp
# systemctl enable ntp


Проверка сервера NTP.

Мы можем использовать команду ntpq чтобы проверить, как часы локальный сервер синхронизируется с помощью NTP.

ntpq

Следующая таблица объясняет выходные столбцы.


 

 remote The sources defined at ntp.conf. ‘*’ indicates the current and best source; ‘+’ indicates that these sources are available as NTP source. Sources with — are considered unusable.(Источники определены в ntp.conf.    ‘*’ Означает, только лучший источник;      «+» Указывает на то, что эти источники доступны в качестве источника NTP.  Источники с » — » считаются непригодными для использования.)


refid The IP address of the clock with which the remote server clock is synchronized with.(IP-адрес, с которым дистанционно синхронизируются часы)


 st Stratum


 t Type. ‘u’ is for unicast. Other values may include local, multicast, broadcast.(Тип. ‘U’ для одноадресной передачи. Другие значения могут включать в себя местную, групповой, трансляцию.)


 when The time elapsed (in seconds) since the last contact with the server. (Время, прошедшее (в секундах) с момента последней синхронизации с сервером.)


 poll Polling frequency with the server in seconds.( голосование,  частота опроса сервера, в секундах. )


 reach An octal value that indicates whether there are any errors in communication with the server. The value 377 indicates 100% success.(Восьмеричное значение, которое указывает, есть ли какие-либо ошибки в связи с сервером. Значение 377 указывает на 100% успех.)


 delay The round trip time between our server and the remote server. (округлённая задержка времени передачи между нашим сервером и удаленным сервером. смещение)


 offset The time difference between our server and the remote server in milliseconds.(Разница во времени между нашим сервером и удаленным сервером в миллисекундах.)


 jitter The average time difference in milliseconds between two samples.(Разница в среднем раз в миллисекундах между двумя запросами)

 

 

Управление доступом к NTP-серверу

По умолчанию, сервер NTP позволяет входящие запросы от всех хостов. Если вы хотите, чтобы фильтровать входящие соединения NTP синхронизации, можно добавить правило в брандмауэре, чтобы фильтровать трафик.


# iptables -A INPUT -s 192.168.1.0/24 -p udp —dport 123 -j ACCEPT
# iptables -A INPUT -p udp —dport 123 -j DROP


 

Правило позволит NTP трафик (порт UDP / 123) от 192.168.1.0/24, и запретить трафик от всех других сетей.Вы можете обновить правило, в соответствии вашим требованиям.

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

1. Linux Клиент NTP Необходим пакет Ntpdate для синхронизации времени на сервере. Пакет может быть легко получен и установлен с помощью Yum или APT. После установки пакета, выполните команду с IP-адресом сервера.


# ntpdate <server-IP-address>


Команда идентична для систем основанных на RHEL и Debian.

2. Windows Если вы используете Windows, ищите в интернете  ‘Time’ под настройки даты и времени.

3. Cisco Устройства Если вы хотите, чтобы синхронизировать время устройства Cisco, вы можете использовать следующую команду из режима глобальной конфигурации.

# ntp server <server-IP-address>

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

 

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.