问题
在企业网络到外部的连接方案中,要求不高的条件下可以是单出口。一旦该出口线路出现问题,整个企业网络就不能连接到外网了。为了使得企业网络到外网连接的高可用性,可以设置两个以上的出口,然而多个出口对于内网主机意味着我个网关。主机不能同时使用多个网关,当主机所使用的网关出现故障时,它不能实现网关的自动切换。
1)配置热备份路由协议
方案
在出口设备上配置热备份路由协议(HSRP),组成一个HSRP组,组内两个出口设备共享一个虚拟IP地址,该IP地址作为内网主机的网关。
HSRP组成员有主备之分,虚拟IP地址被附加到主设备上。如果主设备线路出故障,备份设备会成为主设备,虚拟IP地址也会迁移过来。这样,不管哪一个出口设备出现问题,不管哪个出口设备在提供外网接入,内网主机的网关都不需要改变。
蓝色区域表示内网,上面模拟到外网的连接。
步骤一:分别在三台路由器上配置端口IP地址
tarena-R1(config)#int f0/0 tarena-R1(config-if)#ip address
192.168.0.1 255.255.255.0 tarena-R1(config-if)#no shutdown tarena-R1(config-if)#interface f0/1 tarena-R1(config-if)#ip address
192.168.1.1 255.255.255.0 tarena-R1(config-if)#no shutdown tarena-R2(config)#interface f0/0 tarena-R2(config-if)#ip address
192.168.0.2 255.255.255.0 tarena-R2(config-if)#no shutdown tarena-R2(config-if)#interface f0/1 tarena-R2(config-if)#ip address
192.168.2.1 255.255.255.0 tarena-R2(config-if)#no shutdown tarena-R3(config)#interface f0/0 tarena-R3(config-if)#ip address
192.168.1.2 255.255.255.0 tarena-R3(config-if)#no shutdown tarena-R3(config-if)#interface f0/1 tarena-R3(config-if)#ip address
192.168.2.2 255.255.255.0 tarena-R3(config-if)#no shutdown tarena-R3(config-if)#interface f1/0 tarena-R3(config-if)#ip address
200.1.1.1 255.255.255.0 tarena-R3(config-if)#no shutdown
步骤二:在R1和R2上配置到外网的默认路由
tarena-R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2
tarena-R1(config)#end
tarena-R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 192.168.1.2 to network 0.0.0.0
C 192.168.0.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/1
S* 0.0.0.0/0 [1/0] via 192.168.1.2
tarena-R1#
tarena-R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2
tarena-R2(config)#exit
tarena-R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 192.168.2.2 to network 0.0.0.0
C 192.168.0.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
S* 0.0.0.0/0 [1/0] via 192.168.2.2
步骤三:在R3上配置到企业内网的静态路由
tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.2.1
tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1
tarena-R3(config)#end
tarena-R3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
S 192.168.0.0/24 [1/0] via 192.168.2.1
[1/0] via 192.168.1.1
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
C 200.1.1.0/24 is directly connected, FastEthernet1/0
tarena-R3#
步骤四:在R1上配置HSRP,指定其优先级为200
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#standby 1 ip 192.168.0.254
tarena-R1(config-if)#standby 1 priority 200
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
配置HSRP后,通过输出日志可以观察到路由器角色的改变。
步骤五:在R2上配置HSRP,指定其优先级为195
tarena-R2(config)#interface f0/0
tarena-R2(config-if)#standby 1 ip 192.168.0.254
tarena-R2(config-if)#standby 1 priority 195
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
步骤六:分别在R1和R2上查看HSRP信息
tarena-R1#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Fa0/0 1 200 Active local 192.168.0.2 192.168.0.254
tarena-R2#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Fa0/0 1 195 Standby 192.168.0.1 local 192.168.0.254
根据输出信息,可以看到优先级大的R1成为了活跃路由器,继续在其上面查看arp信息,能够查看到虚拟IP地址被附加到R1上了。
tarena-R1#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.0.1 - 0005.5E53.3001 ARPA FastEthernet0/0
Internet 192.168.0.254 12 0000.0C9F.F001 ARPA FastEthernet0/0
Internet 192.168.1.1 - 0005.5E53.3002 ARPA FastEthernet0/1
步骤七:在内部主机上测试到外网主机的连通性
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address…: FE80::207:ECFF:FE80:557D
IP Address…: 192.168.0.10
Subnet Mask…: 255.255.255.0
Default Gateway…: 192.168.0.254
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>tracert 200.1.1.10
Tracing route to 200.1.1.10 over a maximum of 30 hops:
1 0 ms 1 ms 0 ms 192.168.0.1
2 0 ms 1 ms 0 ms 192.168.1.2
3 0 ms 0 ms 0 ms 200.1.1.10
Trace complete.
Ping命令只能检测网络是否连通,如果要查看具体路径需要使用tracert。根据tracert显示结果,R1转发了PC机的数据包。
步骤八:关闭R1电源,模拟设备故障,查看R2的HSRP信息
tarena-R2#
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
tarena-R2#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Fa0/0 1 195 Active local unknown 192.168.0.254
tarena-R2#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.0.2 - 0001.4200.9C01 ARPA FastEthernet0/0
Internet 192.168.0.10 9 0007.EC80.557D ARPA FastEthernet0/0
Internet 192.168.0.254 1 0000.0C9F.F001 ARPA FastEthernet0/0
Internet 192.168.2.1 - 0001.4200.9C02 ARPA FastEthernet0/1
Internet 192.168.2.2 9 0005.5E59.E002 ARPA FastEthernet0/1
结果显示R2已成为活跃路由器,而备份路由器状态未知。虚拟路由器的IP地址192.168.0.254/24也已迁移到R2上了。
步骤九:再次在内部主机上测试到外网主机的连通性
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>tracert 200.1.1.10
Tracing route to 200.1.1.10 over a maximum of 30 hops:
1 1 ms 0 ms 0 ms 192.168.0.2
2 0 ms 0 ms 0 ms 192.168.2.2
3 0 ms 1 ms 0 ms 200.1.1.10
Trace complete.
根据tracert结果,路由器R2转发了PC机的数据包
步骤十:再次在内部主机上测试到外网主机的连通性
备份路由器成为活跃路由器后,原来的活跃路由器R1即使线路修复也不会重新成为进入活跃状态。
为了使路由器完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#standby 1 preempt
tarena-R2(config)#interface f0/0
tarena-R2(config-if)#standby 1 preempt