Cisco Network Time Protocol (NTP)

zawartość lekcji

NTP (Network Time Protocol) służy do umożliwienia urządzeniom sieciowym synchronizacji zegarów z centralnym zegarem źródłowym. W przypadku urządzeń sieciowych, takich jak routery, przełączniki lub zapory sieciowe jest to bardzo ważne, ponieważ chcemy mieć pewność, że informacje logowania i znaczniki czasu mają dokładny czas i datę. Jeśli kiedykolwiek masz problemy z siecią lub zostaniesz zhakowany, chcesz się upewnić, że dokładnie wiesz, co i kiedy to się stało.

Zwykle router lub przełącznik będzie działał w trybie klienta NTP, co oznacza, że dostosuje swój zegar w oparciu o czas serwera NTP. Zasadniczo protokół NTP opisuje algorytm, którego używają klienci NTP do synchronizacji zegarów z serwerem NTP i pakietami używanymi między nimi.

dobrym przykładem serwera NTP jest ntp.pool.org. jest to klaster serwerów NTP, które wiele serwerów i urządzeń sieciowych używa do synchronizacji zegarów.

NTP wykorzystuje koncepcję o nazwie „warstwa”, która określa, ile NTP przeskoków od urządzenia jest od autora źródła czasu. Na przykład urządzenie z warstwą 1 jest bardzo dokładnym urządzeniem i może mieć dołączony zegar atomowy. Inny serwer NTP, który używa tego serwera warstwy 1 do synchronizacji własnego czasu, byłby urządzeniem warstwy 2, ponieważ jest to jeden skok NTP dalej od źródła. Podczas konfigurowania wielu serwerów NTP klient preferuje serwer NTP o najniższej wartości warstwy.

Routery i przełączniki Cisco mogą korzystać z 3 różnych trybów NTP:

  • tryb klienta NTP.
  • tryb serwera NTP.
  • symetryczny tryb aktywny NTP.

symetryczny tryb aktywny jest używany między urządzeniami NTP do synchronizacji ze sobą, jest używany jako mechanizm tworzenia kopii zapasowych, gdy nie są w stanie dotrzeć do (zewnętrznego) serwera NTP.

w pozostałej części tej lekcji zademonstruję, jak skonfigurować NTP na routerze Cisco i przełącznikach.

Konfiguracja

to jest topologia, której użyję:

cisco NTP przykład topologia

router na górze nazywa się „CoreRouter” i jego krawędź mojej sieci. Jest podłączony do Internetu i będzie korzystać z jednego z serwerów NTP z pool.ntp.org aby zsynchronizować swój zegar. Sieć posiada również dwa wewnętrzne przełączniki, które wymagają zsynchronizowanych zegarów. Oba przełączniki staną się klientami NTP Coreroutera, dzięki czemu CoreRouter będzie serwerem NTP.

Konfiguracja routera

najpierw skonfigurujemy CoreRouter na górze. Użyję pool.ntp.org jako zewnętrzny serwer NTP dla tego przykładu. Musimy upewnić się, że router jest w stanie rozwiązać nazwy hostów:

CoreRouter(config)#ip name-server 8.8.8.8

użyję do tego Google DNS. Naszym następnym krokiem jest skonfigurowanie serwera NTP:

CoreRouter(config)#ntp server pool.ntp.org

to było dość łatwe, wystarczy jedno polecenie i zsynchronizujemy nasz zegar z serwerem publicznym. Możemy zweryfikować naszą pracę w ten sposób:

CoreRouter#show ntp associations address ref clock st when poll reach delay offset disp ~146.185.130.223 .INIT. 16 - 64 0 0.000 0.000 16000. * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

powyżej widzimy polecenie Pokaż skojarzenia NTP, które mówi nam, czy nasz zegar jest zsynchronizowany, czy nie. ~ Przed adresem IP mówi nam, że skonfigurowaliśmy ten serwer, ale nie jesteśmy jeszcze zsynchronizowani. Widać to, ponieważ przed adresem IP nie ma*, a pole” st ” (warstwa) wynosi obecnie 16.

jest jeszcze jedno polecenie, które daje nam więcej informacji na temat konfiguracji NTP:

