瞭解HSRP概述
HSRP(熱備份路由協議):是思科私有的一種技術,它確保了的那個網絡邊緣設備或接入鏈路出現故障時,用戶通信能迅速並透明地恢復,以此爲IP網絡提供冗餘性。熱備份路由協議爲IP網絡提供容錯和增強的路由選擇功能。通過使用一個虛擬的IP地址和虛擬MAC地址,LAN網段上的兩臺或者多臺路由器可以作爲一臺虛擬路由器對外提供服務。
熟悉HSRP組成員
HSRP備份有一臺活躍路由器,一臺備份路由器,一臺虛擬路由器和其他路由器組成。
活躍路由器:主要功能是轉發到虛擬路由器的數據包。組中的另一臺路由器被選爲備份路由器。活躍路由器通過發送Hello消息來承擔和保持它活躍的角色。
備份路由器:只要功能是監視HSRP組的運行狀態,並且到活躍路由器不能運行時,迅速承擔起轉發數據包的責任。備份路由器也傳輸Hello消息,告知組中所有路由器備份路由器的角色和狀態變化。
虛擬路由器:主要功能是想最終用戶提供一臺可以連續工作的路由器。虛擬路由器配置有它自己的IP地址和MAC地址,但並不實際轉發數據包。
其他路由器:這些路由器監視Hello消息,但不做應答。這些路由器轉發任何經由他們的數據包,但並不轉發經由虛擬路由器的數據包。
理解HSRP原理
HSRP組內的每個路由器都有指定的優先級,用於衡量路由器在活躍路由器選擇中的優先程度。默認優先級爲100(可配置範圍0-255),組中最高優先的路由器將成爲活躍路由器,其次的爲備份路由器。當優先級相同的情況下,將比較路由器的LAN口IP地址,地址大的將成爲活躍路由器。
當終端用戶向虛擬路由器提交數據時,將由活躍路由器進行處理,當活躍路由器發生故障時,備份路由器將在數秒之內承擔活躍路由器的工作,這時由於備份成爲了活躍路由器,而備份路由器的位置空缺,組內其它路由器將晉升備份路由器,在次比較優先級選出備份路由器。
HSRP的配置及應用
HSRP的配置命令語法如下:
1、配置HSRP的成員
Switch(cofnig-if)#standbygroup-numberipvirtual-ip-address
group-number:表示該端口所屬的HSRP組,通過在備份命令中指定一個唯一的組號可以創建多個HSRP組。virtual-ip-address:表示虛擬HSRP路由器的IP地址,即網段的IP地址。
2、配置HSRP優先級
Switch(cofnig-if)#standbygroup-numberprioritypriority-value
priority-value:範圍爲0-255,默認100。
3、配置HSRP的佔先權
Switch(cofnig-if)#standbygroup-numberpreempt
佔先權的解釋:HSRP中優先級高的活躍路由器進行定期維護時,HSRP備份路由器將成爲活躍路由器。但是當以前的優先級高的活躍路由器修好後加入到HSRP中時,如果沒有配置佔先權的話,它將不會從備份路由器中搶回活躍路由器的位置,哪怕是它的優先級高於備份路由器,如果配置了的話,則會從優先級低路由器中搶回活躍路由器的職位。
4、配置HSRP的端口跟蹤
Switch(cofnig-if)#standbygroup-numbertrackinterface-typemod/numinterface-priority
group-number:採用跟蹤功能的端口的組號
interface-type:跟蹤端口的端口類型
mod/num:跟蹤端口的端口號
interface-priority:當端口失效時,路由器的熱備份優先級將降低的數值,當端口變爲可用時,路由器的優先級將加上該數值,默認爲10。
端口跟蹤解釋:如果不設置端口跟蹤的話,當路由器的某個端口不可用時,但是它還是會發送hello消息告訴其他路由器,此路由器是可用的,其實數據是傳輸不出去。當給活躍路由器配置端口跟蹤後,當跟蹤的端口不可用時,此活躍路由器的優先級將減少相應的值,當變的可用時,則上升相應的值。這樣的話很靈活的提供故障的切換效果。
5、配置Hello消息的計時器
Switch(cofnig-if)#standbygroup-numbertimeshellotimeholdtime
hellotime:hello消息的間隔時間,默認3s,範圍1-255.
holdtime:hello消息的保存時間,默認10s,一般設置爲hello間隔的三倍。
6、檢查HSRP的狀態
Switch#showstandby[interface-typemod/num][group-number]brief
interface-typemod/num:要顯示的端口類型和序號
group-number:要顯示的具體HSRP
brief:顯示摘要信息,每個備份組總結顯示一行輸出。
HSRP的應用實例
配置公司兩臺核心三層交換機,實現路由器的備份+負載均衡。
實驗拓撲如下圖所示:
實驗要求如下:
1、使vlan10和vlan30的數據由SW2進行處理。
2、使vlan20的數據包由SW1進行處理。
3、當任意一臺路由器的某個端口不可用或路由器不可用時,數據能從備份路由器上處理。
在SW1上配置VTPserver,創建vlan。配置如下:
#設置與所有交換機的接口爲鏈路接口(trunk)並配置wan接口的IP地址和默認路由
sw1(config)#intrangef0/1-3
sw1(config-if-range)#switchportmodetrunk
sw1(config-if-range)#nosh
sw1(config-if-range)#exit
sw1(config)#intf0/0
sw1(config-if)#ipadd202.106.123.1255.255.255.0
sw1(config-if)#noswitchport
sw1(config-if)#nosh
sw1(config-if)#exit
sw1(config)#iproute0.0.0.00.0.0.0f0/0
#配置VTP以及創建vlan
sw1#vlandatabase
sw1(vlan)#vtpdomaintest
sw1(vlan)#vtpserver
sw1(vlan)#vtppassword123
sw1(vlan)#vtppruning
sw1(vlan)#exit
sw1#vlandatabase
sw1(vlan)#vlan10
sw1(vlan)#vlan20
sw1(vlan)#vlan30
#配置HSRP,配置SW1爲vlan10的備份路由器
sw1(config)#intvlan10
sw1(config-if)#ipadd192.168.1.1255.255.255.0
sw1(config-if)#standby10ip192.168.1.254
sw1(config-if)#standby10priority150
sw1(config-if)#standby10preempt
sw1(config-if)#nosh
#配置HSRP,配置SW1爲vlan20的活躍路由器
sw1(config)#intvlan20
sw1(config-if)#ipadd192.168.2.1255.255.255.0
sw1(config-if)#standby20ip192.168.2.254
sw1(config-if)#standby20priority200
sw1(config-if)#standby20preempt
sw1(config-if)#standby20trackf0/0100
sw1(config-if)#standby20trackf0/1100
sw1(config-if)#standby20trackf0/2100
sw1(config-if)#nosh
#配置HSRP,配置SW1爲vlan30的備份路由器
sw1(config)#intvlan30
sw1(config-if)#ipadd192.168.3.1255.255.255.0
sw1(config-if)#standby30ip192.168.3.254
sw1(config-if)#standby30priority150
sw1(config-if)#standby30preempt
sw1(config-if)#nosh
在SW2上配置VTPclient,學習SW1創建的vlan。
#設置與所有交換機的接口爲鏈路接口(trunk)並配置wan接口的IP地址和默認路由
sw2(config)#intrangef0/1-3
sw2(config-if-range)#switchportmodetrunk
sw2(config-if-range)#nosh
sw2(config-if-range)#exit
sw2(config)#intf0/0
sw2(config-if)#ipadd202.106.123.2255.255.255.0
sw1(config-if)#noswitchport
sw1(config-if)#nosh
sw2(config-if)#exit
sw2(config)#iproute0.0.0.00.0.0.0f0/0
#配置VTP以及創建vlan
sw2#vlandatabase
sw2(vlan)#vtpdomaintest
sw2(vlan)#vtpclient
sw2(vlan)#vtppassword123
sw2(vlan)#vtppruning
#配置HSRP,配置SW2爲vlan10的活躍路由器
sw2(config)#intvlan10
sw2(config-if)#ipadd192.168.1.2255.255.255.0
sw2(config-if)#standby10ip192.168.1.254
sw2(config-if)#standby10priority200
sw2(config-if)#standby10preempt
sw2(config-if)#standby10trackf0/0100
sw2(config-if)#standby10trackf0/1100
sw2(config-if)#standby10trackf0/2100
sw2(config-if)#nosh
#配置HSRP,配置SW2爲vlan20的備份路由器
sw2(config)#intvlan20
sw2(config-if)#ipadd192.168.2.2255.255.255.0
sw2(config-if)#standby20ip192.168.2.254
sw2(config-if)#standby20priority150
sw2(config-if)#standby20preempt
sw2(config-if)#nosh
#配置HSRP,配置SW2爲vlan30的活躍路由器
sw2(config)#intvlan30
sw2(config-if)#ipadd192.168.3.2255.255.255.0
sw2(config-if)#standby30ip192.168.3.254
sw2(config-if)#standby30priority200
sw2(config-if)#standby30preempt
sw2(config-if)#standby30trackf0/0100
sw2(config-if)#standby30trackf0/1100
sw2(config-if)#standby30trackf0/2100
sw2(config-if)#nosh
在SW3上配置VTPclient,學習SW1創建的vlan。
#設置與所有交換機的接口爲鏈路接口(trunk)
sw3(config)#intrangef0/0-1
sw3(config-if-range)#switchportmodetrunk
sw3(config-if-range)#nosh
#配置VTP以及創建vlan
sw3#vlandatabase
sw3(vlan)#vtpdomaintest
sw3(vlan)#vtpclient
sw3(vlan)#vtppassword123
sw3(vlan)#vtppruning
#將指定的接口加入相應的vlan
sw3(config)#intf0/2
sw3(config-if)#switchportaccessvlan10
sw3(config-if)#nosh
sw3(config-if)#exit
sw3(config)#intf0/3
sw3(config-if)#switchportaccessvlan20
sw3(config-if)#nosh
在SW4上配置VTPclient,學習SW1創建的vlan。
#設置與所有交換機的接口爲鏈路接口(trunk)
sw4(config)#intrangef0/0-1
sw4(config-if-range)#switchportmodetrunk
sw4(config-if-range)#nosh
#配置VTP以及創建vlan
sw4#vlandatabase
sw4(vlan)#vtpdomaintest
sw4(vlan)#vtpclient
sw4(vlan)#vtppassword123
sw4(vlan)#vtppruning
#將指定的接口加入相應的vlan
sw4(config)#intf0/2
sw4(config-if)#switchportaccessvlan20
sw4(config-if)#nosh
sw4(config-if)#exit
sw4(config)#intf0/3
sw4(config-if)#switchportaccessvlan30
sw4(config-if)#nosh
此時公司內部的兩臺核心交換機就算是配置好了HSRP了,現在不管是那一臺核心交換機壞掉還是交換機上的數據接口不可用,都不會影響用戶訪問Internet。因爲兩臺核心交換配置HSRP,實現了路由的備份和負載均衡,而路由器的備份和負載對用戶來說是透明的。