Пример настройки NTP (Network Time Protocol) на «С-Терра Шлюз»

Скачать в формате PDF

Настоящий документ содержит описание способа совместного использования Продуктов компании ООО

«С-Терра СиЭсПи» и Продуктов третьих производителей.

ООО «С-Терра СиЭсПи» осуществляет сопровождение настоящего сценария в части настроек Продуктов Компании. Упоминание наименований, продуктов, торговых марок третьих организаций исключительно неформально и не является поддержкой, рекомендацией либо рекламой. ООО «С-Терра СиЭсПи» не несет какой-либо ответственности в отношении работоспособности и использования этих Продуктов.

Документ имеет статус вспомогательного материала, который может быть использован технологическими партнерами, компаниями-интеграторами, при разработке собственных решений.

Решения, разработанные на базе данного сценария, могут применяться в действующих сетях/системах

только после тестовой и/или опытной эксплуатации.

Логика работы NTP

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

С-Терра Шлюз может выступать NTP клиентом, NTP сервером, так и одновременно клиентом и сервером.

В данной инструкции предполагается, что NTP сервер (который также является клиентом) настраивается на шлюзе (его IP-адрес 10.0.1.100) в условном центре, а NTP клиентами являются шлюзы, установленные в условных филиалах.

Рассматривается два варианта настроек - без аутентификации NTP сервера и с аутентификацией по симметричному ключу.

Настоятельно рекомендуется защищать обмен протокола NTP при помощи IPsec, так как встроенной аутентификации в протоколе NTP недостаточно для обеспечения надлежащей защиты.

Предварительные требования

1.    Устройства С-Терра Шлюз должны быть инициализированы (подробнее на http://doc.s-terra.ru раздел С-Терра Шлюз -> С-Терра Шлюз 4.3 -> «Подключение ПАК и инициализация С-Терра Шлюз на вычислительных системах архитектуры Intel x86/x86-64»).

2.    На шлюзе должен быть открыт порт 123 протокола UDP (по умолчанию открыт).

3.    На шлюзе должен быть настроен соответствующий часовой пояс:

root@sterragate:~# dpkg-reconfigure tzdata

root@sterragate:~# exit

4.    На шлюзе должны быть заданы рабочие DNS сервера:

administrator@sterragate] configure

sterragate login: cscons

Password:

S-Terra Gate 4.3.XXXXX (amd64)

sterragate#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

sterragate(config)#ip name-server 77.88.8.8 77.88.8.1

sterragate(config)#exit

sterragate#exit

В примере заданы DNS сервера Яндекс (https://dns.yandex.ru/).

Пример настройки без аутентификации NTP сервера

Пример настройки NTP сервера

1.    Выполните предварительные требования.

2.    Перейдите в терминал linux и очистите конфигурационный файл /etc/ntp.conf службы ntp, выполнив команды:

administrator@sterragate] system

Entering system shell...

root@sterragate:~# echo > /etc/ntp.conf

3.    Добавьте в конфигурационный файл /etc/ntp.conf следующие строки:

root@sterragate:~# vim.tiny /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

server 0.ru.pool.ntp.org iburst

server 1.ru.pool.ntp.org iburst

server 2.ru.pool.ntp.org iburst

server 3.ru.pool.ntp.org iburst

restrict default limited kod notrap nomodify nopeer noquery

restrict 127.0.0.1

где:

·         driftfile /var/lib/ntp/ntp.drift - файл для записи смещения частоты локального генератора тактовых импульсов (не рекомендуется менять).

·         server 0.ru.pool.ntp.org iburst - указываем сервер, с которым будет производиться синхронизация времени.

·         restrict default limited kod notrap nomodify nopeer noquery - разрешаем всем только синхронизацию времени.

·         restrict 127.0.0.1 - разрешаем любой доступ сервера к самому себе.

 

Для больших подробностей смотрите описание параметров по ссылке: https://manpages.debian.org/stretch/ntp/ntp.conf.5.en.html

 

