HSRP

HSRP je Cisco protokol, který je užitečný a jednoduše se konfiguruje. Slouží k zajištění vysoké dostupnosti v síti pomocí redundance routerů (bran). Tak jako STP řeší redundanci cest v síti (a potřebujeme zdvojit propojení), tak HSRP řeší redundanci prvního hopu na Layer 3 OSI (musíme zdvojit router). Článek nerozebírá teorii HSRP, ale věnuje se jeho praktickému významu a popisu (základní, ale dostatečné) konfigurace. Stručně jsou zmíněny i další protokoly – IRDP, VRRP a GLBP.

 Článek byl doplněn o stručné informace o dalších protokolech pro zajištění redundance gatewaye.

Princip HSRP

V praxi je běžné, že máme v lokální síti redundantní cesty na L2 (podle OSI modelu), takže výpadek některého aktivního prvku nebo propojovacího kabelu nepřeruší komunikaci v celé síti. V takovéto síti běžně provozujeme celou řadu VLAN a ty jsou mezi sebou spojené pomocí inter-VLAN routingu. Tato komunikace je již na L3 a my potřebujeme řešit výpadek switche/routeru, který všechny VLANy propojuje a slouží jako brána (gateway). Je to o to složitější, že všechny stanice mají zadánu IP adresu tohoto routeru jako svoji gateway. Právě tuto situaci nám řeší HSRP, kdy sice potřebujeme záložní router, ale v případě výpadku se komunikace automaticky přepne na tento záložní. Navíc záložní router může být méně výkonný.

Pozn.: Stejná je i situace, kdy se jedná o centrální bránu, kterou jsme připojeni do internetu. Ovšem bývá to složitější o to, že zde většinou běží Firewall.

HSRP je proprietární protokol firmy Cisco. Existuje i standardizovaný protokol, svou funkcí shodný, který se jmenuje Virtual Router Redundancy Protocol - VRRP. Podle mých zkušeností se však v praxi více používá právě verze od Cisca, tedy HSRP.

Princip funkce je takový, že máme virtuální IP adresu (interfacu) brány, kterou používají klienti, a k ní virtuální MAC adresu. Tyto virtuální adresy sdílí nakonfigurovaná skupina routerů (jejich rozhraní mají svoji vlastní IP a MAC adresu). Jeden z routerů je vybraný jako aktivní, ten drží virtuální adresy, a ostatní jsou standby (záložní). HSRP detekuje výpadek aktivního routeru a v tom případě standby router převezme virtuální IP a MAC adresu a tím se stane aktivním zařízením, které routuje provoz. Informace o dostupnosti routeru se provádí pomocí Hello paketů.

HSRP redundance

Jak je vidět, tak standardně máme jeden aktivní router, který pracuje, a jeden záložní, který pouze čeká na výpadek aktivního. Pomocí Hot Standby group můžeme vytvořit více konfigurací pro různé skupiny VLAN a rozdílně nastavit aktivní a standby router, takže dochází k vyvažování (manuálnímu) zátěže.

Hlavní vlastnosti

Konfigurace HSRP

HSRP můžeme konfigurovat na L3 rozhranní:

  1. VLAN interface (SVI)

  2. fyzický routovaný port

  3. etherchannel

Vlastní zapnutí HSRP na interfacu se provádí příkazem

SWITCH(config-if)#standby 1 ip 192.168.1.1

Kde číslo 1 je číslo skupiny, může nabývat hodnot 0 až 255, kdy 0 je defaultní a nemusí se zadávat. IP adresa je virtuální adresa brány.

Příklad základního nastavení

SWITCH1(config)#interface vlan 100
SWITCH1(config-if)#ip address 192.168.1.2 255.255.255.0  // vlastní adresa interfacu 
SWITCH1(config-if)#standby 1 ip 192.168.1.1              // zapnutí HSRP a nastavení virtuální adresy

Aby mělo nastavení smysl, tak je třeba nakonfigurovat i druhý router:

SWITCH2(config)#interface vlan 100
SWITCH2(config-if)#ip address 192.168.1.3 255.255.255.0
SWITCH2(config-if)#standby 1 ip 192.168.1.1

Dalším, co asi v praxi nakonfigurujeme, je určení priority, podle které se volí aktivní router.

SWITCH1(config-if)#standby 1 priority 150  // nastaví prioritu na 150, defaultní je 100 (rozsah 1 - 255), vhodné je volit hodnoty větší
SWITCH1(config-if)#standby 1 preempt       // zajistí, aby po naběhnutí původního aktivního routeru se stal opět aktivním

Takže náš předchozí příklad můžeme doplnit tak, aby SWITCH1 byl primárně aktivní:

SWITCH1(config-if)#standby 1 priority 150
SWITCH1(config-if)#standby 1 preempt

SWITCH2(config-if)#standby 1 priority 120
SWITCH2(config-if)#standby 1 preempt

Pozn.: Pro inter-VLAN routing samozřejmě musíme nakonfigurovat HSRP i pro další VLANy, které jsou routovány. Pro různé VLANy můžeme použít jednu HSRP skupinu, ale často je lepší rozdělit VLANy do několika skupin. Celá skupina se vždy přepíná najednou.

Pro zobrazení informací o HSRP máme příkaz

SWITCH#show standby

Následující příkaz nám zobrazí, která strana je aktivní, a jestli je dostupný další člen.

SWITCH#show standby brief

Při běžném provozu nesmíme zapomenout na to, že se mezi routery v dané VLANě musí šířit multicasty s hello pakety, jinak nám přepínání nebude fungovat. Takže když konfigurujeme ACL na VLANu, musíme povolit tuto komunikaci, například něco jako:
permit udp any 224.0.0.0 0.0.0.255

Multiple HSRP

Pro load balancing můžeme použít rozšíření HSRP nazvané MHSRP. To nám dovolí zadat do konfigurace více skupin s rozdílnou prioritou a část klientů nakonfigurovat pro jeden router a část pro druhý.

To se může hodit pro některé situace, ale pro běžný inter-VLAN routing spíše využijeme různé skupiny, takže některé VLANy budou standardně routovány jedním routerem a ostatní druhým.

Příklad nastavení:

SWITCH1(config)#interface g1/0/1
SWITCH1(config-if)#no switchport                         // aby se interface stal pouze L3 (routovací)
SWITCH1(config-if)#ip address 192.168.1.10 255.255.255.0
SWITCH1(config-if)#standby 1 ip 192.168.1.1
SWITCH1(config-if)#standby 1 priority 150
SWITCH1(config-if)#standby 1 preempt
SWITCH1(config-if)#standby 2 ip 192.168.1.2
SWITCH1(config-if)#standby 2 priority 110
SWITCH1(config-if)#standby 2 preempt

SWITCH2(config)#interface g1/0/1
SWITCH2(config-if)#no switchport                         // aby se interface stal pouze L3 (routovací)
SWITCH2(config-if)#ip address 192.168.1.11 255.255.255.0
SWITCH2(config-if)#standby 1 ip 192.168.1.1
SWITCH2(config-if)#standby 1 priority 110
SWITCH2(config-if)#standby 1 preempt
SWITCH2(config-if)#standby 2 ip 192.168.1.2
SWITCH2(config-if)#standby 2 priority 150
SWITCH2(config-if)#standby 2 preempt

Pro konfiguraci HSRP je k dispozici ještě řada dalších možností, pro běžnou praxi však stačí pouze to výše uvedené.

ICMP Internet Router Discovery Protocol - IRDP

Virtual Router Redundancy Protocol – VRRP

Gateway Load Balancing Protocol – GLBP

Příklad funkce weighting a interface tracking:

SWITCH(config)#track 1 interface serial 2/0 line-protocol
SWITCH(config)#interface f0/1
SWITCH(config-if)#glbp 10 weighting 110 lower 95 upper 105
SWITCH(config-if)#glbp 10 weighting track 1 decrement 10