Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Обзор

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

NTP использует UDP в качестве транспортного протокола с портом 123.  Для всех сообщений NTP используется UTC (англ. Universal Coordinated Time) - всемирное координированное время , которое совпадает со средним временем по Гринвичу.


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

  • если устройство, с которым ESR необходимо синхронизироваться , само не синхронизировано
  • если устройство, с которым ESR необходимо синхронизироваться имеет значительно отличающееся время, даже если его stratum ниже (лучше), чем у других.
  • если ESR не синхронизирован с другими серверами времени

Далее по тексту будут использоваться такие понятия как синхронизировать и синхронизироваться. В первом случае понятие подразумевает подвергнуть синхронизации устройства согласно переданным им данных времени (временные метки). Во втором случае устройство само будет синхронизировано по параметрам,  полученным от другого устройства.

Устройства Eltex ESR поддерживают следующие режимы ассоциаций:

  • Client
  • Server
  • Symmetric active
  • Symmetric passive
  • Broadcast client

Client-Server


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

Ниже приведён базовый пример настройки ESR, выступающего в роли NTP клиента, синхронизируемого внешним сервером времени NTP Server, и в качестве NTP сервера для хостов в локальной сети:

ntp enable
ntp server 46.146.231.187
  minpoll 1
  maxpoll 4
exit

Команда

Значение
ntp enableАктивация работы протокола NTP
ntp serverУказание NTP сервера, с которым будет осуществляться синхронизация времени
minpoll / maxpollМинимальный и максимальный интервалы времени между отправкой сообщений NTP-серверу


Для прохождения UDP дейтаграмм протокола NTP необходимо прописать разрешающее правило в паре зон, одна из которых определена на интерфейсе, ведущем к внешним NTP серверам . В качестве порта назначения укажем значение 123. Вы так же можете настроить отдельное разрешающее правило для зон, ведущих в локальный сегмент сети ( в нашем примере это зона trusted ), чтобы разрешить пропуск трафика NTP из локального сегмента сети к ESR :

object-group service NTP
  port-range 123
exit

security zone untrust
exit
security zone trusted
exit

interface gigabitethernet 1/0/1
  security-zone untrust
  ip address 198.19.0.1/30
exit
interface gigabitethernet 1/0/4
  security-zone trusted
  ip address 192.168.0.1/24
exit

security zone-pair untrust self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit
security zone-pair trusted self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit


Пример полной базовой конфигурации настройки ESR в качестве NTP сервера, синхронизируемого внешним сервером времени NTP Server и отдающий синхронизацию времени устройствам в локальной сети:

object-group service NTP
  port-range 123
exit

security zone untrust
exit
security zone trusted
exit

interface gigabitethernet 1/0/1
  security-zone untrust
  ip address 198.19.0.1/30
exit
interface gigabitethernet 1/0/4
  security-zone trusted
  ip address 192.168.0.1/24
exit

security zone-pair untrust self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit
security zone-pair trusted self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit

ntp enable
ntp server 46.146.231.187
  minpoll 1
  maxpoll 4
exit


Symmetric Active / Symmetric Passive


В симметричном режиме оба устройства выступают равноправными пирами, обменивающимися данными хронометража и, в зависимости от этих данных, синхронизируют время с пиринговой машиной или же сами синхронизируют её.

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

Симметричный пассивный режим активируется при поступление сообщения о работе в симметричном активном режиме соседнего однорангового узла, и сохраняется только до тех пор, пока одноранговый узел доступен и работает на уровне stratum, меньшем или равном хосту; в противном случае связь разрывается. Однако связь всегда будет сохраняться до тех пор, пока в ответ не будет отправлено хотя бы одно сообщение. Работая в этом режиме, хост объявляет о своей готовности к синхронизации и будет синхронизирован одноранговым узлом.

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

В контексте настроек ESR симметричный режим настраивается с помощью команды ntp peer <ip-address> . Чтобы между двумя устройствами ESR установился симметричный активный режим, необходимо на каждом из устройств настроить данные команды. Команды указания интервала отправки NTP меток соответствуют тем же, что и при режиме работы с сервером:

ntp peer 192.168.0.1
  minpoll 1
  maxpoll 4
exit

Типовая полная конфигурация одного пира ( второй настраивается с симметричными настройками ):

object-group service NTP
  port-range 123
exit

security zone untrust
exit
security zone trusted
exit

interface gigabitethernet 1/0/1
  security-zone untrust
  ip address 198.19.0.1/30
exit
interface gigabitethernet 1/0/4
  security-zone trusted
  ip address 192.168.0.1/24
exit

security zone-pair untrust self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit
security zone-pair trusted self
  rule 1
    action permit
    match protocol udp
    match destination-port NTP
    enable
  exit
exit

ntp enable
ntp server 46.146.231.187
  minpoll 1
  maxpoll 4
exit
ntp peer 192.168.0.100
  minpoll 1
  maxpoll 4
exit

Broadcast Client




