Configurare Hot Standby Router Protocol HSRP in ambienti Cisco

Continuiamo con la nostra serie di articoli che, attraverso esempi pratici e semplificati, dimostrano l’applicazione di strumenti fondamentali nei rispettivi ambiti. Introduciamo la configurazione base di Hot Standby Router Protocol. In questo laboratorio implementeremo HSRP. Gli host sulla rete normalmente hanno un solo IP configurato come default gateway. HSRP è un sistema che permette a 2 router distinti di lavorare insieme condividendo un solo indirizzo IP Virtuale e di conseguenza un solo MAC Virtuale. Questo sistema intercetta la necessità di Fault Tolerance rispetto al default gateway di una rete aziendale. Quindi, in questo scenario, gli host sulla rete utilizzeranno come loro Default Gateway, l’IP Virtuale e apprenderanno di conseguenza il MAC address Virtuale corrispondente attraverso ARP. Il sistema HSRP prevede che un router sia nello stato Active, rendendosi responsabile della titolarità dell’Indirizzo IP Virtuale, e un altro router in modalità StandBy, pronto ad intervenire in caso di failure del router Active. Il router Standby assumerà il ruolo di active in caso di necessità. Il risultato è di continuità rispetto alla funzionalità dell’indirizzo IP virtuale indipendentemente da chi lo gestisca, senza nessuna contezza di cambiamenti degli Host.
Nella seguente topologia tutti i device hanno una configurazione di base. I 3 router sono configurati attraverso il protocollo RIP che rende noto a R1 e R2 la rete 10.10.99.0 connessa al Router R3. I router R1 e R2 detengono rispettivamente 10.10.1.1 e 10.10.1.3. I 2 PC hanno come default gateway l’indirizzo 10.10.1.1, che non esiste nella topology ma sarà istanziato come IP virtuale nel processo HSRP. Nello sviluppo del laboratorio procederemo a configurare HSRP solo sul Router R1 verificandone il funzionamento. Dopo procederemo su R2 e, a processo stabile, simuleremo un failure di R1 per apprezzare come si verifichi la continuità del servizio.

Di seguito lo schema degli indirizzi che caratterizzano la topologia oggetto del laboratorio:

Accediamo alla console di PC1 (ricordando sempre che nel laboratorio, nel ruolo dell’end device, utilizziamo router per semplicità di configurazione e utilizzo risorse). E appuriamo che il suo default gateway sia 10.10.1.1 e sia effettivamente non raggiungibile perché non presente sulla rete:

PC1# show ip route
Default gateway is 10.10.1.1
Host Gateway Last Use Total Uses Interface
ICMP redirect cache is empty
PC1# ping 10.10.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

Accediamo al Router R1 e verifichiamo che l’IP dell’Interfaccia Ethernet0/0 sia 10.10.1.2:

R1# show ip interface brief
Interface IP-Address OK? Method Status Prot
ocol
Ethernet0/0 10.10.1.2 YES NVRAM up up
Ethernet0/1 10.1.1.2 YES NVRAM up up
Ethernet0/2 unassigned YES NVRAM administratively down down
Ethernet0/3 unassigned YES NVRAM administratively down down
Accediamo al Router R2 e verifichiamo che l’IP dell’Interfaccia Ethernet0/0 sia 10.10.1.3
R2# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.10.1.3 YES NVRAM up up
Ethernet0/1 10.1.1.6 YES NVRAM up up
Ethernet0/2 unassigned YES NVRAM administratively down down
Ethernet0/3 unassigned YES NVRAM administratively down down

Presentiamo quindi alcuni comandi fondamentali per configurare HSRP, prima di applicarli alla nostra Topologia. I principali comandi sono imputati a livello di interfaccia attraverso il comando “standby ip”. Ricordiamo che l’assegnazione della priorità determina chi sarà il router “Active” e il router “Standby”. Impostando la “preemption” abbiamo la garanzia che il router con priority più alta diventi il router active. La priority agisce su una scala da 1 a 255, dove il numero più alto è quello che determina lo stato di active. Configuriamo HSRP per R1 sulla Eth0/0. Quindi assegnamo l’indirizzo IP virtuale 10.10.1.1 e l’HSRP group number 1:

R1# conf t
R1(config)# interface Ethernet0/0
R1(config-if)# standby 1 ip 10.10.1.1
R1(config-if)# end
R1#
*Nov 20 07:57:10.405: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 1 state Standby -> Active