CoreRouter#show ntp statusClock is unsynchronized, stratum 16, no reference clocknominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24reference time is 00000000.00000000 (00:00:00.000 UTC Mon Jan 1 1900)clock offset is 0.0000 msec, root delay is 0.00 msecroot dispersion is 0.16 msec, peer dispersion is 0.00 msecloopfilter state is 'FSET' (Drift set from file), drift is 0.000000000 s/ssystem poll interval is 64, never updated.

router mówi nam, że jesteśmy niezsynchronizowani i że nie ma Zegara referencyjnego…po prostu poczekamy kilka minut i ponownie przyjrzymy się tym poleceniom:

CoreRouter#show ntp associations address ref clock st when poll reach delay offset disp*~146.185.130.223 193.79.237.14 2 26 64 1 10.857 -5.595 7937.5 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

kilka minut później i wyjście się zmieniło. * Przed adresem IP mówi nam, że zsynchronizowaliśmy, a warstwa wynosi 2 … oznacza to, że ten serwer NTP jest dość blisko niezawodnego źródła czasu. Pole „ankieta” mówi nam, że postaramy się zsynchronizować czas co 64 sekundy. Sprawdźmy inne polecenie, które właśnie widzieliśmy.:

CoreRouter#show ntp status Clock is synchronized, stratum 3, reference is 146.185.130.22nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24reference time is D76513B4.66A4CDA6 (12:40:20.400 UTC Mon Jul 7 2014)clock offset is -5.5952 msec, root delay is 13.58 msecroot dispersion is 7966.62 msec, peer dispersion is 7937.50 msecloopfilter state is 'CTRL' (Normal Controlled Loop), drift is -0.000000018 s/ssystem poll interval is 64, last update was 43 sec ago.

nasz zegar został zsynchronizowany, a nasza własna warstwa to 3, co ma sens, ponieważ publiczny serwer warstwy ma warstwę 2 i jesteśmy o jeden ” hop ” od niego.

synchronizacja NTP może być bardzo powolna, więc musisz być cierpliwy, gdy zegary nie są zsynchronizowane. Jednym ze sposobów na przyspieszenie jest ręczna regulacja Zegara, aby był bliżej aktualnego czasu.

routery Cisco mają dwa różne zegary, mają zegar programowy i zegar sprzętowy i działają oddzielnie od siebie. Oto jak zobaczyć oba Zegary:

CoreRouter#show clock 12:41:25.197 UTC Mon Jul 7 2014
CoreRouter#show calendar 12:43:24 UTC Mon Jul 7 2014

polecenie Pokaż zegar pokazuje mi zegar oprogramowania, podczas gdy polecenie Pokaż kalendarz daje mi zegar sprzętowy. Dwa zegary nie są zsynchronizowane, więc to jest coś, co powinniśmy naprawić, możesz to zrobić w ten sposób:

CoreRouter#(config)ntp update-calendar

polecenie NTP update-calendar zaktualizuje zegar sprzętowy z czasem zegara oprogramowania, oto wynik:

CoreRouter#show clock 12:42:31.853 UTC Mon Jul 7 2014
CoreRouter#show calendar 12:42:30 UTC Mon Jul 7 2014

na razie tylko to chciałem skonfigurować na Corerouterze. Musimy jeszcze skonfigurować dwa przełączniki, aby zsynchronizować ich zegary.

Konfiguracja przełącznika

dwa przełączniki zostaną skonfigurowane tak, aby używać CoreRouter jako serwera NTP, a także skonfiguruję je tak, aby synchronizowały swoje zegary ze sobą. Skonfigurujmy je, aby najpierw używały Coreroutera:

SW1(config)#ntp server 192.168.123.3

po raz kolejny synchronizacja może potrwać kilka minut, ale to jest to, co zobaczysz:

SW1#show ntp associations address ref clock st when poll reach delay offset disp*~192.168.123.3 146.185.130.223 3 21 64 1 2.5 1.02 15875. * master (synced), # master (unsynced), + selected, - candidate, ~ configured
SW1#show ntp status Clock is synchronized, stratum 4, reference is 192.168.123.3nominal freq is 119.2092 Hz, actual freq is 119.2089 Hz, precision is 2**18reference time is D765271D.D6021302 (14:03:09.835 UTC Mon Jul 7 2014)clock offset is 1.0229 msec, root delay is 14.31 msecroot dispersion is 16036.00 msec, peer dispersion is 15875.02 msec