4.    Перезагрузите службу ntp:

root@sterragate:~# systemctl restart ntp.service

5.    Подождите 10 - 15 минут и выполните:

root@sterragate:~# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

+webhost2.mitht. 77.37.134.150    2 u  229  256  377   44.955    2.320   1.446

*time.ooonet.ru  194.190.168.1    2 u   26  256  377   27.832    1.751   0.926

+89.169.173.117  89.109.251.24    2 u  129  256  377    4.846    1.504   0.492

+46-8-40-31.regn 212.20.50.208    2 u   99  256  377   50.095    1.747   0.976

Обратите внимание на звездочку (*), которая говорит о том, что синхронизация производится с данного сервера.

6.    Для того чтобы служба ntp запускалась после перезагрузки системы, выполните команду:

root@sterragate:~# systemctl enable ntp.service

Пример настройки NTP клиента

1.    Выполните предварительные требования.

2.    Очистите конфигурационный файл /etc/ntp.conf службы ntp, выполнив команду:

root@sterragate:~# echo > /etc/ntp.conf

3.    Добавьте в конфигурационный файл /etc/ntp.conf следующие строки:

root@sterragate:~# vim.tiny /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

server 10.0.1.100 iburst

restrict default limited kod notrap nomodify nopeer noquery

restrict 127.0.0.1

где:                                                                         

·         driftfile /var/lib/ntp/ntp.drift - файл для записи смещения частоты локального генератора тактовых импульсов (не рекомендуется менять).

·         server 10.0.1.100 iburst - указываем сервер, с которым будет производиться синхронизация времени (10.0.1.100 - IP- адрес шлюза с настроенным NTP сервером).

·         restrict default limited kod notrap nomodify nopeer noquery - разрешаем всем только синхронизацию времени.

·         restrict 127.0.0.1 - разрешаем любой доступ сервера к самому себе.

4.    Перезагрузите службу ntp:

root@sterragate:~# systemctl restart ntp.service

5.    Подождите 10 - 15 минут и выполните:

root@sterragate:~# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

*10.0.1.100      89.169.173.117   3 u   44  128  377    0.191   13.500   2.848

Обратите внимание на звездочку (*), которая говорит о том, что синхронизация производится с данного сервера.

6.    Для того чтобы служба ntp запускалась после перезагрузки системы, выполните команду:

root@sterragate:~# systemctl enable service

Пример настройки с аутентификацией NTP сервера

Пример настройки NTP сервера

1.    Выполните предварительные требования.

2.    Очистите конфигурационный файл /etc/ntp.conf службы ntp, выполнив команду:

root@sterragate:~# echo > /etc/ntp.conf

3.    Создайте директорию для файла с ключами:

root@sterragate:~# mkdir -p /etc/ntp/

4.    Создайте файл /etc/ntp/keys с ключами и добавьте в него ключ:

Идентификатор ключа (key ID), алгоритм хеширования (hash algorithm) и сам ключ (key) должны быть одинаковыми как на сервере, так и на клиенте.

root@sterragate:~# vim.tiny /etc/ntp/keys

# key ID | hash algorithm | key

1 MD5 secret

В качестве алгоритма хеширования поддерживается только MD5. Длина пароля ограничена 20 символами ASCII.

5.    Добавьте в конфигурационный файл /etc/ntp.conf следующие строки:

root@sterragate:~# vim.tiny /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

server 0.ru.pool.ntp.org iburst

server 1.ru.pool.ntp.org iburst

server 2.ru.pool.ntp.org iburst

server 3.ru.pool.ntp.org iburst

restrict default limited kod notrap nomodify nopeer noquery

restrict 127.0.0.1

keys /etc/ntp/keys

trustedkey 1

где:

·         driftfile /var/lib/ntp/ntp.drift - файл для записи смещения частоты локального генератора тактовых импульсов (не рекомендуется менять).