Данный режим рекомендуется использовать в случаях, когда малое количество серверов обслуживает большое количество клиентов ( как правило - конечных устройств ). Работая в этом режиме, сервер периодически рассылает пакеты, используя широковещательный адрес подсети. Клиент, настроенный на синхронизацию таким способом, получает широковещательный пакет сервера и производит синхронизацию с сервером. Особенностью этого режима является то, что время доставляется в рамках одной подсети (ограничение broadcast-пакетов).

Активация функции broadcast-client переведёт устройство в режим прослушивания broadcast-сообщений от серверов, настроенных в аналогичном режиме. При этом настройки для symmetric-отношений с одноранговыми пирами на ESR будут игнорироваться.

Устройства линейки ESR поддерживают только broadcast-client режим и способны получать синхронизацию времени от внешних серверов времени, работающих в broadcast режиме:

ntp enable
ntp broadcast-client enable

Работа в Virtual Routing and Forwarding


На устройствах линейки ESR имеется возможность задания VRF, в котором устройство будет устанавливать Peer-to-Peer или Client-Server (в качестве Client) отношения. Для этого необходимо использовать команду vrf <INSTANCE> после указания адреса удалённой устройства времени:

ntp server 10.0.0.1 vrf LAN
ntp peer 198.18.0.1 vrf WAN

При этом, все устройства, выступающие в роли  NTP-клиентов для данного ESR, и находящиеся в других VRF, смогут получать синхронизацию времени. Значение таймштампов, отправляемое ESR NTP-клиентам, определяет маршрутизатор на основании полученных значений от NTP-устройств, с которыми настроены Peer-to-Peer или Client-Server (ESR - в качестве Client) соседства.

Механизмы защиты NTP


Для защиты NTP на устройствах линейки ESR необходимо использовать  NTP  object-group.

Данный функционал ограничивает NTP-запросы в сторону NTP-сервера  и позволяет фильтровать NTP-сообщения от несанкционированных устройств.

Режим работы  serve-only подразумевает обработку и ответ на NTP-query ( запрос времени ) от NTP-клиентов и одноранговых пиров. При этом сам NTP-сервер не будет пытаться синхронизироваться  ( Selection Algorithm - RFC5905 ) с временем, полученным в запросе от однорангового пира. Так же в данном режиме запрещены control message.

Режим работы query-only подразумевает обработку и ответ на NTP-query ( запрос времени ) от NTP-клиентов и одноранговых пиров. При этом сам NTP-сервер не будет пытаться синхронизироваться  ( Selection Algorithm - RFC5905 ) с временем, полученным в запросе от однорангового пира, но будет отвечать на control message.


Схема:


Задача:

Необходимо установить client-server ассоциации между ESR  и NTP Servers из определённого пула адресов для получения времени и распространения его в LAN-сегмент. NTP-клиенты в LAN сегменте должны лишь получать NTP-reply на запросы времени NTP-сервера от ESR, не пытаясь синхронизировать его. В  LAN-сегменте имеется так же сервер для мониторинга NTP-сервера внутри периметра.

Решение:

Предвариетльная настройка

Предварительно нужно выполнить следующие действия:

  • создать зону безопасности
  • описать взаимодействие между созданной зоной и зоной self
  • указать зону безопасности для интерфейса gi1/0/1;
  • настроить IP-адрес для интерфейса gi1/0/1, чтобы обеспечить IP-связность с NTP-сервером.

Пример:
security zone untrust
exit
object-group service NTP                                                                                                                                                                                     
  port-range 123                                                                                                                                                                                             
exit

interface gigabitethernet 1/0/1
  security-zone untrust
  ip address 192.168.52.8/24
exit
interface gigabitethernet 1/0/7
  ip firewall disable
  ip address 192.168.54.1/24
exit
interface gigabitethernet 1/0/8
  ip firewall disable
  ip address 192.168.154.1/24
exit

security zone-pair untrust self                                                                                                                                                                              
  rule 10                                                                                                                                                                                                    
    action permit                                                                                                                                                                                            
    match protocol udp                                                                                                                                                                                       
    match destination-port NTP                                                                                                                                                                               
    enable                                                                                                                                                                                                   
  exit                                                                                                                                                                                                       
exit
             

Основной этап конфигурирования


Этап 1. Настройка конфигураций для внешнего NTP-сервера.


Сконфигурируем настройки с внешним NTP-сервером:

esr(config)# ntp server 192.168.52.1


Укажем версию протокола:

esr(config-ntp)# version 4


Укажем предпочтительность данного NTP-сервера:

esr(config-ntp)# prefer


Укажем интервалы времени между отправкой NTP-запросов серверу:

esr(config-ntp)# minpoll 1
esr(config-ntp)# maxpoll 4
esr(config-ntp)# exit


Создадим список  IP-адресов доверенных NTP-серверов, от которых будет разрешено получать NTP-запросы для синхронизации времени:

esr(config)# object-group network  NTP_Servers
esr(config-object-group-network)# ip address-range 192.168.52.1                                                                                                                                       
esr(config-object-group-network)# exit