Attendiamo il messaggio syslog che sancisce la transizione del router R1 nello stato di “Active”. Questo necessita di un tempo di circa 20 secondi. Appena il processo HSRP è in esecuzione, il router R1 sulla interfaccia designata attende gli hello massage per verificare la presenza di altri router che concorrono allo stesso processo. Nel caso specifico essendo l’unico router attivo rispetto all’HSRP, R1 diventa subito il router “Active” iniziando a produrre hello messages.
Richiamiamo il comando show standby sul router R1 per appurare che R1 sia il router “active” e che in effetti non via siano router in stato “standby”. Notiamo anche il MAC address virtuale 0000.0c07.ac01 associato all’indirizzo IP virtuale 10.10.1.1. Ricordiamo come il MAC address sia riservato e costruito con l’unione del pattern noto e riservato “0000.0c07.ac” con il numero assegnato al group number, che in questo caso è “01”:

R1# show standby
Ethernet0/0 - Group 1
State is Active
2 state changes, last state change 00:17:49
Virtual IP address is 10.10.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.240 secs
Preemption disabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "hsrp-Et0/0-1" (default)

CORSI CORRELATI:

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.

Per una completezza di controllo verifichiamo l’indirizzo MAC reale dell’interfaccia eth0/0 sia diverso:

R1# show interfaces Ethernet0/0
Ethernet0/0 is up, line protocol is up
Hardware is AmdP2, address is aabb.cc00.0300 (bia aabb.cc00.0300)
Description: Link to SW1
Internet address is 10.10.1.2/24
<... output omitted ...>

Accedendo alla console del PC1, verifichiamo ora come sia possibile pingare l’indirizzo 10.10.1.1 e anche l’IP 10.10.99.1 parte della rete al di là del router R3 (loopback):

PC1# ping 10.10.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.1.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
PC1# ping 10.10.99.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.99.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 m

Verifichiamo l’ARP cache sul PC1 appurando che il MAC address virtuale sopracitato è associato all’indirizzo IP virtuale 10.10.1.1:

PC1# show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.1.1 0 0000.0c07.ac01 ARPA Ethernet0/0
<...output omitted...>

Adesso coinvolgiamo R2 nel processo HSRP agendo sulla sua interfaccia eth0/0. R2 si troverà nello stato standby perché R1 è già nello stato active. Se R2 non dovesse ricevere per 3 volte consecutive l’hello message da parte di R1, R2 transiterebbe nello stato active:

R2# conf t
R2(config)# interface Ethernet0/0
R2(config-if)# standby 1 ip 10.10.1.1
R2(config-if)# end
R2#
*Nov 20 09:05:13.312: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 1 state Speak -> Standby

Interroghiamo R2 con il comando “show standby”. Notiamo come R2 sia nello stato di standby e condivide IP e MAC virtuale con il router R1. È importante sottolineare che solo il router active risponde alle richieste ARP provenienti dagli host che hanno come gateway 10.10.1.1. Qualora R1 avesse un guasto R2 ne prenderebbe il posto, di fatto, dando continuità al servizio di gateway:

R2# show standby
Ethernet0/0 - Group 1
State is Standby
1 state change, last state change 00:06:34
Virtual IP address is 10.10.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.928 secs
Preemption disabled
Active router is 10.10.1.2, priority 100 (expires in 11.152 sec)
Standby router is local
Priority 100 (default 100)
Group name is "hsrp-Et0/0-1" (default)

Ritorniamo sul router R1, interrogandolo con il comando “show standby”. Noteremmo adesso che R1 è consapevole dell’esistenza del router R2 (10.10.1.3):

R1# show standby
Ethernet0/0 - Group 1
State is Active
2 state changes, last state change 01:27:26
Virtual IP address is 10.10.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.288 secs
Preemption disabled
Active router is local
Standby router is 10.10.1.3, priority 100 (expires in 9.456 sec)
Priority 100 (default 100)
Group name is "hsrp-Et0/0-1" (default)

Simuliamo un guasto di R1 disablitando la sua interfaccia Eth0/0, cosi da impedire di scambiare l’hello message con R2:

R1# conf t
R1(config)# interface Ethernet0/0
R1(config-if)# shutdown
*Nov 20 10:06:52.369: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 1 state Active -> Init
R1(config-if)#
*Nov 20 10:06:54.375: %LINK-5-CHANGED: Interface Ethernet0/0, changed state to
administratively down
*Nov 20 10:06:55.379: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed
state to down

Ci spostiamo velocemente sul router R2 apprezzando la transizione in active:

R2#
*Nov 20 10:06:52.365: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 1 state Standby -> Active
R2# show standby
Ethernet0/0 - Group 1
State is Active
2 state changes, last state change 00:14:00
Virtual IP address is 10.10.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.496 secs
Preemption disabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "hsrp-Et0/0-1" (default)

Proviamo la continuità del servizio pingando l’indirizzo IP 10.10.99.1 (la rete dietro al default gateway). Ovviamente anche l’ARP è immutato:

PC1# ping 10.10.99.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.99.1, timeout is 2 seconds:
!!!!!
PC1# show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.1.1 18 0000.0c07.ac01 ARPA Ethernet0/0
<...output omitted...>

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.