In questa lezione spiegherò come funziona HSRP (Hot Standby Routing Protocol) e come configurarlo.
Ecco la topologia che userò:
Ecco cosa abbiamo:
- SW1 e SW2 sono switch multilayer. La sottorete 192.168.1.0/24 appartiene alla VLAN 1 ed è presente un dispositivo host.
- L’indirizzo IP 192.168.1.254 verrà utilizzato per l’indirizzo del gateway virtuale.
- Gli switch multistrato sono collegati con interfacce di livello tre a un router a monte chiamato R3.
Diamo un’occhiata alla configurazione.
Configurazioni
Accedi alla Google Classroom
Vuoi provare tu stesso questo esempio? Qui troverai la configurazione di avvio di ogni dispositivo.
La prima cosa che faremo è abilitare HSRP. Lo faremo sulle interfacce VLAN 1 di SW1 e SW2:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby 1 ip 192.168.1.254
Utilizzare il comando standby per configurare HSRP. 192.168.1.254 sarà l’indirizzo IP del gateway virtuale. “1” è il numero di gruppo per HSRP. Non importa cosa scegli, assicurati che sia lo stesso su entrambi i dispositivi. Sulla tua console vedrai qualcosa del genere:
SW1#
%HSRP-5-STATECHANGE: Vlan1 Grp 1 state Standby -> Listen
%HSRP-5-STATECHANGE: Vlan1 Grp 1 state Speak -> Standby
SW2#
%HSRP-5-STATECHANGE: Vlan1 Grp 1 state Standby -> Active
A seconda dello switch che hai configurato per primo, vedrai questi messaggi. Uno degli interruttori sarà il gateway attivo, l’altro andrà in modalità standby. Vediamo se riusciamo a raggiungere questo gateway virtuale dal nostro host:
R1#ping 192.168.1.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 6/206/1007 ms
Come puoi vedere, possiamo raggiungere con successo l’indirizzo IP del gateway virtuale.
Non era poi così male, vero? Solo un comando e HSRP funziona! Tuttavia, ci sono un paio di altre cose che dobbiamo considerare. Usiamo 192.168.1.254 come indirizzo IP virtuale, ma quale indirizzo MAC utilizzerà?
R1#show ip arp | include 1.254
Internet 192.168.1.254 1 0000.0c07.ac01 ARPA GigabitEthernet0/1
Puoi vedere l’indirizzo MAC di 192.168.1.254 nella tabella ARP, da dove proviene questo indirizzo MAC?
0000.0c07.ac01 è l’indirizzo MAC che abbiamo. HSRP utilizza l’ indirizzo MAC 0000.0c07.acXX dove XX è il numero del gruppo HSRP . Nel mio esempio ho configurato il gruppo HSRP numero 1. Ci sono un paio di altre cose interessanti da controllare, dai un’occhiata qui sotto:
SW1#show standby
Vlan1 - Group 1
State is Standby
3 state changes, last state change 00:03:33
Virtual IP address is 192.168.1.254
Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.144 secs
Preemption disabled
Active router is 192.168.1.2, priority 100 (expires in 7.776 sec)
Standby router is local
Priority 100 (default 100)
Group name is "hsrp-Vl1-1" (default)
SW2#show standby
Vlan1 - Group 1
State is Active
2 state changes, last state change 00:04:25
Virtual IP address is 192.168.1.254
Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.992 secs
Preemption disabled
Active router is local
Standby router is 192.168.1.1, priority 100 (expires in 10.640 sec)
Priority 100 (default 100)
Group name is "hsrp-Vl1-1" (default)
Usa il comando show standby per verificare la tua configurazione. Ci sono un paio di cose interessanti qui:
- Possiamo vedere l’indirizzo IP virtuale qui (192.168.1.254).
- Mostra anche l’indirizzo MAC virtuale (0000.0c07.ac01).
- Puoi vedere quale router è attivo o in modalità standby.
- Il tempo di ciao è di 3 secondi e il tempo di attesa è di 10 secondi.
- La prelazione è disabilitata.
Il router attivo risponderà alle richieste ARP dai computer e inoltrerà attivamente i pacchetti da essi. Invierà messaggi di saluto ai router che sono in modalità standby. I router in modalità standby ascolteranno i messaggi di saluto, se non ricevono nulla dal router attivo attenderanno che il tempo di attesa scada prima di subentrare. Il tempo di attesa è di 10 secondi per impostazione predefinita, il che è piuttosto lento; vedremo come velocizzarlo un po ‘.
Ogni router HSRP passerà attraverso una serie di stati prima di finire come router attivo o in standby, ecco cosa accadrà:
Stato | Spiegazione |
Initial | Questo è il primo stato all’avvio di HSRP. Lo vedrai subito dopo aver configurato HSRP o quando l’interfaccia è stata appena abilitata. |
Listen | Il router conosce l’indirizzo IP virtuale e ascolterà i messaggi di saluto da altri router HSRP. |
Speak | Il router invierà messaggi di saluto e si unirà alle elezioni per vedere quale router diventerà attivo o in standby. |
Standby | Il router non è diventato il router attivo ma continuerà a inviare messaggi di saluto. Se il router attivo si guasta, subentrerà. |
Active | Il router inoltrerà attivamente i pacchetti dai client e invierà messaggi di saluto. |
Possiamo vedere tutti questi passaggi con un comando di debug. Chiudere prima le interfacce VLAN 1 in modo da poter riavviare HSRP:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#shutdown
Ora usa il comando debug standby events:
SW1 & SW2
#debug standby events
HSRP Events debugging is on
Ora abiliteremo prima l’interfaccia VLAN 1 su SW1:
SW1
(config)#interface Vlan 1
(config-if)#no shutdown
Ecco cosa vedrai su SW1:
SW1#
HSRP: Vl1 Interface UP
HSRP: Vl1 Starting minimum intf delay (1 secs) - uptime 997
HSRP: Vl1 Intf min delay expired - uptime 998
HSRP: Vl1 Grp 1 Init: a/HSRP enabled
HSRP: Vl1 Grp 1 Init -> Listen
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Init -> Backup
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Init -> Backup
HSRP: Vl1 Grp 1 Listen: d/Standby timer expired (unknown)
HSRP: Vl1 Grp 1 Listen -> Speak
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Backup -> Speak
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Backup -> Speak
HSRP: Vl1 Grp 1 Speak: d/Standby timer expired (unknown)
HSRP: Vl1 Grp 1 Standby router is local
HSRP: Vl1 Grp 1 Speak -> Standby
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Speak -> Standby
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" standby, unknown -> local
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Speak -> Standby
HSRP: Vl1 Grp 1 Standby: c/Active timer expired (unknown)
HSRP: Vl1 Grp 1 Active router is local
HSRP: Vl1 Grp 1 Standby router is unknown, was local
HSRP: Vl1 Grp 1 Standby -> Active
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Standby -> Active
HSRP: Vl1 Grp 1 Added 192.168.1.254 to ARP (0000.0c07.ac01)
HSRP: Vl1 Grp 1 Activating MAC 0000.0c07.ac01
HSRP: Vl1 Grp 1 Adding 0000.0c07.ac01 to MAC address filter - resetting the interface
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" standby, local -> unknown
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Standby -> Active
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Active -> Active
Sopra puoi vedere chiaramente i diversi stati che attraversiamo prima di finire nello stato attivo. In questo momento SW1 è l’unico switch che esegue HSRP, quindi abilitiamo anche l’interfaccia VLAN 1 di SW2:
SW2(config)#interface Vlan 1
SW2(config-if)#no shutdown
Ecco l’output di debug:
SW2#
HSRP: Vl1 Grp 1 Active router is 192.168.1.1
HSRP: Vl1 Nbr 192.168.1.1 created
HSRP: Vl1 Nbr 192.168.1.1 active for group 1
HSRP: Vl1 Interface UP
HSRP: Vl1 Starting minimum intf delay (1 secs) - uptime 1089
HSRP: Vl1 Intf min delay expired - uptime 1090
HSRP: Vl1 Grp 1 Init: a/HSRP enabled
HSRP: Vl1 Grp 1 Init -> Listen
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Init -> Backup
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Init -> Backup
HSRP: Vl1 Grp 1 Listen: d/Standby timer expired (unknown)
HSRP: Vl1 Grp 1 Listen -> Speak
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Backup -> Speak
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Backup -> Speak
HSRP: Vl1 Grp 1 Speak: d/Standby timer expired (unknown)
HSRP: Vl1 Grp 1 Standby router is local
HSRP: Vl1 Grp 1 Speak -> Standby
HSRP: Vl1 Grp 1 Redundancy "hsrp-Vl1-1" state Speak -> Standby
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" standby, unknown -> local
HSRP: Vl1 IP Redundancy "hsrp-Vl1-1" update, Speak -> Standby
Sopra possiamo vedere che SW2 vede 192.168.1.1 (SW1) come router attivo. Alla fine finisce nello stato di standby.
Elezione del gateway attivo
Perché SW2 è andato in modalità standby invece di SW1?
Per impostazione predefinita, lo switch con la priorità più alta diventerà il dispositivo HSRP attivo. Se la priorità è la stessa, l’ indirizzo IP più alto sarà il punto di rottura. Diamo un’occhiata alle priorità:
SW1#show standby | include Priority
Priority 100 (default 100)
SW2#show standby | include Priority
Priority 100 (default 100)
La priorità è la stessa su entrambi gli switch, SW2 ha un indirizzo IP più alto quindi dovrebbe diventare il router attivo ma non lo è. Proviamo ad aumentare la sua priorità:
SW2(config)#interface Vlan 1
SW2(config-if)#standby 1 priority 150
Ecco come possiamo verificare la nuova priorità:
SW2#show standby | include Priority
Priority 150 (configured 150)
SW2#show standby | include Active
Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)
Active router is 192.168.1.1, priority 100 (expires in 9.232 sec)
Anche se SW2 ha una priorità più alta, SW1 rimane il router attivo. Un altro comando utile per verificare quale router è attivo o in standby è il comando show standby brief :
SW1#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl1 1 100 Active local 192.168.1.2 192.168.1.254
SW2#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl1 1 150 Standby 192.168.1.1 local 192.168.1.254
Possiamo confermare che SW2 ha una priorità più alta ma SW1 è ancora attivo. Una volta che HSRP ha deciso quale dispositivo deve essere attivo, rimarrà attivo fino a quando non si spegnerà . Possiamo annullare questo se vogliamo però …
Prelazione
Quando abilitiamo la prelazione, lo switch con la priorità più alta (o l’indirizzo IP nel caso in cui la priorità sia la stessa) diventerà sempre il nuovo dispositivo attivo. Ecco come abilitarlo:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby 1 preempt
Vediamo se fa differenza:
SW1#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl1 1 100 P Standby 192.168.1.2 local 192.168.1.254
SW2#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl1 1 150 P Active local 192.168.1.1 192.168.1.254
Ecco … SW2 è ora attivo e SW1 va in standby!
Per impostazione predefinita, la prelazione avrà effetto immediato, ma potrebbe essere una buona idea utilizzare un ritardo. Se un router o si riavvia, potrebbe essere necessario un po ‘di tempo per “convergere”. Forse OSPF o EIGRP devono formare adiacenze vicine o lo spanning tree non è ancora pronto per sbloccare le porte. Se vuoi aggiungere un ritardo, puoi farlo in questo modo:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby 1 preempt delay minimum 60
Ciò ritarderà la prelazione di 60 secondi.
Autenticazione
HSRP supporta anche l’autenticazione. È possibile scegliere tra autenticazione in chiaro o MD5. Ecco come configurare MD5:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby 1 authentication md5 key-string MY_SECRET_KEY
Ciò garantisce che tutti i pacchetti inviati tra i due switch siano autenticati. Ciò impedisce a qualcuno sulla sottorete 192.168.1.0/24 di unirsi alla nostra configurazione HSRP.
Timer HSRP
Per impostazione predefinita, HSRP è piuttosto lento. SW1 è il mio router in standby e aspetterà 10 secondi (tempo di attesa) prima di attivarsi una volta che SW2 fallisce. Ciò significa che avremo 10 secondi di inattività … vediamo se possiamo accelerarlo:
SW1(config-if)#standby 1 timers ?
<1-254> Hello interval in seconds
msec Specify hello interval in milliseconds
Possiamo velocizzare le cose cambiando i timer con il comando standby timer . Possiamo anche usare valori in millisecondi, proviamolo:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby 1 timers msec 100 msec 300
Ho impostato il tempo di ciao a 100 millisecondi e il timer di attesa a 300 millisecondi. Assicurati che il tuo tempo di attesa sia almeno tre volte il timer di benvenuto . Verifichiamo il nostro lavoro:
SW1#show standby | include time
Hello time 100 msec, hold time 300 msec
SW2#show standby | include time
Hello time 100 msec, hold time 300 msec
HSRP versione 1 e 2
Esistono due versioni di HSRP e, a seconda del modello di router o switch, potresti avere la possibilità di utilizzare la versione HSRP 2. È possibile modificare la versione utilizzando il comando versione standby .
HSRPv1 | HSRPv2 | |
Numeri di gruppo | 0-255 | 0 – 4095 |
Indirizzo MAC virtuale | 0000.0c07.acXX (XX = numero del gruppo) | 0000.0c9f.fxxx (XXX = numero del gruppo) |
Indirizzo multicast | 224.0.0.2 | 224.0.0.102 |
Proviamo a cambiare i nostri dispositivi alla versione 2 HSRP:
SW1 & SW2
(config)#interface Vlan 1
(config-if)#standby version 2
SW1#show standby | include version
Vlan1 - Group 1 (version 2)
È tutto quello che c’è da fare.
Monitoraggio di oggetti (interfaccia)
C’è un’altra cosa che dobbiamo guardare e si chiama tracciamento degli oggetti (interfaccia) . Dai un’occhiata alla seguente immagine:
Nell’immagine sopra SW2 è il router attivo perché abbiamo cambiato la priorità a 150. È fantastico, ma cosa succede se l’interfaccia da SW2 a R3 fallisce? Sarà il router attivo ma non ha più un percorso diretto per R3.
Quando ciò accade, invierà un reindirizzamento ICMP al computer. Sarebbe meglio se SW1 diventasse il router HSRP attivo nel caso in cui ciò accadesse.
HSRP offre una funzionalità chiamata tracciamento dell’interfaccia . Possiamo selezionare un’interfaccia da tracciare e se fallisce le daremo una penalità . In questo modo la tua priorità diminuirà e un altro dispositivo può diventare il router attivo.
Assicurati di aver abilitato la prelazione se desideri utilizzare il monitoraggio dell’interfaccia. Ecco un esempio:
SW2(config)track 1 interface GigabitEthernet 0/2 line-protocol
Per prima cosa configuriamo il tracciamento degli oggetti per l’interfaccia GigabitEthernet 0/2. Quando il protocollo di linea cambia (scende), lo stato dell’oggetto cambierà.
Ora possiamo usare questo oggetto con HSRP:
SW2(config)#interface Vlan 1
SW2(config-if)#standby 1 track 1 ?
decrement Priority decrement
shutdown Shutdown group
Possiamo scegliere di diminuire la priorità o puoi decidere di chiudere l’intero gruppo HSRP nel caso in cui l’interfaccia sia inattiva. Proviamo a diminuire la priorità:
SW2(config-if)#standby 1 track 1 decrement 60
Proviamo questo:
SW2(config)#interface GigabitEthernet 0/2
SW2(config-if)#shutdown
Ecco cosa vedremo su SW2:
SW2#
%TRACK-6-STATE: 1 interface Gi0/2 line-protocol Up -> Down
L’interfaccia si interrompe e lo stato del nostro oggetto cambia. Vediamo se la priorità è diminuita:
SW2#show standby | include Priority
Priority 90 (configured 150)
SW2#show standby | include Active
Active virtual MAC address is 0000.0c9f.f001 (MAC Not In Use)
Active router is 192.168.1.1, priority 100 (expires in 0.352 sec)
Puoi vedere che la priorità ora è 90 anziché 150 che abbiamo configurato.
Puoi vedere che la priorità ora è 90, che è inferiore a SW1 (100). Di conseguenza, SW2 passerà allo stato di standby e SW1 passerà allo stato attivo. Il monitoraggio dell’interfaccia è utile ma controllerà solo lo stato dell’interfaccia. È possibile che l’interfaccia rimanga nello stato attivo ma non siamo in grado di raggiungere R3. Potrebbe essere un’idea migliore utilizzare invece IP SLA poiché può controllare la connettività end-to-end.
Rimuoviamo la configurazione di tracciamento degli oggetti corrente:
SW2(config)#interface GigabitEthernet 0/2
SW2(config-if)#no shutdown
SW2(config-if)#no standby 1 track 1 decrement 60
E configurare IP SLA per eseguire il ping dell’indirizzo IP di R3:
SW2(config)#ip sla 1
SW2(config-ip-sla)#icmp-echo 192.168.23.3
SW2(config-ip-sla-echo)#frequency 10
SW2(config)#ip sla schedule 1 start-time now life forever
Ora possiamo combinare IP SLA con il tracciamento degli oggetti:
SW2(config)#no track 1
SW2(config)#track 1 ip sla 1
E configureremo SW2 ancora una volta che la priorità diminuirà di 60 quando l’oggetto è inattivo:
SW2(config)#interface Vlan 1
SW2(config-if)#standby 1 track 1 decrement 60
Testiamo la nostra configurazione. Per prima cosa vogliamo assicurarci che l’IP SLA funzioni:
SW2#show ip sla statistics
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Latest RTT: 3 milliseconds
Latest operation start time: 13:31:57 UTC Thu Feb 18 2016
Latest operation return code: OK
Number of successes: 7
Number of failures: 0
Operation time to live: Forever
IP SLA è attivo e funzionante. Chiudiamo di nuovo l’interfaccia GigabitEthernet 0/2 su SW2 in modo che IP SLA fallisca:
SW2(config)#interface GigabitEthernet 0/2
SW2(config-if)#shutdown
Controlliamo la priorità attuale:
SW2#show standby | include Priority
Priority 90 (configured 150)
La priorità è diminuita e questo farà sì che SW1 diventi il router attivo:
SW2#show standby | include Active
Active virtual MAC address is 0000.0c9f.f001 (MAC Not In Use)
Active router is 192.168.1.1, priority 100 (expires in 0.288 sec)
È tutto quello che c’è da fare.
Accedi alla google classroom
Vuoi dare un’occhiata di persona? Qui troverai la configurazione finale di ogni dispositivo.
Conclusione
Ora hai visto come configurare HSRP, come abilitare l’autenticazione e come “mettere a punto” alcuni dei suoi parametri. Spero che questo sia stato utile.