среда, 25 августа 2010 г.

Синхронизация времени по NTP

В данной заметке приводится пример настройки синхронизации времени по протоколу NTP на маршрутизаторах Cisco, Juniper.
Для начала необходимо выбрать несколько источников синхронизации и устройство, которое будет от них синхронизироваться. Примем следующую схему:



Настроим ntp на граничном маршрутизаторе, подключенному к сети Интернет. Источники синхронизации рекомендую выбирать самостоятельно:
interface Loopback0
 ip address 999.999.999.1 255.255.255.255
!
access-list 5 permit 999.999.999.0 0.0.0.255
access-list 6 permit 58.73.137.250
access-list 6 permit 146.164.48.5
access-list 6 permit 193.67.79.202
access-list 6 permit 130.149.17.8
access-list 6 permit 192.38.7.240
access-list 6 permit 199.165.76.11
access-list 6 permit 193.49.205.19
access-list 6 permit 140.31.199.8
access-list 6 permit 18.26.4.105
access-list 6 permit 192.36.133.17
access-list 6 permit 192.36.134.25
access-list 6 permit 62.117.76.142
access-list 6 permit 62.117.76.141
access-list 6 permit 62.117.76.140
access-list 6 permit 193.62.22.98
access-list 6 permit 129.6.15.28
access-list 6 permit 192.5.41.40
access-list 6 permit 193.2.4.2
access-list 6 permit 193.190.230.66
access-list 6 permit 131.188.3.220
access-list 6 permit 133.100.9.2
!
ntp source Loopback0
ntp access-group peer 6
ntp access-group serve-only 5
ntp master 5
ntp server 133.100.9.2
ntp server 193.2.4.2
ntp server 146.164.48.5
ntp server 130.149.17.8
ntp server 140.31.199.8
ntp server 199.165.76.11
ntp server 62.117.76.140
ntp server 62.117.76.141
ntp server 62.117.76.142
ntp server 192.36.133.17
ntp server 192.36.134.25
ntp server 129.6.15.28
ntp server 192.5.41.40
ntp server 193.190.230.66
ntp server 193.67.79.202
ntp server 131.188.3.220
ntp server 193.62.22.98
ntp server 18.26.4.105
ntp server 192.38.7.240
В данной конфигурации ntp делает запросы от интерфейса lo0. Порядок команд неслучаен. В случае, когда сначала задаются сервера, а потом интерфейс, обращения идут от ближайшего к серверу NTP интерфейса. Потребуется перезагрузка, либо удаление всех серверов и добавление их заново. Критично для случаев, когда у вас какие-либо ACL разрешают доступ по ntp для определенных адресов, либо NAT транслирует только Loopback'и, а запросы от них могут не идти, если порядок команд нарушен.
ntp access-group peer - разрешаем синхронизироваться от нашего маршрутизатора только устройствам из собственной сети.
ntp access-group serve-only - разрешаем синхронизироваться нашему маршрутизатору только от указанных устройств.
ntp master 5 - повысим немного stratum до 5.
Проверка:
BORDER#show ntp associations 

  address         ref clock       st   when   poll reach  delay  offset   disp
 ~127.127.1.1     .LOCL.           4      1     16   377  0.000   0.000  0.239
-~133.100.9.2     .GPS.            1    329   1024   377 388.76 -10.480 14.844
+~193.2.4.2       .GPS.            1    868   1024   377 138.63  -4.156 18.690
-~146.164.48.5    .GPS.            1    314   1024   377 329.80   5.906 14.825
+~130.149.17.8    .PPS.            1     53   1024   377 124.31  -3.582 18.644
-~140.31.199.8    140.31.199.67    2    347   1024   377 347.89 -28.847 14.845
-~199.165.76.11   .GPS.            1    858   1024   377 309.38   3.031 18.684
+~62.117.76.140   .PPS.            1    892   1024   377 54.026  -3.515 18.692
*~62.117.76.141   .PPS.            1    313   1024   377 53.562  -9.441 14.849
+~62.117.76.142   .PPS.            1    333   1024   377 57.318  -7.557 18.681
+~192.36.133.17   .PPS.            1    874   1024   377 130.73  -2.285 18.667
+~192.36.134.25   .PPS.            1    352   1024   377 129.74  -5.566 18.663
-~129.6.15.28     .ACTS.           1    880   1024   377 206.10 -19.655 14.827
-~192.5.41.40     .USNO.           1    296   1024   377 217.28   0.761 18.689
+~193.190.230.66  .PPS.            1    342   1024   377 130.40  -9.481 14.822
-~193.67.79.202   .PPS.            1    828   1024   377 117.07   1.319 14.826
+~131.188.3.220   .GPS.            1    874   1024   377 131.95  -4.950 14.835
+~193.62.22.98    .MSF.            1    354   1024   377 121.55  -2.656 18.648
+~18.26.4.105     .PPS.            1    874   1024   377 213.95  -5.532 14.825
+~192.38.7.240    .GPS.            1     83   1024   377 146.92  -8.415 14.828
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