Укажем список IP-адресов внешних NTP-серверов и пиров, с которым будет разрешён обмен NTP-пакетами:

esr (config)# ntp access-addresses NTP_Servers


Этап 2. Настройка доступа к NTP-серверу на маршрутизаторе ESR.


Создадим несколько списков IP-адресов. Первым списком опишем лишь клиентов, которым необходимо лишь получать время от NTP-сервера. Вторым списком опишем хосты мониторинга, с которых будут разрешены control message в сторону NTP-сервера:

esr(config)# object-group network  NTP_Clients
esr(config-object-group-network)# ip address-range 192.168.54.2                                                                                                                                          
esr(config-object-group-network)# exit
esr(config)# object-group network NTP_Monitor                                                                                                                                                                   esr(config-object-group-network)# ip address-range 192.168.154.2                                                                                                                                                                           
esr(config-object-group-network)# exit


Укажем object-group для разделения прав доступа к NTP-серверу: object-group query-only будут опрашивать NTP-сервер в качестве сервера мониторинга, object-group serve-only будут лишь опрашиват NTP-сервер актуальное время:

esr(config)# ntp object-group query-only NTP_Monitor
esr(config)# ntp object-group serve-only NTP_Clients


Активируем протокол NTP на ESR и сохраним настройки:

esr (config)# ntp enable
esr (config)# end
esr# commit
esr# confirm


Диагностика NTP


Диагностика на ESR

Команда для просмотра текущей конфигурации протокола NTP:

esr # show ntp configuration
NTP status:          Enabled
NTP mode:            client/server
NTP DSCP:            46

Address                                          VRF instance                       Type     Version   Min poll   Max poll   Prefer   
----------------------------------------------   --------------------------------   ------   -------   --------   --------   ------   
192.168.52.1                                     1                                  server   4         1          4          Yes      

Команда для просмотра текущего состояние NTP-серверов (пиров):

esr# show ntp peers
Clock is synchronized, stratum 3, reference is 192.168.52.1
    remote                      vrf          refid             st   t   when   poll   reach   delay      offset     jitter     
-   -------------------------   ----------   ---------------   --   -   ----   ----   -----   --------   --------   --------   
*   192.168.52.1                             194.190.168.1     2    u   5      8      255     0.236      3.941      0.544      

Диагностика NTP на сервере мониторинга.

Для проведения диагностики необходимо иметь дистрибутив программы ntpq на сервере мониторинга NTP


Для просмотра текущего пула пиров NTP у указанного сервера используйте команду ntpq -p <IP_адрес_сервера> :

ntpq -p 192.168.154.1
 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 192.168.52.1                    16 p    -   64    0    0.000    0.000   0.000
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000    


Чтобы посмотреть подробную информацию по текущему NTP состоянию хоста воспользуйтесь командой ntpq -c sysinfo :

ntpq -c sysinfo

associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
system peer:        91.206.16.3 (tms04.deltatelesystems.ru):123
system peer mode:   client
leap indicator:     00
stratum:            2
log2 precision:     -24
root delay:         29.148
root dispersion:    31.738
reference ID:       91.206.16.3
reference time:     e92e5d4c.b1222172  Thu, Dec 21 2023 13:44:28.691
system jitter:      10.929530
clock jitter:       3.121
clock wander:       0.386
broadcast delay:    -50.000
symm. auth. delay:  0.000
   


Чтобы посмотреть на текущие ассоциации с пирами воспользуйтесь командой ntpq -c associations :

ntpq -c associations

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1   981  8811   yes  none  none    reject    mobilize  1
  2   982  8811   yes  none  none    reject    mobilize  1
  3   983  8811   yes  none  none    reject    mobilize  1
  4   984  8811   yes  none  none    reject    mobilize  1
  5   985  8811   yes  none  none    reject    mobilize  1
  6   986  8811   yes  none  none    reject    mobilize  1
  7   987  132a    no   yes  none   outlier    sys_peer  2
  8   994  148a    no   yes  none candidate    sys_peer  8
  9  1001  163a    no   yes  none  sys.peer    sys_peer  3
 10  1002  1414    no   yes  none candidate   reachable  1

   

Для сопоставления режима ассоциаций, используйте параметр столбца assid в выводе команды ntpq -c apeers :

ntpq -c apeers

     remote       refid   assid  st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.   981    16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.   982    16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.   983    16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.   984    16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.   985    16 p    -   64    0    0.000    0.000   0.000
 10.0.0.255      .BCST.   986    16 B    -    8    0    0.000    0.000   0.000
-ntp1.doorhan.ru c2bea801 987     2 u  556 1024  377   43.485   -1.493 232.904
+ntp.ix.ru       .GLN.    994     1 u  646 1024  377   22.341    7.570   0.359
*91.206.16.3 (tm .GPS.    1001    1 u  504 1024  377   29.148   -3.963   0.556
+time.cloudflare a570cb4  1002    3 u  562 1024  377   42.908   -2.125   3.308
  • Нет меток