<b>網關備援與負載均衡VRRP/HSRP協定</b>
<b> </b>
有時候我們為了達到讓公司企業内部網絡的HA高可用性和可靠性,常常會使用VRRP(Virtual Router Redundancy Protocol)虛拟路由備援協定,HSRP(hot standby router protocol)熱備份路由協定。這種網關備援而又使流量能夠進行負載均衡的進行傳輸,提高整個網絡的綜合性能,解決單點故障。VRRP與HSRP一個很大的差別就是HSRP為CISCO公司私有的一種網關備援協定,相反,VRRP則是一種公有協定。說到它們兩的優點,VRRP與HSRP各有千秋。
評點:
1、HSRP不支援将真實的接口位址,設定為虛拟的網關位址,而VRRP支援
2、HSRP将封包承載在UDP的封包上,而VRRP承載在TCP封包上
3、HSRP有三種封包,而且有三種狀态可以發送封包
使用多點傳播位址224.0.0.2來發送多點傳播封包。
呼叫(Hello) 封包,告辭(Resign)封包,突變(Coup)封包
VRRP有一種封包
VRRP廣播封包:由主路由器定時發出來通告它的存在,使用這些封包可以檢測虛拟路由器各種參數,還可以用于主路由器的選舉,多點傳播封包的位址224.0.0.18。
4、HSRP有六種狀态機
初始(Initial)狀态,學習(Learn)狀态,監聽(Listen)狀态,
對話(Speak)狀态,備份(Standby)狀态,活動 (Active)狀态
VRRP三種狀态機
三種狀态模型:
初始狀态(Initialize)、主狀态(Master)、備份狀态 (Backup)
其中兩種協定為了協定的安全性,也加入了一些協定安全認證措施,有明文與MD5之分。下面是有關于HSRP與VRRP的一些基本實驗:
一, VRRP(多VLAN情況下)
Top:
<a href="http://blog.51cto.com/attachment/201104/191457531.jpg" target="_blank"></a>
配置如下:
GW-1:
ip cef
no ip domain lookup
key chain cisco/配置一串密鑰鍊
key 1第一個密鑰
key-string cisco 密鑰字元串
track 1 interface FastEthernet2/0 line-protocol VRRPtrack
delay down 4當被監視的接口DOWN掉四秒後切換組主備角色
interface FastEthernet0/0.1
encapsulation dot1Q 20
ip address 192.168.1.1 255.255.255.0
vrrp 1 ip 192.168.1.100
vrrp 1 priority 120
vrrp 1 authentication md5 key-chain cisco/對組1進行MD5加密驗證,防止切換到另外的惡意網關上去
vrrp 1 track 1 decrement 40當被監測的接口DOWN掉後此接口組優秀級降40,
interface FastEthernet0/0.2
encapsulation dot1Q 30
ip address 192.168.2.1 255.255.255.0
vrrp 2 ip 192.168.2.100
interface FastEthernet2/0
ip address 192.168.3.1 255.255.255.0
duplex auto
speed auto
GW-2:
Building configuration...
hostname R2
ip cef
key chain cisco
key 1
key-string cisco
track 2 interface FastEthernet2/0 line-protocol
delay down 3
ip address 192.168.1.2 255.255.255.0
vrrp 1 authentication md5 key-chain cisco
ip address 192.168.2.2 255.255.255.0
vrrp 2 priority 120
vrrp 2 track 2 decrement 40
ip address 192.168.4.1 255.255.255.0
其它裝置的設定我就不去一一貼上來了,
現象:
GW-1(config)#do show vrrp brief
Interface Grp Pri Time Own Pre State Master addr Group addr
Fa0/0.1 1 120 3531 Y Master 192.168.1.1 192.168.1.100
Fa0/0.2 2 100 3609 Y Backup 192.168.2.2 192.168.2.100
GW-1(config)#
GW-2(config)#do show vrrp brief
Fa0/0.1 1 100 3609 Y Backup 192.168.1.1 192.168.1.100
Fa0/0.2 2 120 3531 Y Master 192.168.2.2 192.168.2.100
GW-2(config)#
GW-2#show vrrp all
FastEthernet0/0.1 - Group 1
State is Backup
Virtual IP address is 192.168.1.100
Virtual MAC address is 0000.5e00.0101
Advertisement interval is 1.000 sec
Preemption enabled
Priority is 100
Authentication MD5, key-chain "cisco"
Master Router is 192.168.1.1, priority is 120
Master Advertisement interval is 1.000 sec
Master Down interval is 3.609 sec (expires in 3.117 sec)
FastEthernet0/0.2 - Group 2
State is Master
Virtual IP address is 192.168.2.100
Virtual MAC address is 0000.5e00.0102
Priority is 120
Track object 2 state Up decrement 40
Master Router is 192.168.2.2 (local), priority is 120
Master Down interval is 3.531 sec
其實HSRP的配置都差不多,隻有一些地方稍有差異,如,把VRRP改為standby,然後配置track有一些不同,HSRP為:
standby 1 track fa0/0 20
如果上行鍊路有多個接口的話,也可以在HSRP/VRRP組裡面配置多個track或track組。檢測多個上行接口連通情況,以便更合理快速地切換通信,把企業的損失降到最底。如:
GW-1(config)#interface fa2/0
GW-1(config-if)#sh
GW-1(config-if)#
*Mar 1 02:01:17.591: %LINK-5-CHANGED: Interface FastEthernet2/0, changed state to administratively down
*Mar 1 02:01:18.591: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to down
*Mar 1 02:01:19.595: %TRACKING-5-STATE: 1 interface Fa2/0 line-protocol Up->Down
*Mar 1 02:01:22.795: %VRRP-6-STATECHANGE: Fa0/0.1 Grp 1 state Master -> Backup
GW-2#show vrrp brief
Fa0/0.1 1 100 3609 Y Master 192.168.1.2 192.168.1.100
Fa0/0.2 2 120 3531 Y Master 192.168.2.2 192.168.2.100
GW-2#
這時vlan1,vlan 2都走gw-2網關了,可以路由跟蹤看下:
R4#traceroute 6.6.6.6
Type escape sequence to abort.
Tracing the route to 6.6.6.6
1 192.168.1.2 124 msec 32 msec 24 msec
2 192.168.1.2 !H * !H
R4#,雖然過不去,是因為我沒配去往R6的loopback 0口6.6.6.6的路由,但可以看出來,VLAN20的PC流量因為fa2/0 down掉後走gw-2了。
2,VRRP(單個網段的區域網路,如果還要網關備援與負載均衡呢)
隻需要設定一個網段裡面有兩個或多個不同的VRRP組,而VRRP可以把虛拟IP網關設為真實網關IP,而HSRP不可,隻要兩組的虛拟IP不同,用戶端可以在指向網關的時候用DHCP就沒有那麼靈活了,因為同一個網段要控制自動配置設定不同的網關還是不靈活的應該。
配置:
GW-1#show run
hostname GW-1
key-string cisco
interface FastEthernet0/0
standby 1 ip 192.168.1.100
standby 1 authentication md5 key-chain cisco
standby 2 ip 192.168.1.101
standby 2 priority 120
standby 2 preempt
standby 2 track FastEthernet2/0 40
router ospf 1
log-adjacency-changes
network 192.168.1.0 0.0.0.255 area 0
network 192.168.3.0 0.0.0.255 area 0
GW-2(config)# do show run
hostname GW-2
key-string cisco
standby 1 priority 120
standby 1 preempt
standby 1 track FastEthernet2/0 40
network 192.168.4.0 0.0.0.255 area 0
default-information originate always
用戶端的話,隻要把網關分别指向不同的虛拟IP即可。
PC2:ip default-gateway 192.168.1.100
PC1:ip default-gateway 192.168.1.101
效果:
1 192.168.1.2 60 msec 56 msec 32 msec
2 192.168.4.2 80 msec * 136 msec
R4#
R5#traceroute 6.6.6.6
1 192.168.1.1 84 msec 40 msec 40 msec
2 192.168.3.2 48 msec * 140 msec
R5#
在這裡我要說一下OSPF的預設路由程序宣告指令的不同之處:
default-information originate與default-information orifinate always
default-information originate宣告之後,必須要在本ASBR路由器路由表裡有一條靜态預設路由存在,然後才能自動給OSPF區域内通告一條預設路由出去。而default-information orifinate always
則不需要在此ASBR路由器裡面有這要的一條靜态預設就可以自動向域内路由器自動生成一條指向外部網絡的路由如下:
兩條指令都會釋出下面一條路由給OSPF域内的路由器:
O*E2 0.0.0.0/0 [110/1] via 192.168.1.2, 00:07:59, FastEthernet0/0
但要知道靜态路由:
S* 0.0.0.0/0 [1/0] via 192.168.4.2
也可以在default-information orifinate always後加metric/metric-type 1/2來改變metric類型,預設為2,
如果為1時,
O*E1 0.0.0.0/0 [110/2] via 192.168.1.2, 00:00:06, FastEthernet0/0
如果在always自動釋出預設路由時,還在路由器下加入一條預設路由時且類型為1時:
O*E1 0.0.0.0/0 [110/3] via 192.168.1.2, 00:00:02, FastEthernet0/0
而在default-information originate 後metric-type 1/2 時,預設為2:
O*E2 0.0.0.0/0 [110/1] via 192.168.1.2, 00:00:02, FastEthernet0/0
為1時:
O*E1 0.0.0.0/0 [110/3] via 192.168.1.2, 00:00:02, FastEthernet0/0(預設它路由表裡面還有一條靜态預設路由緣故吧)
注明:在E1 和E2都存在的情況下,首先選擇的是E1的路由,不比較E1和E2的metric值。
本文轉自 Bruce_F5 51CTO部落格,原文連結:http://blog.51cto.com/zenfei/550764