zegar SW1 został zsynchronizowany, a jego warstwa wynosi 4. Ma to sens, ponieważ jest to jeden ” hop ” dalej od serwera NTP (CoreRouter). Zróbmy to samo dla SW2:

SW2(config)#ntp server 192.168.123.3

bądźmy cierpliwi jeszcze przez kilka minut i oto co otrzymamy:

SW2#show ntp associations address ref clock st when poll reach delay offset disp*~192.168.123.3 146.185.130.223 3 17 64 37 3.4 1.89 875.8 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

SW2#show ntp status Clock is synchronized, stratum 4, reference is 192.168.123.3nominal freq is 119.2092 Hz, actual freq is 119.2084 Hz, precision is 2**18reference time is D765274D.D51A0546 (14:03:57.832 UTC Mon Jul 7 2014)clock offset is 1.8875 msec, root delay is 15.18 msecroot dispersion is 1038.39 msec, peer dispersion is 875.84 msec

SW1 i SW2 używają teraz Coreroutera do synchronizacji swoich zegarów. Skonfigurujmy je tak, aby używały się nawzajem do synchronizacji. Jest to symetryczny tryb aktywny, o którym wspomniałem wcześniej, w zasadzie dwa przełączniki „pomogą” sobie nawzajem zsynchronizować…może to być przydatne w przypadku, gdy CoreRouter zawiedzie pewnego dnia:

SW1(config)#ntp peer 192.168.123.2
SW2(config)#ntp peer 192.168.123.1

po odczekaniu kilku minut zobaczysz, że SW1 i SW2 zsynchronizowały się ze sobą:

SW1#show ntp associations address ref clock st when poll reach delay offset disp*~192.168.123.3 146.185.130.223 3 59 64 37 3.0 -0.74 877.4+~192.168.123.2 192.168.123.3 4 50 128 376 2.2 -2.04 1.3 * master (synced), # master (unsynced), + selected, - candidate, ~ configured
SW2#show ntp associations address ref clock st when poll reach delay offset disp*~192.168.123.3 146.185.130.223 3 45 128 377 2.9 1.95 1.0 ~192.168.123.1 192.168.123.3 4 67 1024 376 1.8 2.40 1.4 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

wszystko jest teraz zsynchronizowane.

konfiguracje

chcesz sam zobaczyć? Tutaj znajdziesz ostateczną konfigurację każdego urządzenia.

hostname CoreRouter!interface FastEthernet0/0 ip address 192.168.123.3 255.255.255.0!ip name-server 8.8.8.8!ntp server pool.ntp.orgntp update-calendar!end

SW1

hostname SW1!interface FastEthernet0/24 ip address 192.168.123.1 255.255.255.0!ntp server 192.168.123.3ntp peer 192.168.123.2!end

SW2

hostname SW2!interface FastEthernet0/24 ip address 192.168.123.2 255.255.255.0!ntp server 192.168.123.3ntp peer 192.168.123.1!end

skończyliśmy? Jeszcze nie do końca … jest jeszcze kilka rzeczy, które możemy zrobić z NTP. CoreRouter i dwa przełączniki używają unicast (port UDP 123) do synchronizacji, ale można również użyć multicast lub broadcast. Pozwól, że dam ci przykład…

Multicast i Broadcast

jeśli masz więcej niż 20 urządzenia sieciowe lub router, który ma ograniczoną pamięć systemową lub zasoby procesora, możesz rozważyć użycie transmisji NTP lub multicastu, ponieważ wymaga mniej zasobów. Możemy włączyć multicast lub broadcast na interfejsie level.To zademonstruj to dodam dwa routery poniżej SW1 i SW2, które zsynchronizują się za pomocą multicastu lub transmisji. Tak to wygląda:

cisco NTP broadcast multicast przykładowa topologia

skonfiguruję SW1 do korzystania z adresu multicast 239.1.1.1 i SW2 wyśle aktualizacje NTP poprzez transmisję:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.