案例:HSRP配置
1.1 问题

在企业网络到外部的连接方案中,要求不高的条件下可以是单出口。一旦该出口线路出现问题,整个企业网络就不能连接到外网了。为了使得企业网络到外网连接的高可用性,可以设置两个以上的出口,然而多个出口对于内网主机意味着我个网关。主机不能同时使用多个网关,当主机所使用的网关出现故障时,它不能实现网关的自动切换。

配置热备份路由协议

1.2 方案

在出口设备上配置热备份路由协议(HSRP),组成一个HSRP组,组内两个出口设备共享一个虚拟IP地址,该IP地址作为内网主机的网关。

HSRP组成员有主备之分,虚拟IP地址被附加到主设备上。如果主设备线路出故障,备份设备会成为主设备,虚拟IP地址也会迁移过来。这样,不管哪一个出口设备出现问题,不管哪个出口设备在提供外网接入,内网主机的网关都不需要改变。

网络拓扑图如图-1所示:

配置热备份路由协议(HSRP)_第1张图片
图-1
1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:分别在三台路由器上配置端口IP地址

tarena-R1(config)# interface f0/0
tarena-R1(config-if)#ip address 192.168.1.252 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.2.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.1.253 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.3.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.2.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.3.2 255.255.255.0
tarena-R3(config-if)#no shutdown
tarena-R3(config-if)#interface f1/0
tarena-R3(config-if)#ip address 192.168.4.254 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.2.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.1.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
tarena-R1#
tarena-R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.3.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.1.0/24 is directly connected, FastEthernet0/0
C    192.168.3.0/24 is directly connected, FastEthernet0/1
S*   0.0.0.0/0 [1/0] via 192.168.3.2

步骤三:在R3上配置到企业内网的静态路由

tarena-R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1
tarena-R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.3.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.1.0/24 [1/0] via 192.168.2.1
                      [1/0] via 192.168.3.1
C    192.168.2.0/24 is directly connected, FastEthernet0/0
C    192.168.3.0/24 is directly connected, FastEthernet0/1
C    192.168.4.0/24 is directly connected, FastEthernet1/0
tarena-R3#

步骤四:在R1上配置HSRP,指定其优先级为200

HSRP的默认优先级为100,路由器启动后,根据优先级决定谁可以成为活跃路由器,优先级高的将胜出。如果路由器优先级相同,再比较端口IP地址,IP地址大的成为活路跃路由器。

另外,如果优先级低的路由器先启动了,它将成为活跃路由器。优先级高的路由器启动后,发现已有活跃路由器存在,它将接受现状,直到活跃路由器出现故障它才会在重新选举时成为活跃角色。

tarena-R1(config)#interface f0/0
tarena-R1(config-if)#standby 1 ip 192.168.1.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.1.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.1.253     192.168.1.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.2.252     local           192.168.1.254

步骤七:在内部主机上测试到外网主机的连通性

SERVER>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::207:ECFF:FE80:557D
IP Address......................: 192.168.1.1
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.1.254
PC>ping 192.168.4.1
Pinging 192.168.4.1 with 32 bytes of data:
Reply from  192.168.4.1: bytes=32 time=0ms TTL=126
Reply from  192.168.4.1: bytes=32 time=0ms TTL=126
Reply from  192.168.4.1: bytes=32 time=0ms TTL=126
Reply from  192.168.4.1: bytes=32 time=1ms TTL=126
Ping statistics for  192.168.4.1
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

步骤八:在R1配置端口跟踪、R2配置占先权

tarena-R1(config)#interface fastEthernet 0/0
tarena-R1(config-if)#standby 1 track f0/1
tarena-R2(config)#interface fastEthernet 0/0
tarena-R2(config-if)#standby 1 preempt

步骤九:关闭R1的f0/1接口,模拟设备故障,查看R2的HSRP信息

tarena-R1(config)#interface fastEthernet 0/1
tarena-R1(config-if)#shutdown
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.1.254

结果显示R2已成为活跃路由器,而备份路由器状态未知。虚拟路由器的IP地址192.168.1.254/24也已迁移到R2上了。

步骤十:在R1配置占先权,并激活R1的f0/1接口并查状态

备份路由器成为活跃路由器后,原来的活跃路由器R1即使线路修复也不会重新成为进入活跃状态。

为了使路由器完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。

tarena-R1(config)#interface f0/0
tarena-R1(config-if)#standby 1 preempt
tarena-R1(config)#interface f0/1
tarena-R1(config-if)#no shutdown
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.1.253     192.168.1.254