BORDER#show ntp status
Clock is synchronized, stratum 2, reference is 62.117.76.141 
nominal freq is 250.0000 Hz, actual freq is 249.9828 Hz, precision is 2**24
reference time is D01F0B38.43F765F3 (11:23:36.265 KRSK Wed Aug 25 2010)
clock offset is -0.0094 msec, root delay is 0.05 msec
root dispersion is 0.03 msec, peer dispersion is 0.01 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000068667 s/s
system poll interval is 1024, last update was 434 sec ago.

BORDER#show clock detail 
11:29:59.076 KRSK Wed Aug 25 2010
Time source is NTP
Summer time starts 02:00:00 KRSK Sun Mar 28 2010
Summer time ends 03:00:00 KRSK Sun Oct 31 2010

Внешний источник синхронизации настроен, но есть еще и внутри сети атомные часы 10.10.10.10 на случай ядерной войны. Настройка маршрутизаторов 10.0.0.1 и 10.0.0.2 примитивна:
access-list 5 permit 10.0.0.0 0.255.255.255
access-list 6 permit 999.999.999.1
access-list 6 permit 10.10.10.10
ntp access-group serve-only 5
ntp access-group peer 6
ntp source Loopback0
ntp server 10.10.10.10
ntp server 999.999.999.1 prefer
В такой конфигурации (ntp server и больше ничего) любой маршрутизатор, коммутатор Cisco (короче нечто, где есть IOS) превращается в ntp-сервер, от которого может синхронизироваться кто угодно. Соответственно, на маршрутизаторах, коммутаторах прописывается:
access-list 6 permit 10.0.0.0 0.0.0.3
ntp access-group peer 6
ntp server 10.0.0.1
ntp server 10.0.0.2
Проверка:
router#show ntp associations 

  address         ref clock       st   when   poll reach  delay  offset   disp
 ~10.0.0.1      10.10.10.10       2     80    256   377  0.000   1.215  5.865
*~10.0.0.2      999.999.999.1     3    172    256   377  0.000   6.293 10.214
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
Следует отметить, что считается хорошей практикой устанавливать на маршрутизаторах при новой инсталляции время вручную, чтобы после перезагрузки получить время приближенное к действительности, а не 1993 год. Это критично как для логирования, сбора netflow, radius-аккаунтинга.
router#clock set 23:59:00 Dec 21 2012
Теперь синхронизировать будем Juniper:
root@junos> show configuration | display set | match ntp    
set system ntp server 10.0.0.1
set system ntp server 10.0.0.2
Проверка:
root@junos> show ntp associations 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.0.0.1       999.999.999.1    3 u   14   64    3   16.288  -27.760  23.627
+10.0.0.1       999.999.999.1    3 -   10   64    3    6.145  -27.633  19.544

root@junos> show ntp status          
status=0644 leap_none, sync_ntp, 4 events, event_peer/strat_chg,
version="ntpd 4.2.0-a Tue Nov  3 09:45:49 UTC 2009 (1)",
processor="mips", system="JUNOS10.0R1.8", leap=00, stratum=4,
precision=-17, rootdelay=70.747, rootdispersion=83.134, peer=13748,
refid=10.0.0.1,
reftime=d01eff82.d5c61a6f  Wed, Aug 25 2010 10:33:38.835, poll=6,
clock=d01eff9c.b10f3a5e  Wed, Aug 25 2010 10:34:04.691, state=4,
offset=-27.693, frequency=68.926, jitter=17.191, stability=0.118

При синхронизации серверов следует учитывать, что ntpd - демон, который используется для автоматической синхронизации, позволяет синхронизировать только в случае, если разница во времени не слишком велика:
ntpd[1234]: time correction of -3600 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.
Необходимо в таких случаях выставить время вручную, либо использовать программу ntpdate, а только после перезапустить ntpd

2 комментария:

  1. а что за адрес такой 999.999.999.1?

    ОтветитьУдалить
  2. купленный за огромные деньги

    ОтветитьУдалить

Архив блога