Sådan konfigurerer du HSRP på en Cisco-router (med GNS3-laboratorium)
On januar 23, 2022 by adminHot Standby Routing Protocol eller HSRP er en Cisco-protokol, der gør det muligt for to eller flere routere at arbejde sammen om at repræsentere en enkelt IP-adresse for et bestemt netværk. HSRP samt Virtual Route Redundancy Protocol (VRRP) betragtes som netværkstjenester med høj tilgængelighed, der giver mulighed for næsten øjeblikkelig fail over til en sekundær grænseflade, når den primære grænseflade bliver utilgængelig. HSRP-konfigurationen kan til tider være vanskelig, så denne artikel vil dække de grundlæggende punkter og også præsentere et GNS3-laboratorium.
HSRP er en af de såkaldte FHRP eller “First Hop Redundancy Protocols” (første hop redundansprotokoller). Du kan læse mere om FHRP i denne nye artikel.
HSRP er et ret simpelt koncept, der fungerer ved, at en router i en HSRP-gruppe vælges som den primære eller aktive router. Denne primære router håndterer alle routinganmodninger, mens de andre routere i HSRP-gruppen blot venter i en standbytilstand. Disse standby-routere forbliver klar til at overtage hele trafikbelastningen, hvis den primære router bliver utilgængelig. I dette scenarie giver HSRP høj netværkstilgængelighed, da den dirigerer IP-trafikken uden at være afhængig af en enkelt router.
For virkelig at gå i dybden med HSRP kan du læse RFC 2281 for at få alle detaljer om det indre arbejde i denne meget anvendte protokol.
De værter, der bruger HSRP-adressen som gateway, kender aldrig den faktiske fysiske IP- eller MAC-adresse på routerne i gruppen. Kun den virtuelle IP-adresse, der blev oprettet i HSRP-konfigurationen sammen med en virtuel MAC-adresse, er kendt af andre værter på netværket.
Grundlæggende HSRP-konfiguration
Hvor vi diskuterer mere avancerede HSRP-koncepter, skal vi oprette en grundlæggende HSRP-konfiguration for at få et indtryk af, hvordan alt dette fungerer. I dette scenarie bruger vi den topologi, der er vist nedenfor:
GNS3-topologiopsætningen ser således ud:
Den består af blot to routere (R1 og R2), der fungerer som standardgateway for netværket 192.168.1.0/24. Kun en af disse routere vil være aktiv på et bestemt tidspunkt med en virtuel IP-adresse på 192.168.1.1.1. Det betyder, at alle enheder på 192.168.1.0/24-segmentet (f.eks. PC1) vil blive konfigureret med denne virtuelle IP-adresse.
OBS: Husk på, at en eller begge disse routere også kan være flerlagsswitche som f.eks. en Cisco 6509 eller 3750. Men i denne diskussion vil vi blot henvise til dem som routere.
For at opnå grundlæggende HSRP-konfiguration skal du gøre følgende:
- Konfigurer normal IP-adresse på grænsefladen (kan ikke være den samme som den virtuelle HSRP-IP)
- Bring grænsefladen op (ingen nedlukning)
- Konfigurer HSRP-gruppe og virtuel IP-adresse ved hjælp af standby-kommandoen
I dette eksempel har vi konfigureret en HSRP-gruppe “1”. Dette gruppenummer kan være et hvilket som helst tal mellem 0 og 255 (HSRP version 1), og det eneste krav er, at du skal bruge det samme nummer på tværs af enheder i den samme HSRP-gruppe.
Vi kan bruge kommandoen show standby til at se status for vores HSRP-konfiguration.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)
Bemærk, at R1 er den aktive router, mens R2 er på standby. Ideelt set vil routeren med den samme prioritet med den højeste IP-adresse blive valgt som den aktive router. Jeg konfigurerede dog R1 først, og den blev aktiv, før R2 kom med. Da R2 har samme prioritet som R1, bliver R2 ikke aktiv, selv om den har en højere IP-adresse (192.168.1.12 > 192.168.1.11).
Vi vil tale om prioritet og præemption senere i denne artikel.
Bemærk: Når du svarer traceroute, bruges IP-adressen for den fysiske grænseflade, ikke den virtuelle IP-adresse. Se dette link for at få flere oplysninger.
Bemærk, hvordan trafikken strømmer gennem R2 (192.168.1.12). Når vi igen kontrollerer kommandoen show standby, kan vi se, at R2 nu er den aktive router: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 med HSRP
Jeg besluttede mig for at tage en lille omvej for at tale om routing, når HSRP er konfigureret. Der er et par ting at bemærke:
- Routes replikeres ikke mellem HSRP-routere. Det betyder, at R1 og R2 (hver for sig) skal vide, hvordan de kan nå det 8.8.8.8.8-netværk, der anvendes i vores eksempel. I vores tilfælde opnår vi dette ved at konfigurere en standardrute til 192.0.2.1 (EXT_RTR) på både R1 og R2.
- Selv om trafikken fra PC1 til 8.8.8.8.8 vil strømme gennem den aktive HSRP-router, vil returtrafikken være et problem. Da routing udføres på grundlag af destinationen (som standard), vil EXT_RTR konsultere sin routingtabel for at finde ud af, hvordan svaret fra 8.8.8.8.8.8 skal videresendes til PC1 (192.168.1.100). Afhængigt af hvordan du konfigurerer dette, vil EXT_RTR altid bruge R1, altid bruge R2 eller bruge både R1 og R2. Dette kan føre til asymmetrisk routing og/eller blackholing af trafik. En måde at omgå dette problem på er at konfigurere NAT, men det ligger uden for denne artikels rækkevidde. I denne artikel har jeg konfigureret to statiske ruter til netværket 192.168.1.0/24 på EXT_RTR: den ene peger på R1 og den anden peger på R2. Det betyder, at EXT_RTR har en belastningsbalance mellem R1 og R2.
HSRP Priority: Kontrol af den aktive router
Der er flere HSRP-værdier, som du skal ændre fra tid til anden for at sikre fuldstændig kontrol over din netværkstrafik. Hvad nu, hvis vi f.eks. ønsker, at R1 skal være den aktive router i stedet for R2? Hvis du vil tvinge en bestemt router til at være den aktive router i en HSRP-gruppe, skal du bruge kommandoen prioritet.
Den standardprioritet er 100. Den højere prioritet vil bestemme, hvilken router der er aktiv. Hvis begge routere er indstillet til den samme prioritet, vil den første router, der kommer op, være den aktive router.
Bemærk: Selv om vi har øget prioriteten for R1, forbliver den i standbytilstand, fordi præemption er deaktiveret. Vi vil tale om præemption næste gang.
HSRP Preempt: Undgå Fail-Back
I vores ovenstående scenario vil R2 blive aktiv, hvis R1 fejler, som vi har set, hvis R1 fejler. Dette er perfekt! Men hvis R1 kommer op igen og vender tilbage til tjenesten, vil R2 fortsat forblive aktiv. Dette er muligvis ikke en foretrukken adfærd. Der er tidspunkter, hvor du måske altid ønsker, at R1 skal være i en aktiv tilstand i HSRP-gruppen. Cisco giver dig mulighed for at styre dette ved hjælp af kommandoen preempt. Preempt tvinger en router til at være aktiv efter at have genvundet fra en fejl.
Advanced HSRP Configuration – Load Balancing
Så nu kan du se, hvor fantastisk HSRP er, og hvordan det giver os mulighed for at have høj tilgængelighed mellem flere routere for et enkelt netværk. Men vores standby-routere gør ikke noget som helst og sidder bare der! Afhængigt af den routermodel, du bruger, kan det være mange penge, der bare sidder ubenyttet hen.
Note: Det er også vigtigt at huske på, at hvis der sker noget med en af enhederne i et højtilgængelighedspar, så skal den anden enhed kunne håndtere netværksbelastningen.
For at løse dette problem kan vi konfigurere HSRP til at være belastningsbalanceret mellem routere. Dette hjælper os ikke med en enkelt HSRP-gruppe, men for flere HSRP-grupper kan vi sprede belastningen og få hver HSRP-gruppe til at være aktiv på forskellige routere.
Gennem at konfigurere flere HSRP-grupper på en enkelt grænseflade kan der opnås HSRP-belastningsbalance.
For vores eksempel skal vi tilføje PC2 til laboratorieopsætningen. Af hensyn til forklaringen kalder vi HSRP-gruppe 1 for “network-one” og HSRP-gruppe 2 for “network-two”. R1 vil være aktiv for netværk-et, mens R2 vil være aktiv for netværk-to. Det betyder, at R1 vil være standby for netværk-to, mens R2 vil være standby for netværk-et.
Den fulde konfiguration på R1 er som følger: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
Den fulde konfiguration på R2 er som følger: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
Denne konfiguration giver os mulighed for, at hver router arbejder for os og videresender pakker, så vi udnytter vores investering i vores netværksudstyr bedst muligt. Vi har også tilføjet kommandoen HSRP group name for at hjælpe med at beskrive hver HSRP-gruppe bedre. Dette kan være en livredder, når du har flere HSRP-grupper, som du skal holde styr på.
Mærk dig, at PC1 bruger R1, mens PC2 bruger R2. Belastningsudligning er opnået!
En sidste bemærkning om HSRP-standbygrupper. Du kan have flere grænseflader og netværk konfigureret med det samme standby-gruppenummer, hvis den nødvendige failover-adfærd er den samme.
Hvis du imidlertid har brug for en anden adfærd, dvs. forskellig prioritet, preempt osv. (som det ses i vores belastningsbalancerede scenario ovenfor), er der brug for en separat gruppe.
Fælles problemer med HSRP
For at afslutte denne artikel om HSRP skal vi hurtigt fremhæve nogle almindelige problemer med HSRP. Dette kan tjene som en slags tjekliste ved fejlfinding af HSRP. Problemerne omfatter:
- HSRP-routere, der ikke befinder sig på samme netværkssegment.
- HSRP-routere, der ikke er konfigureret med IP-adresser fra samme undernet.
- HSRP-konfigurationsproblemer som standbygrupper og virtuelle IP’er, der ikke passer sammen på HSRP-routerne.
Konklusion
Der er meget mere til HSRP, end denne artikel dækker, herunder:
- Dyb indsigt i, hvordan HSRP fungerer
- Interface tracking
- Authentifikation
For nu ønskede vi at give dig et godt grundlag for konfigurationen af HSRP på en Cisco-router.
Skriv et svar