前二天做了單路由器多isp出口的實驗。今天做一個多路由器多isp出口的實驗。直接進入正題。
拓撲描述(博文編輯器我插入不了圖片,悲劇,大家可以根據我的描述,自己畫一個圖,拓撲很簡單。)
實驗模擬器gns3.
分別有三個路由器R1,R2,R3和交換機,還有一個雲(掛在本機的虛擬網卡上連接網絡)
R1模擬公網,上面起了一個loopback接口,地址爲1.1.1.1。測試公網使用。
R2模擬電信出口,f0/0口連接R1的f0/0。f0/1連接內部的交換機,中間起了trunk。
R3模擬網通出口,f0/0口連接R1的f0/1。f0/1連接內部的交換機。中間起了trunk。
本機虛擬網卡,掛在交換機上,並且劃入了vlan10。ip:10.10.10.3
R2是vlan10的主路由器。R3是vlan20的主路由器。相互是備份關係。
R2:
interface FastEthernet0/0
ip address 111.111.111.1 255.255.255.0
ip nat outside
shutdown
duplex auto
speed auto
interface FastEthernet1/0
switchport mode trunk
no ip address
interface Vlan10
ip address 10.10.10.1 255.255.255.0
ip nat inside
ip policy route-map setnext10
standby ip 10.10.10.254
standby priority 120
standby preempt
standby track FastEthernet0/0 30
(這裏強烈建議用sla來調用,standby track 1 decrement 30 這個是調用語句。以下是真實機器上面測試結果,當在vlan20上面調用sla之後。拔掉光端機的光纖後:
Switch#
*4 12:28:43.547: %TRACKING-5-STATE: 1 ip sla 1 reachability Up->Down
Switch#
*4 12:28:45.003: %HSRP-5-STATECHANGE: Vlan20 Grp 0 state Active -> Speak
Switch#
*4 12:28:56.271: %HSRP-5-STATECHANGE: Vlan20 Grp 0 state Speak -> Standby
,vlan20 由原來的active變成了standby)
!
interface Vlan20
ip address 20.20.20.2 255.255.255.0
ip nat inside
ip policy route-map setnext10
standby ip 20.20.20.254
standby preempt
ip nat inside source route-map netvlan10 interface FastEthernet0/0 overload
ip nat inside source route-map netvlan20 interface FastEthernet0/0 overload
no ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0/0
!
!
!
ip access-list extended vlan10
permit ip 10.10.10.0 0.0.0.255 any
ip access-list extended vlan20
permit ip 20.20.20.0 0.0.0.255 any
no cdp log mismatch duplex
!
route-map setnext permit 10
match ip address vlan10
set ip next-hop verify-availability 111.111.111.2 1 track 1
(這裏可以用track 來判斷此路是否通,因爲hsrp上面已經進行了track了所以這裏的配置主要是想調用sla來檢測,但是不影響,因爲沒有定義track 1。但是gns3上面無法模擬sla。web iou模擬器又無法模擬hsrp,網關出不去,只有hsrp的狀態,實際沒有用,話說只有ping不同虛擬ip的bug,但是沒有說無法ping通外網。不知道是我這樣還是都這樣。大家可以自己試試。)
!
route-map setnext permit 20
match ip address vlan20
set ip next-hop 111.111.111.2
!
route-map netvlan20 permit 10
match ip address vlan20
match interface FastEthernet0/0
!
route-map netvlan10 permit 10
match ip address vlan10
match interface FastEthernet0/0
end
route-map部分就不解釋了,上一篇實驗已經詳細解釋過。不清楚的可以去看看。
R3的配置跟R2的差不多,就是hsrp的主次,還有ip地址。其他一樣。
直接上測試結果:
主機ping外網:
C:\Users\Administrator.USER-20161031KX>ping 1.1.1.1
正在 Ping 1.1.1.1 具有 32 字節的數據:
請求超時。
來自 1.1.1.1 的回覆: 字節=32 時間=27ms TTL=254
來自 1.1.1.1 的回覆: 字節=32 時間=110ms TTL=254
來自 1.1.1.1 的回覆: 字節=32 時間=27ms TTL=254
查看R2的nat轉換:
*Mar 1 02:22:08.323: NAT*: i: icmp (10.10.10.3, 1) -> (1.1.1.1, 1) [9042]
*Mar 1 02:22:08.323: NAT*: s=10.10.10.3->111.111.111.1, d=1.1.1.1 [9042]
*Mar 1 02:22:08.359: NAT*: o: icmp (1.1.1.1, 1) -> (111.111.111.1, 1) [9042]
*Mar 1 02:22:08.359: NAT*: s=1.1.1.1, d=111.111.111.1->10.10.10.3 [9042]
數據包的過程是:pc---->R2----->外網
pc已經在R2上成功轉換。
關閉R2的出口端口:
* 4 02:25:35.595: %HSRP-6-STATECHANGE: Vlan10 Grp 0 state Active -> Speak
R2已經成爲備份路由器了。
這個時候在用pc ping外網:
查看R3的nat信息(此時路由器不走R2)
* 4 02:28:12.223: NAT*: i: icmp (10.10.10.3, 1) -> (1.1.1.1, 1) [9506]
* 4 02:28:12.223: NAT*: s=10.10.10.3->222.222.222.1, d=1.1.1.1 [9506]
* 4 02:28:12.239: NAT*: o: icmp (1.1.1.1, 1) -> (222.222.222.1, 1) [9506]
數據包的過程是:pc---->R3----->外網
pc已經在R3上成功轉換
實驗結束,謝謝!