Lav_8 網關冗餘

Lab_8 網關冗餘

Proxy ARP+ICMP重定向... 2

HSRP. 6

VRRP. 14

GLBP. 14


Proxy ARP+ICMP重定向

clip_image002

實驗環境

clip_image004

clip_image006

clip_image008

PC不設置網關 ping 3.3.3.3

clip_image010

clip_image012

clip_image014

clip_image016

首先PC發送ARP請求 廣播 詢問3.3.3.3的MAC

clip_image018

R2也收到請求,回覆PC 我就是3.3.3.3

clip_image020

R3也收到請求,同樣回覆PC 我就是3.3.3.3

這樣 當直連線路down掉的時候 PC只要等到ARP表老化,來實現冗餘

但默認ARP表老化時間是4個小時

clip_image022

可以通過命令來修改

clip_image024

參考文章:http://spccie.blog.51cto.com/1088987/268901

2.代理ARP
“什麼是代理ARP?代理ARP就是通過使用一個主機(通常爲router),來作爲指定的設備對另一設備的ARP請求作出應答。”這個可以說是一個官方解釋了。大家可以用同一個拓撲來驗證一下,在這裏我們最常使用Router關閉路由功能來模擬成PC完成這個實驗(左方PC爲路由器模擬,在做此實驗前請把前一實驗的ARP信息清除,建議重啓):
clip_image026
PC上不配置默認網關,此時用PC去ping 192.168.1.2和10.1.1.3。會得到以下ARP表
clip_image028
由此可見,PC發出ARP請求10.1.1.3的MAC地址,R2以自己的FastEthernet0/0口地址代理R3去迴應PC,告訴PC自己的FastEthernet0/0就是10.1.1.3的MAC地址。
結論:有默認網關的的時候PC按默認網關走,沒有默認網關的時候路由器通過代理ARP完成通信。
到目前爲止一切都看起來那麼的合理,那麼的順利。這個實驗是一些培訓班常做的實驗之一。其實,錯了!
問題出在哪裏?問題就出在我們是用一臺路由器去模擬PC。不管是否關閉路由功能,它始終不是PC,它處理數據的方式與PC也不一樣。請大家思考一下,如果是一臺PC,在沒有默認網關的情況下去ping一個非本網段地址,會出現什麼情況?
clip_image030
在沒有默認網關的情況下ping一個非本網段地址,顯示目標網絡不可達,然後直接丟包,根本不會發出ARP查詢。
PC在什麼時候會發出ARP查詢呢?ping一個本網段地址的時候(大家可以抓包來驗證一下)。其實就是思科文檔的這種情況了:
clip_image032
看清楚了,PC-A的IP地址是/16位,PC-D的IP地址是/24位,所以當PC-A去ping PC-D的時候,PC-A認爲是ping同一個網段,會發出ARP請求,這個時候ARP請求就到了路由器上了。路由器如果開啓了代理ARP功能,會代替PC-D給PC-A迴應,告訴PC-A路由器的e0口MAC地址00-00-0c-94-36-ab就是PC-D的MAC地址,完成代理ARP操作,保護了PC-D的MAC地址隱私。
我認同這種說法,是合情合理的。但是不禁有個問題,誰會用這麼腦殘的方法配置IP地址呢?好吧,就當是有。
以下轉自鳥哥的Linux私房菜:
“如果你一開始設計的網路環境就是同一個 C class 的網域,例如 192.168.10.0/24 , 後來因為某些因素必須要將某些主機搬到比較內部的環境中,例如圖一的 PC2 ~ PC4 。 然後又因為某些因素,所以你不能變更 PC2 ~ PC4 的 IP ,也就是說,有點像底下這樣的圖示:”
clip_image034
代理ARP作爲這種特殊情況的解決方案是無可厚非的,但是按道理說這種情況萬中無一。既然這種情況出現的概率那麼低,爲什麼要把代理ARP設置爲默認啓動?這不是浪費資源嗎?還存在ARP欺騙等安全隱患,完全可以把代理ARP功能設置爲默認關閉。

----------------------------------------------------------------------------------------------------------------------

如果是上行鏈路down掉的話 則可依靠ICMP重定向來完成上行鏈路的冗餘

默認情況下 Proxy ARP和ICMP重定向是開啓的

clip_image036

下面來看一下ICMP的重定向

首先down掉R1的F0/1接口 然後再ping 3.3.3.3

clip_image038

PC 查MAC表發現 3.3.3.3的MAC是R1 將發送ICMP包到R1,但此時R1無法到達3.3.3.3則R1發送一個ARP重定向給PC告訴PC R2就是3.3.3.3,於是PC發送ARP廣播 問誰是R2,並把網關指向R2

clip_image040

clip_image042

clip_image044

clip_image046

clip_image048

關閉ICMP重定向

clip_image050

清除ICMP重定向

HSRP (Hot  standby  redundancy protocol)熱備份冗餘協議 (cisco私有)

