⏲️ Как установить и настроить NTP-сервер и NTP-клиент на Linux?

by itisgood

Возможно, вы слышали это слово много раз, а также, возможно, работали с ним.

Тем не менее, я расскажу вам ясно в этой статье о настройке NTP-сервера и NTP-клиента

О настройке Chrony NTP Client мы узнаем позже.

Что такое NTP-сервер?

NTP означает сетевой протокол времени.

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

Он будет сохранять одинаковое время (точное время) для всех систем, которые подключены к NTP-серверу через NTP или клиент Chrony.

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

Он использует протокол пользовательских дейтаграмм (UDP) на порту номер 123 для отметок времени отправки и получения.

Это клиент / серверное приложение.

Он отправляет и получает временные метки с использованием протокола пользовательских дейтаграмм (UDP) на порту 123.

Что такое NTP-клиент?

NTP-клиент синхронизирует свои часы с сетевым сервером времени.

Что такое Chrony ?

Chrony  – это замена NTP-клиента.

Он может синхронизировать системные часы с большей точностью и может быть особенно полезен для систем, которые не подключены к сети все время.

Зачем нам нужен NTP сервер?

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

Чтобы прояснить это, я расскажу вам сценарий.

Скажем, например, у нас есть два сервера (Server1 и Server2).

Server1 обычно выполняет пакетные задания в 10:55, а затем Server2 необходимо выполнить другое задание в 11:00 на основании отчета о завершении задания Server1.

Если обе системы используют в разное время (если одна система опережает другие, другие отстают от этой конкретной), мы не сможем это сделать.

Для этого нам нужно настроить NTP.

Надеюсь, это убрало ваши сомнения по поводу необходимости  NTP.

В этой статье мы будем использовать следующую настройку, чтобы проверить работу NTP

  • NTP-сервер: HostName: CentOS7.itisgood.ru, IP: 192.168.1.8, ОС: CentOS 7
  • NTP-клиент: HostName: Ubuntu18.itisgood.ru, IP: 192.168.1.5, ОС: Ubuntu 18.04

СТОРОНА NTP-СЕРВЕРА: Как установить NTP-сервер на Linux?

Не существует разных пакетов для NTP-сервера и NTP-клиента, так как это модель клиент / сервер.

Пакет NTP доступен в официальном репозитории дистрибутива, поэтому используйте его для установки.

Для системы Fedora используйте DNF для установки ntp.

$ sudo dnf install ntp

Для систем Debian / Ubuntu используйте команду APT-GET или APT для установки ntp.

$ sudo apt install ntp

Для систем на основе Arch Linux используйте Pacman для установки ntp.

$ sudo pacman -S ntp

Для систем RHEL / CentOS используйте команду YUM для установки ntp.

$ sudo yum install ntp

Для системы openSUSE Leap используйте Zypper для установки ntp.

$ sudo zypper install ntp

Как настроить NTP-сервер на Linux?

После установки пакета NTP убедитесь, что вы раскомментировали следующую конфигурацию в файле /etc/ntp.conf на стороне сервера.

По умолчанию конфигурация NTP-сервера основана на X.distribution_name.pool.ntp.org.

Если вы хотите, вы можете использовать конфигурацию по умолчанию или изменить ее в соответствии с вашим местоположением (в зависимости от страны), посетив https://www.ntppool.org/zone/@

Скажем например.

Если вы находитесь в Индии, то ваш NTP-сервер будет 0.in.pool.ntp.org, и он будет работать для большинства стран.

# vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

Мы разрешили только клиентам подсети 192.168.1.0/24  получать доступ к NTP-серверу.

Поскольку брандмауэр по умолчанию включен в дистрибутивах на основе RHEL 7, разрешите использование сервера / службы ntp.

# firewall-cmd --add-service=ntp --permanent
# firewall-cmd --reload

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

# service ntpd restart

# chkconfig ntpd on

Для systemctl систем

# systemctl restart ntpd

# systemctl enable ntpd

СТОРОНА КЛИЕНТА NTP: Как установить клиент NTP в Linux?

Как я уже упоминал ранее в этой статье.

Не существует специального пакета для NTP-сервера и клиента. Итак, установите этот же пакет на клиенте.

Для системы Fedora используйте DNF для установки ntp.

$ sudo dnf install ntp

Для систем Debian / Ubuntu используйте команду APT-GET или APT для установки ntp.

$ sudo apt install ntp

Для систем на основе Arch Linux используйте Pacman для установки ntp.

$ sudo pacman -S ntp

Для систем RHEL / CentOS используйте команду YUM для установки ntp.

$ sudo yum install ntp

Для системы openSUSE Leap используйте Zypper для установки ntp.

$ sudo zypper install ntp

Я установил и настроил NTP-сервер на CentOS7.itisgood.ru, добавив те же самые настройки на все клиентские машины.

# vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server CentOS7.itisgood.ru
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

# service ntpd restart

# chkconfig ntpd on

Для systemctl систем.

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

# systemctl restart ntpd

# systemctl enable ntpd

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

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

# ntpq –p
или
# ntpq -pn

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*CentOS7.itisgood 133.243.238.163  2 u   14   64   37    0.686    0.151  16.432

Выполните следующую команду, чтобы получить текущий статус ntpd.

# ntpstat
synchronised to NTP server (192.168.1.8) at stratum 3
   time correct to within 508 ms
   polling server every 64 s

Наконец, запустите команду date

# date
Tue Mar 26 23:17:05 CDT 2019

Если вы наблюдаете значительное смещение по времени на выводе NTP,  выполните следующую команду, чтобы синхронизировать часы вручную с NTP-сервера.

Убедитесь, что ваш NTP-клие неактивен, когда вы выполняете команду.

# ntpdate –uv CentOS7.itisgood.ru

 

You may also like

Leave a Comment