·         server 0.ru.pool.ntp.org iburst - указываем сервер, с которым будет производиться синхронизация времени.

·         restrict default limited kod notrap nomodify nopeer noquery - разрешаем всем только синхронизацию времени.

·         restrict 127.0.0.1 - разрешаем любой доступ сервера к самому себе.

·         keys /etc/ntp/keys - файл с ключами.

·         trustedkey 1 - список доверенных ключей (key ID) из файла с ключами (если ключей несколько, то укажите их через пробел «trustedkey 1 2 3»).

 

Для больших подробностей смотрите описание параметров по ссылке: https://manpages.debian.org/stretch/ntp/ntp.conf.5.en.html..

6.    Перезагрузите службу ntp:

root@sterragate:~# systemctl restart ntp.service

7.    Подождите 10 - 15 минут и выполните:

root@sterragate:~# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

+webhost2.mitht. 77.37.134.150    2 u  229  256  377   44.955    2.320   1.446

*time.ooonet.ru  194.190.168.1    2 u   26  256  377   27.832    1.751   0.926

+89.169.173.117  89.109.251.24    2 u  129  256  377    4.846    1.504   0.492

+46-8-40-31.regn 212.20.50.208    2 u   99  256  377   50.095    1.747   0.976

Обратите внимание на звездочку (*), которая говорит о том, что синхронизация производится с данного сервера.

8.    Для того чтобы служба ntp запускалась после перезагрузки системы, выполните команду:

root@sterragate:~# systemctl enable ntp.service

Пример настройки NTP клиента

1.    Выполните предварительные требования.

2.    Очистите конфигурационный файл /etc/ntp.conf службы ntp, выполнив команду:

root@sterragate:~# echo > /etc/ntp.conf

3.    Создайте директорию для файла с ключами:

root@sterragate:~# mkdir -p /etc/ntp/

4.    Создайте файл /etc/ntp/keys с ключами и добавьте в него ключ:

Идентификатор ключа (key ID), алгоритм хеширования (hash algorithm) и сам ключ (key) должны быть одинаковыми как на сервере, так и на клиенте.

root@sterragate:~# vim.tiny /etc/ntp/keys

# key ID | hash algorithm | key

1 MD5 secret

В качестве алгоритма хеширования поддерживается только MD5. Длина пароля ограничена 20 символами ASCII.

5.    Добавьте в конфигурационный файл /etc/ntp.conf следующие строки:

root@sterragate:~# vim.tiny /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

server 10.0.1.100 iburst key 1

restrict default limited kod notrap nomodify nopeer noquery

restrict 127.0.0.1

keys /etc/ntp/keys

trustedkey 1

где:

·         driftfile /var/lib/ntp/ntp.drift - файл для записи смещения частоты локального генератора тактовых импульсов (не рекомендуется менять).

·         server 10.0.1.100 iburst key 1 - указываем сервер, с которым будет производиться синхронизация времени (10.0.1.100 - IP- адрес шлюза с настроенным NTP сервером) и key ID из файла с ключами.

·         restrict default limited kod notrap nomodify nopeer noquery - разрешаем всем только синхронизацию времени.

·         restrict 127.0.0.1 - разрешаем любой доступ сервера к самому себе.

·         keys /etc/ntp/keys - файл с ключами.

·         trustedkey 1 - список доверенных ключей (key ID) из файла с ключами (если ключей несколько, то укажите их через пробел «trustedkey 1 2 3»).

6.    Перезагрузите службу ntp:

root@sterragate:~# systemctl restart ntp.service

7.    Подождите 10 - 15 минут и выполните:

root@sterragate:~# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

*10.0.1.100      89.169.173.117   3 u   44  128  377    0.191   13.500   2.848

Обратите внимание на звездочку (*), которая говорит о том, что синхронизация производится с данного сервера.

8.    Для того чтобы служба ntp запускалась после перезагрузки системы, выполните команду:

root@sterragate:~# systemctl enable ntp.service