Come configurare HSRP su un router Cisco (con GNS3 lab)
Il Gennaio 23, 2022 da adminHot Standby Routing Protocol o HSRP, è un protocollo proprietario di Cisco che permette a due o più router di lavorare insieme per rappresentare un singolo indirizzo IP per una particolare rete. HSRP, così come il Virtual Route Redundancy Protocol (VRRP) sono considerati servizi di rete ad alta disponibilità che permettono un fail over quasi immediato su un’interfaccia secondaria quando l’interfaccia primaria diventa non disponibile. La configurazione HSRP può essere complicata a volte, quindi questo articolo coprirà i punti fondamentali presentando anche un laboratorio GNS3.
HSRP è uno dei cosiddetti FHRP o “First Hop Redundancy Protocols”. Puoi leggere di più su FHRP in questo nuovo articolo.
HSRP è un concetto abbastanza semplice che funziona avendo un router all’interno di un gruppo HSRP selezionato come primario, o router attivo. Questo primario gestirà tutte le richieste di routing mentre gli altri router all’interno del gruppo HSRP aspettano semplicemente in uno stato di standby. Questi router standby rimangono pronti a prendere tutto il carico di traffico se il router primario non è disponibile. In questo scenario, HSRP fornisce un’alta disponibilità di rete poiché instrada il traffico IP senza dipendere da un singolo router.
Per scavare veramente nel Nitty Gritty di HSRP, controlla RFC 2281 per tutti i dettagli sul funzionamento interno di questo protocollo ampiamente utilizzato.
Gli host che usano l’indirizzo HSRP come gateway non conoscono mai l’effettivo IP fisico o indirizzo MAC dei router nel gruppo. Solo l’indirizzo IP virtuale che è stato creato all’interno della configurazione HSRP insieme ad un indirizzo MAC virtuale è noto agli altri host della rete.
Configurazione HSRP di base
Prima di discutere concetti HSRP più avanzati, creiamo una configurazione HSRP di base per avere un’idea di come funziona tutto questo. Per questo scenario useremo la topologia mostrata qui sotto:
La configurazione della topologia GNS3 assomiglia a questa:
Si tratta di due soli router (R1 e R2) che agiscono come gateway di default per la rete 192.168.1.0/24. Solo uno di questi router sarà attivo in un determinato momento con un indirizzo IP virtuale di 192.168.1.1. Questo significa che tutti i dispositivi sul segmento 192.168.1.0/24 (ad esempio il PC1) saranno configurati con questo indirizzo IP virtuale.
Nota: Tieni presente che uno o entrambi questi router potrebbero essere anche switch multistrato come un Cisco 6509 o 3750. Ma per questa discussione li chiameremo semplicemente router.
Per ottenere una configurazione HSRP di base, è necessario fare quanto segue:
- Configurare l’indirizzo IP normale sull’interfaccia (non può essere lo stesso dell’IP virtuale HSRP)
- Portare l’interfaccia su (no shutdown)
- Configurare il gruppo HSRP e l’indirizzo IP virtuale usando il comando standby
In questo esempio, abbiamo configurato un gruppo HSRP “1”. Questo numero di gruppo può essere qualsiasi numero tra 0 e 255 (HSRP versione 1) e l’unico requisito è che devi usare lo stesso numero per tutti i dispositivi nello stesso gruppo HSRP.
Possiamo usare il comando show standby per vedere lo stato della nostra configurazione HSRP.R1#show standby
FastEthernet0/0 - Group 1
State is Active
2 state changes, last state change 00:23:53
Virtual IP address is 192.168.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.852 secs
Preemption disabled
Active router is local
Standby router is 192.168.1.12, priority 100 (expires in 7.452 sec)
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)
R1#R2#show standby
FastEthernet0/0 - Group 1
State is Standby
1 state change, last state change 00:23:59
Virtual IP address is 192.168.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.340 secs
Preemption disabled
Active router is 192.168.1.11, priority 100 (expires in 7.920 sec)
Standby router is local
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)
Nota che R1 è il router attivo mentre R2 è in standby. Idealmente, a parità di priorità, il router con l’indirizzo IP più alto sarà eletto router attivo. Tuttavia, ho configurato R1 per primo ed è diventato attivo prima che R2 salisse a bordo. Poiché R2 ha la stessa priorità di R1, R2 non diventerà attivo anche se ha un indirizzo IP più alto (192.168.1.12 > 192.168.1.11).
Più avanti in questo articolo parleremo di priorità e prelazione.
Nota: Quando si risponde a traceroute, viene usato l’indirizzo IP dell’interfaccia fisica, non l’indirizzo IP virtuale. Controlla questo link per maggiori informazioni.
Nota come il traffico scorre attraverso R2 (192.168.1.12). Quando controlliamo di nuovo il comando show standby, vediamo che R2 è ora il router attivo:R2#show standby
FastEthernet0/0 - Group 1
State is Active
2 state changes, last state change 00:04:33
Virtual IP address is 192.168.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.152 secs
Preemption disabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)
Routing con HSRP
Ho deciso di fare una piccola deviazione per parlare del routing quando HSRP è configurato. Ci sono un paio di cose da notare:
- Le rotte non sono replicate tra i router HSRP. Questo significa che R1 e R2 devono (individualmente) sapere come raggiungere la rete 8.8.8.8 usata nel nostro esempio. Nel nostro caso, otteniamo questo configurando una rotta di default verso 192.0.2.1 (EXT_RTR) sia su R1 che su R2.
- Anche se il traffico da PC1 a 8.8.8.8 fluirà attraverso il router HSRP attivo, il traffico di ritorno sarà un problema. Poiché l’instradamento è fatto in base alla destinazione (per impostazione predefinita), EXT_RTR consulterà la sua tabella di routing per come inoltrare la risposta da 8.8.8.8 a PC1 (192.168.1.100). A seconda di come si configura questo, EXT_RTR userà sempre R1, userà sempre R2 o userà sia R1 che R2. Questo può portare al routing asimmetrico e/o al blackholing del traffico. Un modo per aggirare questo problema è quello di configurare NAT, ma questo va oltre lo scopo di questo articolo. Per questo articolo, ho configurato due percorsi statici per la rete 192.168.1.0/24 su EXT_RTR: uno che punta a R1 e l’altro che punta a R2. Questo significa che EXT_RTR bilancia il carico tra R1 e R2.
Priorità HSRP: Controllo del router attivo
Ci sono altri valori HSRP che dovrai cambiare di tanto in tanto per assicurarti il controllo completo del tuo traffico di rete. Per esempio, cosa succede se vogliamo che R1 sia il router attivo invece di R2? Per forzare un particolare router ad essere il router attivo in un gruppo HSRP dovrai usare il comando priority.
La priorità di default è 100. La priorità più alta determinerà quale router è attivo. Se entrambi i router sono impostati con la stessa priorità, il primo router ad apparire sarà il router attivo.
Nota: Anche se abbiamo aumentato la priorità di R1, rimarrà in modalità standby perché la prelazione è disabilitata. Parleremo della prelazione in seguito.
HSRP Preempt: Evitare il Fail-Back
Nel nostro scenario sopra, se R1 fallisce, R2 diventerà attivo come abbiamo visto. Questo è perfetto! Ma, se R1 torna su e torna in servizio, R2 continuerà a rimanere attivo. Questo potrebbe non essere un comportamento preferito. Ci sono momenti in cui si può desiderare che R1 sia sempre in uno stato attivo nel gruppo HSRP. Cisco fornisce un modo per controllare questo utilizzando il comando preempt. Preempt forza un router ad essere attivo dopo il recupero da un guasto.
Configurazione avanzata di HSRP – Bilanciamento del carico
Così ora puoi vedere quanto è grande HSRP e come ci permette di avere alta disponibilità tra più router per una singola rete. Ma i nostri router di riserva non stanno facendo nulla e stanno semplicemente seduti lì! A seconda del modello di router che stai usando, questo può essere un sacco di denaro che rimane inattivo.
Nota: E’ anche importante tenere a mente che se succede qualcosa ad uno dei dispositivi in una coppia ad alta disponibilità, allora l’altro dispositivo dovrebbe essere in grado di gestire il carico della rete.
Per risolvere questo problema, possiamo configurare HSRP per essere bilanciato tra i router. Questo non ci aiuta con un singolo gruppo HSRP, ma per più gruppi HSRP possiamo distribuire il carico e avere ogni gruppo HSRP attivo su diversi router.
Configurando più gruppi HSRP su una singola interfaccia, il bilanciamento del carico HSRP può essere ottenuto.
Per il nostro esempio, aggiungiamo il PC2 alla configurazione del laboratorio. Per motivi di spiegazione, chiameremo il gruppo HSRP 1 “rete-uno” e il gruppo HSRP 2 “rete-due”. R1 sarà attivo per la rete-uno mentre R2 sarà attivo per la rete-due. Questo significa che R1 sarà in standby per la rete-due mentre R2 sarà in standby per la rete-uno.
La configurazione completa su R1 è la seguente:interface FastEthernet0/0
ip address 192.168.1.11 255.255.255.0
standby 1 ip 192.168.1.1
standby 1 priority 200
standby 1 preempt
standby 1 name network-one
standby 2 ip 192.168.1.2
standby 2 name network-two
La configurazione completa su R2 è la seguente:interface FastEthernet0/0
ip address 192.168.1.12 255.255.255.0
standby 1 ip 192.168.1.1
standby 1 name network-one
standby 2 ip 192.168.1.2
standby 2 priority 200
standby 2 preempt
standby 2 name network-two
Questa configurazione ci permette di avere ogni router che lavora per noi e inoltra i pacchetti per utilizzare al meglio il nostro investimento in apparecchiature di rete. Abbiamo anche aggiunto il comando HSRP group name per aiutare a descrivere meglio ogni gruppo HSRP. Questo può essere un salvavita quando hai diversi gruppi HSRP di cui hai bisogno di tenere traccia.
Nota che il PC1 usa R1 mentre il PC2 usa R2. Bilanciamento del carico raggiunto!
Un’ultima nota sui gruppi standby HSRP. Puoi avere più interfacce e reti configurate usando lo stesso numero di gruppo standby se il comportamento di failover necessario è lo stesso.
Tuttavia se hai bisogno di avere un comportamento diverso, cioè priorità diversa, preempt, ecc, (come visto nel nostro scenario di bilanciamento del carico sopra) allora è necessario un gruppo separato.
Problemi comuni con HSRP
Per concludere questo articolo su HSRP, evidenziamo velocemente alcuni problemi comuni con HSRP. Questo può servire come una sorta di lista di controllo nella risoluzione dei problemi di HSRP. I problemi includono:
- I router HSRP non sono sullo stesso segmento di rete.
- I router HSRP non sono configurati con indirizzi IP della stessa sottorete.
- Problemi di configurazione HSRP come gruppi standby e IP virtuali che non corrispondono sui router HSRP.
Conclusione
C’è molto di più su HSRP che questo articolo copre, incluso:
- Profondamenti su come funziona HSRP
- Tracciamento delle interfacce
- Autenticazione
Per ora, abbiamo voluto darvi una buona base per la configurazione di HSRP su un router Cisco.
Lascia un commento