====== 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 ==== * posílá se hash HSRP zprávy a klíče * bezpečnější **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)//] * **decrementvalue** = hodnota o kterou se sníží priorita při pádu linky, defaultně 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**] * virtuální MAC: 0000.0c07c.acxx * xx = číslo HSRP skupiny {{:wiki:site:cisco:13-1.png|}} ===== 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ý {{:wiki:site:cisco:13-2.png|}} **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**]