Servizi NTP su Cisco IOS

Molti networkers sottovalutano l’importanza di mantenere sincronizzata l’ora su tutti i dispositivi su una rete. Questo è particolarmente vero
tra le aziende più piccole senza forti politiche IT. Mantenere tempi coerenti tra i dispositivi di rete è fondamentale per consentire accuratezza nei confronti di messaggi di registro e altre informazioni temporali durante, ad esempio, la risoluzione dei problemi o dell’audit. Di seguito alcuni consigli su come ottenere la sincronizzazione dell’ora su sistemi Cisco IOS.
Comprendere UTC:
Coordinated Universal Time (UTC) è lo standard globale per la rappresentazione del tempo (l’acronimo UTC è un compromesso tra l’acronimo inglese CUT e l’acronimo francese TUC). Ogni fuso orario sulla Terra può essere espresso come offset rispetto a UTC di un numero di ore e minuti; ad esempio, Eastern Standard Time (EST) può essere espresso come UTC -05: 00 (cinque ore dietro UTC). Notare che UTC non è equivalente a GMT, che è un fuso orario a sé stante con un offset UTC di +00: 00. È consigliabile impostare gli orologi su tutti i dispositivi di rete su UTC indipendentemente dalla loro posizione fisica, quindi configurare il fuso orario pertinente per visualizzare l’ora locale se lo si desidera.
Impostazione manuale dell’orologio di sistema:
I dispositivi Cisco IOS, come la maggior parte dei computer, hanno due fonti temporali. Il primo è l’orologio hardware (a volte riferito nella documentazione come “calendar”), che include un batteria tampone per mantenere l’orario mentre il dispositivo è spento. Il secondo è
l’orologio software, che è inizializzato all’avvio dall’orologio hardware. Possiamo rilevare l’ora corrente e data con il comando su un router o un dispositivo che esegue cisco IOS con il comando show clock:

Router# show clock
*02:56:19.323 UTC Sun Mar 27 2011

L’asterisco iniziale prima dell’ora indica che l’ora non è authoritative: cioè, il tempo non è garantito. Il comando “show clock detail” rivela che questo è  dovuto al fatto che l’orologio del software è stato automaticamente sincronizzato dall’hardware orologio:

Router# show clock detail
*02:58:19.871 UTC Sun Mar 27 2011
Time source is hardware calendar

Possiamo usare il comando “clock set”  (dalla modalità privilege exec, non alla configurazione globale) per modificare l’ora e la data attuali. Ricorda di impostare l’ora e la data in UTC, non il fuso orario locale.

Router# clock set 17:49:00 27 march 2011
Router#
*Mar 27 17:49:00.000: %SYS-6-CLOCKUPDATE: System clock has been updated from 03:01:05 UTC Sun Mar 27 2011 Router# show clock detail
17:49:05.271 UTC Sun Mar 27 2011
Time source is user configuration

Ora tutto sembra essere authoritative (l’asterisco è stato rimosso) e l’origine dei dati è stata cambiata in”user configuration”. Si noti, tuttavia, che l’orologio hardware non è stato aggiornato, come possiamo vedere dall’output:

Router# show calendar
03:04:01 UTC Sun Mar 27 2011

Se dovessimo riavviare il router, l’orologio del software verrà sincronizzato nuovamente con l’orologio hardware e tornerà l’ora sbagliata. Potremmo impostare manualmente l’orologio hardware come abbiamo fatto con l’orologio software usando comando “calendar set”, ma, dato che l’orologio software è già stato impostato, possiamo usare il comando update-calendar per sincronizzare l’orologio hardware con orologio software:

Router# clock update-calendar
Router# show calendar
17:56:29 UTC Sun Mar 27 2011

Infine, possiamo configurare il nostro fuso orario locale e (se applicabile) l’ora legale sul router.

Router(config)# clock timezone EST -5
Router(config)#
*Mar 27 18:59:32.855: %SYS-6-CLOCKUPDATE: System clock has been updated from 18:59:32 UTC Sun Mar 27 2011 Router(config)# clock summer-time EDT recurring
Router(config)#
*Mar 27 19:02:58.459: %SYS-6-CLOCKUPDATE: System clock has been updated from 14:02:58 EST Sun Mar 27 2011 Router# show clock detail
15:04:43.075 EDT Sun Mar 27 2011
Time source is hardware calendar
Summer time starts 02:00:00 EST Sun Mar 13 2011
Summer time ends 02:00:00 EDT Sun Nov 6 2011