作用:解決路由器切換問題。

1、HSRP在2個或多個路由器間虛擬MAC和虛擬IP,主機的網關設爲此虛擬IP.

2、當活動路由器失效,備份路由器成爲活動路由器。

3、實際可能有多個熱備組並存或重疊,每個組模仿一個虛擬路由器工作(一組MAC和ip),把主機分到不同熱備組中,可做負載分擔

工作原理:

HSRP協議利用優先級,決定哪個路由器爲主動路由器,(路由器缺省優先級爲100)

一段時間收不到主動路由器的Hello,優先最高的備份路由器成爲主動。

Active Router                  

虛擬出一條Router,有ip有Mac,當向這個Mac發包時,Active會去接受處理

Standby Router

HSRP定義了一個形如0000.0c07.acxx的特殊MAC地址,其中xx代表用來兩個十六進制位表示的HSRP組號.

clip_image052

decrementvalus,當active當了,默認減少優先級10.以便standby成爲active.所以要考慮下減少值和兩個的優先級差多少。

相同優先級,最高ip者爲Active  

clip_image054

HSRP包

1、Hello-------------作用通知優先級,和狀態信息。

包含----priority,hello間隔,holdtime,虛擬網關ip

hello包3s發向組播地址224.0.0.2(所有路由器)----在一個組內只有兩臺路由器(active,standby)發hello, 15秒收不到Active的包認爲其失效,standby→Active,priority高的爲Active , standby preempt 開啓搶佔,Active 當了再啓會自動搶回來。

2、Coup------------當一個備份路由器變成主動路由器時發Coup消息

3、Resign------當主動路由器要當機或當有優先級更高路由器發hello時,主動路由器發一個resign消息。

clip_image056

HSRP路由器6種狀態:

clip_image058

                        Initial-------HSRP啓動時候,HSRP還沒運行,一般在改變配置或端口剛剛啓動時進入此狀態。

learn--------路由器得到了虛擬IP,但不是活動路由器也不是備份路由器。

                        listen--------監聽hello消息

                        speak-----並參加活動,備份路由器選舉。

                        standby------該狀態下,路由器定期發hello,主路由器失效時,路由器準備接替傳輸功能。

                        Active--------路由器執行數據傳輸。

R1(config-if)#standby 1 ip 10.1.1.101

R1(config-if)#

06:26:07: SB: Add registration.

06:26:07: SB: Open UDP socket.

06:26:07: SB: Create hot standby process.

06:26:07: SB: Starting up hot standby process

R1(config-if)#

06:26:10: SB: Fa0/0 Interface up

06:26:10: SB1: Fa0/0 Init: a/HSRP enabled

06:26:10: SB1: Fa0/0 Init -> Listen

(因爲已經配置了Vip所以不需要學習直接跳到listen)

06:26:10: SB: Fa0/0 Sbstate adv start

06:26:10: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

R1(config-if)#

06:26:19: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

06:26:20: SB1: Fa0/0 Listen: c/Active timer expired (unknown)

06:26:20: SB1: Fa0/0 Listen -> Speak

06:26:20: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101

R1(config-if)#

06:26:23: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101

R1(config-if)#

06:26:25: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101

R1(config-if)#

06:26:28: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101

06:26:28: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

R1(config-if)#

06:26:30: SB1: Fa0/0 Speak: d/Standby timer expired (unknown)

06:26:30: SB1: Fa0/0 Speak -> Standby

06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Speak -> Standby

06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Standby pri 100 ip 10.1.1.101

06:26:30: SB1: Fa0/0 Standby: c/Active timer expired (unknown)

06:26:30: SB1: Fa0/0 Active router is 10.1.1.1

06:26:30: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 10.1.1.101)

06:26:30: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 0 passive 1

06:26:30: SB1: Fa0/0 Standby -> Active

06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Standby -> Active

R1(config-if)#

06:26:30: SB: Fa0/0 Sbstate adv stop

06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 1 passive 0

06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Active pri 100 ip 10.1.1.101

在啓用HSRP時可以只在一臺設備上配置VIP,其他設備可以通過hello包學習到,但不能參加active選舉

clip_image060

R2(config-if)#standby 10 ip

R2(config-if)#

00:28:43: SB: Open UDP socket.

00:28:43: SB: Create hot standby process.

00:28:43: SB: Starting up hot standby process

R2(config-if)#

00:28:46: SB: Fa0/0 Interface up

00:28:46: SB10: Fa0/0 Init: a/HSRP enabled

00:28:46: SB10: Fa0/0 Init -> Learn

00:28:46: SB: Fa0/0 Sbstate adv start

00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

00:28:46: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

00:28:46: SB10: Fa0/0 Learn: h/Hello rcvd from lower pri Active router (100/10.1.1.1)

00:28:46: SB10: Fa0/0 Active router is 10.1.1.1

