HSRP Hot Standby Router Protocol
(Cisco) RFC2281
Zajišťuje zálohování IP adresy výchozí brány
Routery se seskupují do HSRP skupin
Jeden router je vždy active
Druhý router je standby a ostatní jsou ve stavu listen
Routery si vyměňují HSRP Hello zprávy v daných intervalech, tím o sobě vzájemně vědí
HSRP Hello: cílová IP = 224.0.0.2, port UDP 1985
HSRP group: 1-255 (switche obvykle podporují max.16 skupin)
číslo HSRP group má jen lokální význam na interfacu (tzn. HSRP group 1 na int. VLAN10 je nezávislá na HSRP group 1 na int. VLAN11)
HSRP volba "active" routeru
založeno na prioritě 0-255, def.100, nejvyšíí priorita je 255
router s nejvyšší prioritou je aktivní
jsou-li priority routerů stejné (např. def.100), rozhoduje nejvyšší IP adresa HSRP interfejsu
Switch(config-if)# standby group(1-255 / 1-16) priority priority(0-255, def.100)
Po zapnutí HSRP musí zařízení projít následujícími stavy:
Disabled
Init
Listen - ostatní routery
Speak
Standby - router s druhou nejvyšší prioritou
Active - router s nejvyšší prioritou
Standby router sleduje Hello od Aktivního routeru
Hello jsou vysílány def. každé 3 s
Pokud nepřijde Hello v průběhu Hold timeru (def. 10s = 3x hello), standby router převezme aktivní roli
Jeden router (nejvyšší priorita) z Listening routerů se stane Standby
Switch(config-if)# standby group timers [msec] hello [msec] holdtime
hello = 1-254 s nebo 15-999 ms (def. 3 s)
holdtime = 1-255 s nebo 50-3000 ms (def. 10 s), doporučuje se trojnásobek Hello timeru
snížením timerů, lze dosáhnou rychlejší reakce, ale i častého posílání Hello a zvýšení provozu
běžně pokud aktivní router selže a funkci převezme standby router, po naskočení původního active routeru se tento router nestane automaticky znovu aktivním
router se může stát aktivním jen při selhání současného active routeru - nezávisle na prioritě
Lze nakonfigurovat automatické přebírání aktivní role pomocí preempt
Switch(config-if)# standby group preempt [delay [minimum seconds] [reload seconds]]
delay - pozdržení převzetí aktivní role
minimum - 0-3600s, měří se od chvíle kdy je router schopen převzít aktivní roli (interface up, nakonfigurování HSRP)
reload - 0-3600s po restartu routeru, účelem je dát čas routovacím protokolům aby zkonvergovaly
HSRP Authentikace
Plain-Text Authentikace
string 8 znaků
posílá se jako plain-text
neslouží k zabezpečení, ale spíše jako prevence před účastí nechtěných(def.nakonfigurovaných) zařízení v HSRP
Switch(config-if)# standby group authentication string
MD5 Authentikace
String:
Switch(config-if)# standby group authentication md5 key-string [0 | 7] string
0 - string 64 znaků, ve výpisu konfigurace je vidět jako zašifrovaný
7 - lze vložit již zašifrovaný řetězec
Key-chain:
Switch(config)# key chain chain-name
Switch(config-keychain)# key key-number
Switch(config-keychain-key)# key-string [0 | 7] string
Switch(config)# interface type mod/num
Switch(config-if)# standby group authentication md5 key-chain chain-name
Track interface
slouží k ovlivnění stavu HSRP v závislosti na ostatních interfejsech routeru
jinými slovy: nemá cenu aby byl aktivní router, který má spadlou linku do internetu
po pádu sledované linky dojde ke snížení HSRP priority
POZOR, router který má převzít aktivní roli musí mít zapnuto preempt, jinak se nic nestane!!!
Switch(config-if)# standby group track type mod/num [decrementvalue(def.10)]
HSRP Addressing
každý zúčastněný interfejs v HSRP má svojí IP adresu
jedna IP je společná (virtuální router) = default GW pro hosty
skutečná IP adr. interfejsu a virtuální IP adresa musí být ve stejném subnetu
Switch(config-if)# standby group ip ip-address [secondary]
HSRP Load Balancing
dělá se pomocí dvou HSRP skupin
pro každou skupinu je aktivní jiný router
nevýhoda jsou dvě různé virtuální IP adresy jako brány
tyto dvě IP se rozdělí mezi hosty půl na půl
polovina provozu jde pak přes jeden router a druhá přes druhý
Příklad konfigurace:
CatalystA(config)# interface vlan 50
CatalystA(config-if)# ip address 192.168.1.10 255.255.255.0
CatalystA(config-if)# standby 1 priority 200
CatalystA(config-if)# standby 1 preempt
CatalystA(config-if)# standby 1 ip 192.168.1.1
CatalystA(config-if)# standby 1 authentication MyKey
CatalystA(config-if)# standby 2 priority 100
CatalystA(config-if)# standby 2 ip 192.168.1.2
CatalystA(config-if)# standby 2 authentication MyKey
CatalystB(config)# interface vlan 50
CatalystB(config-if)# ip address 192.168.1.11 255.255.255.0
CatalystB(config-if)# standby 1 priority 100
CatalystB(config-if)# standby 1 ip 192.168.1.1
CatalystB(config-if)# standby 1 authentication MyKey
CatalystB(config-if)# standby 2 priority 200
CatalystB(config-if)# standby 2 preempt
CatalystB(config-if)# standby 2 ip 192.168.1.2
CatalystB(config-if)# standby 2 authentication MyKey
Switch(config-if)# show standby [vlan vlan-id | type mod/num] [brief]