Un approccio più auspicabile: NTP
Ovviamente, l’impostazione dell’ora corrente manuale non è sufficiente quando si gestiscono precisioni di millisecondi. Anche se fossimo riusciti a impostare l’ora esatta esatta su un router, non sarebbe qualcosa di duraturo: l’elettronica è soggetta al deterioramento nel tempo. Gli orologi avanzano più lentamente o più velocemente del tempo reale. Una soluzione a questi problemi è Network Time Protocol (NTP). NTP consente la sincronizzazione  regolare e automatica di un orologio del dispositivo con uno o più server temporali che forniscono un orario preciso. NTP consente agli orologi di essere sincronizzati su reti con ritardo variabile.  I server NTP sono descritti in termini di strati (livelli gerarchici); più basso è lo strato di un server, più preciso è. Stratum zero sono i server che gestiscono l’orario direttamente dal Global Positioning System, dagli orologi atomici o da altre fonti con un alto grado di precisione. Ogni server NTP ha assegnato un livello di stratum di un’unità superiore rispetto al dispositivo upstream con cui è sincronizzato. Quindi un dispositivo stratum zero si alimenta da un server di stratum 1, che alimenta un server di stratum 2 e così via. In genere, si è soliti configurare router e altri dispositivi sincronizzati con server NTP etichettati come stratum 1 o 2.

Configurazione NTP di base
Prima di poter configurare NTP, è necessario selezionare uno o più server upstream con cui sincronizzarsi. Grandi organizzazioni (in particolare i governi e le forze armate) mantengono i propri server stratum zero e 1. Per gli altri, c’è un certo numero di server pubblici disponibili. Solo pochi dispositivi sulla tua rete dovrebbero attingere il tempo da fonti esterne; tutti gli altri dovrebbero sincronizzarsi con i dispositivi locali. I server NTP sono specificati con il comando “ntp server” in modalità global configuration. Utilizzeremo due server tra gli statunitensi per questo esempio.

Router(config)# ntp server time-a.nist.gov
Translating “time-a.nist.gov”…domain server (208.67.220.220) [OK]
Router(config)# ntp server nist1-pa.ustiming.org
Translating “nist1-pa.ustiming.org”…domain server (208.67.220.220) [OK]

Router(config)# ^Z
Router# sh ntp associations
address ref clock st when poll reach delay offset disp
~129.6.15.28 .INIT. 16 – 64 0 0.000 0.000 16000.
~206.246.122.250 .INIT. 16 – 64 0 0.000 0.000 16000.
* sys.peer, # selected, + candidate, – outlyer, x falseticker, ~ configured

L’output delle associazioni “show ntp” sopra mostra che entrambi i nostri server sono nello stato INIT. Per un protocollo che ha a che fare con il tempo, l’NTP è certamente lento: può richiedere fino a cinque minuti per sincronizzarsi con un server upstream. Questo è dovuto al timer di polling NTP di 64 secondi. Alla fine, si vedrà un’associazione formata con almeno un server, indicata da un asterisco. L’altro server in questo esempio, contrassegnato con un +, è stato designato come candidato (alternativo).

Router# show ntp associations
address ref clock st when poll reach delay offset disp
+~129.6.15.28 .ACTS. 1 12 64 57 0.000 35.390 439.12
*~206.246.122.250 .ACTS. 1 24 64 77 0.000 36.610 189.06
* sys.peer, # selected, + candidate, – outlyer, x falseticker, ~ configured

Il comando detail  può essere aggiunto al comando precedente, per ulteriori informazioni, su ciascuna associazione. Il comando mostra lo stato di ntp fornendo dettagli sulla sincronizzazione NTP corrente:

Router# show ntp status
Clock is synchronized, stratum 2, reference is 206.246.122.25
nominal freq is 250.0000 Hz, actual freq is 249.9998 Hz, precision is 2**32
reference time is D13A115F.B0488F52 (15:41:19.688 EDT Sun Mar 27 2011)
clock offset is 0.0366 msec, root delay is 0.01 msec
root dispersion is 0.23 msec, peer dispersion is 0.00 msec
loopfilter state is ‘CTRL’ (Normal Controlled Loop), drift is 0.000000526 s/s
system poll interval is 64, last update was 187 sec ago.

Per impostazione predefinita, NTP sincronizza solo l’orologio del software. Possiamo abilitare la sincronizzazione dell’hardware con il comando ntp
update-calendar. Vale anche la pena estendere la configurazione NTP durante la sincronizzazione con i server interni e implementare authentication. Il traffico NTP si limiterà ai client trust.

Struttura dell’header Protocollo NTP

Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.

Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.

RICHIEDI ORA IL SUPPORTO DI UN NOSTRO SPECIALISTA

Il nostro team, da anni impegnato nella progettazione di piani formativi strutturati nell’ambito dell’ IT, ti supporterà ad orientarti verso la scelta di un percorso formativo certificato rispondente alle tue esigenze.