00:28:46: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 0.0.0.0)

00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

00:28:46: SB10: Fa0/0 Learn: n/Standby IP address configured

00:28:46: SB10: Fa0/0 Learn -> Listen

R2(config-if)#

00:28:48: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:28:51: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:28:54: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:28:56: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

00:28:56: SB10: Fa0/0 Listen: d/Standby timer expired (unknown)

00:28:56: SB10: Fa0/0 Listen -> Speak

00:28:56: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101

00:28:57: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:28:59: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101

00:28:59: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:29:02: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101

00:29:02: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

R2(config-if)#

00:29:05: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101

00:29:05: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101

00:29:05: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1

R2(config-if)#

00:29:06: SB10: Fa0/0 Speak: d/Standby timer expired (unknown)

00:29:06: SB10: Fa0/0 Speak -> Standby

00:29:06: %STANDBY-6-STATECHANGE: Standby: 10: FastEthernet0/0 state Speak -> Standby

clip_image062

clip_image064

只有Active會顯示vip和vmac

當R1f0/1down掉是 R2會在10s內變爲active狀態併產生vip和vmac

clip_image066

clip_image068

搶佔

搶佔(preempt),當收到的hello包中優先級發生變化時,會重新選舉active

clip_image070

clip_image072

在R1上啓動HSRP並配置搶佔,然後在R2上啓動HSRP觀察

clip_image074

雖然同樣沒有配置Vip但是還是能搶佔成功

clip_image076

但當SW只有上行口DOwn時,不會Active切換

此時我們down掉R2的F0/1

clip_image078

clip_image080

clip_image082

clip_image084

當Pc ping 3.3.3.3時就會顯示阻止發送ICMP的重定,因爲如果發生ICMP的重定向就會讓PC產生一條ARP記錄,主機自動學習到真實的網關地址,當R3恢復時就無法進行線路切換,同時並告訴10.1.1.1不包含在活動組中,將由R1轉發流量

TRACK 接口跟蹤

Track是針對上面上行鏈路down掉情況的優化,當F0/1接口當了時,自動將f0/0接口優先級減少,讓出active地位,前提是要開啓搶佔。

clip_image086

clip_image088

此時R2爲active我們down掉R2的F0/1

clip_image090

clip_image092

R1變成active R2爲 Standby 並且優先級降10

clip_image094

多組

既實現網關冗餘有實現負載分擔

clip_image096 clip_image098

R1 R2

clip_image100

clip_image102

然後在添加一臺PC網關指向10.1.1.102

clip_image104

clip_image106

當R1的f0/1down掉時會自動切換到R2轉發

clip_image108

standby use-bia (使用此命令支持多組,在一個路由器上啓用多個HSRP組)

認證

standby 1 authentication 密碼 (僅支持8位明文認證)

VRRP(virtual  route redundancy protocol)業界標準 IP包中協議號112

和HSRP工作原理相同,只是可以用真實設備地址。

分爲主路由器master和備用路由器backup

· VRRP和HSRP主要區別:

1、在VRRP中,備用路由器不發送通告,所以主路由器並不知道當前的備用路由器。

2、主路由器每1秒鐘發一次hello

3、VRRP中,沒有針對上行線路DOWN時的track技術

虛擬MAC地址是以0000.5e開頭,00.01代表VRRP,最後兩位數是組號

例如:組10的MAC地址是0000.5e00.010A

當虛擬IP地址設置爲一臺路由器的實際接口地址時,這臺路由器的優先級就會變爲255,自動成爲master

默認啓用Preempt。搶佔

GLBP(gateway  load  balancing  protocol)

clip_image110

HSRP和VRRP都提供冗餘網關,可同時只有一個網關在使用,帶寬沒有充分利用。GLBP旨在自動選擇和同時使用多個可用網關,實現負載均衡。並檢測活動網關故障並切換到冗餘路徑。

·GLBP中,虛擬路由器只有一個虛擬的IP地址,但可以有多個虛擬的MAC地址

clip_image112

·AVF(Active Virtual Forwarder)活動虛擬轉發者 GLBP組最多用4臺網關

AVG(Active Virtual Gateway)活動虛擬網關 從網關中會選出一個來管理其他AVF。只有AVG響應ARP請求。

也可以有一個AVG,四臺AVF,但是那臺AVG不能成爲AVF,也就是說它不能轉發數據。

clip_image114

·AVG可以分配虛擬的MAC地址給AVF

·AVG也會有一個Active的,和一個standby的

·默認模式,GLBP以循環方式來負載均衡。向請求IP地址的主機發不同的MAC地址。

·手工配置搶佔

·hello包發向組播地址:224.0.0.102   UDP端口號3222

·hello時間3 S,holdtime時間10 S

·每一個設備都會發包

R2(config-if)#glbp 1 ip 192.168.1.1

R2(config-if)#glbp 1 times 5

R2(config-if)#glbp 1 priority 120

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章