前二天做了单路由器多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上成功转换
实验结束,谢谢!