HSRP 練習
如果以這張圖來看,PC想要上網一定要先找Gateway,但是這時候PC的Gateway設成R1或是R2好像都不太對,因此我們就需要使用FHRP(First Hop Redundancy Protocol),包含三種 HSRP、VRRP、GLBP協定,其中HSRP和GLBP都是思科的專屬協定,VRRP是業界標準協定,這裡我們練習使用HSRP,就是R1和R2的192.168.1.253和192.168.1.252共同維護一個VIP為 192.168.1.254。
R1的設定:
R2的設定:
首先要決定 standby的group 數字,因為group 數字與產生的VIP的mac有關,0000.0c07.ac[group number],所以兩邊要加入同個group的數字一定要一樣,priority跟選Active有關,預設是100,preempt表示如果自己的priority比原本group裡的priority大的話,可以進行Active搶奪,由於R1的110大於R2的100,所以Active為R1。
也可以看出 hsrp version 1 他們是使用multicast 224.0.0.2 UDP 1985 port進行溝通,大約每三秒hello一次。
以交換器的角度來看的話,就是 0000.00c7.ac01 這個VIP的MAC會在 et0/0 et0/1之間切換。
如果以PC來看的話,因為ARP都不變,所以他並不知道VIP目前在哪一台。
我們重開機R1模擬R1故障,發現R2把 192.168.1.254 的IP給搶走了。
當R1重開機好的時候,因為我們有設定可以搶奪,所以R1發現自己的priority比R2大之後就把VIP 192.168.1.254搶過來了,因此我們得知HSRP這個協定只能做到Gateway的HA,但不能做到分流,畢竟所有PC還是只能選擇一個Router走。
想要看目前是走哪個Router可以用traceroute來看,他第一跳會回應實體IP,而不是VIP。
但做這種HA一定要有線路偵測機制,假設R1和R2是走不同的ISP,有沒有可能R1無法上網,但是R2卻可以上網,但是所有PC的Gateway還是指向R1的VIP導致所有PC無法上網。
所以我們要設定探測機,首先我先設定一個探測機20號,讓他持續去ping 8.8.8.8,每五秒一次,但是我又很擔心會不會只是線路不穩,如果只是ping一次失敗就切,會不會一直切來切去,所以我設定delay 20秒,連續失敗或連續成功五次我才會切換回來,最後在HSRP上設定如果track失敗的話,我要減少50 priority ,所以110-50=60 < 100,R2會搶走VIP 192.168.1.254。
(PS:當然你也可以設定偵測介面,比方說跟ISP接的那條interface down了我就減少50 priority,但有可能發生遠端ISP機房失火,你自己機房接的介面反而永遠up,所以怎麼使用自己斟酌。)
(PS:priority不一定要減少50,只要R1減完後少於R2的100就可以了。)
所以當R1不能上網的時候,它的priority變成110-50 = 60,我們發現它會進入到standby模式,R2把VIP搶走了。
所以PC走R2的ISP線路,還是可以上網。
當線路偵測正常的時候,他因為priority 60+50 又回到110大於100,加上我們有設定搶奪,所以R1又把VIP 192.168.1.254拿回來了。
留言
張貼留言