概述

HSRP(Hot Standby Router Protocol 热备份路由器协议)是cisco私有协议,应用在OSI网络参考模型的第三层。

在企业网络连接到外部的解决方案中,如果只有一个物理网关,一旦其内部接口down掉,整个内网将与外界断开连接。如果有多个物理网关,并且其中一个down掉,则另一个也无法迅速成为新的网关,因为DHCP存在老化时间

工作流程

HSRP协议可以在用户不知情的情况下立即切换新的网关,HSRP将多个路由器组成一个热备份组,形成一个虚拟路由器。虚拟路由器也需要配置IP地址(称之为虚拟IP地址),终端将网关指向虚拟路由器。路由器之间每三秒发送一个hello包来检测对方的存在,坚持时间为10秒

配置有占先权preempt的路由器如果检测不到对方的存在或检测到对方priority比自己低,则立即抢占活跃路由。

如果是路由器对外网的接口down掉,内部的备份路由器是无法得知的,此时需要活跃路由器配置跟踪track,跟踪外网端口状态,一旦down掉,则自降优先级


HSRP组号范围为1-255,没有大小之分

  • HSRP组的成员
    1. 虚拟路由器
    2. 活跃路由器
    3. 备份路由器
    4. 其他路由器

HSRP优先级的范围:1-255,默认为100。

配置过程

拓扑图

以R1作为活跃路由,R2作为备份路由,R3为运营商处的路由器。由于HSRP备份的是网关,所以在网关的端口配置

配置ip

以R1为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ho R1-gateway
R1-gateway(config)#int f0/0
R1-gateway(config-if)#ip add 192.168.1.252 255.255.255.0
R1-gateway(config-if)#no sh

R1-gateway(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R1-gateway(config-if)#exit
R1-gateway(config)#int f0/1
R1-gateway(config-if)#ip add 10.1.1.1 255.255.255.0
R1-gateway(config-if)#no sh
R1-gateway(config-if)#exit

配置路由

在真实环境中R3是不需要关心的,为了模拟实验就直接从R2路由至内网。R1和R2配置默认路由即可。

R1

1
2
3
R1-gateway>en
R1-gateway#conf t
R1-gateway(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2

R3

1
R3(config)#ip route 192.168.1.0 255.255.255.0 20.1.1.1

配置HSRP

R1

1
2
3
4
5
6
7
8
9
10
11
R1-gateway(config)#int f0/0 ;进入网关
R1-gateway(config-if)#standby 1 ip 192.168.1.254 ;配置热备份组的虚拟IP
R1-gateway(config-if)#standby 1 priority 200 ;优先级
R1-gateway(config-if)#standby
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby

%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

R1-gateway(config-if)#standby preempt ;配置占先权
R1-gateway(config-if)#standby 1 track f0/1 ;直接在网关所在端口配置追踪
R1-gateway(config-if)#exit

R2不需要监听外网端口,R2外网端口down掉时整个网络已经和外网失去联系了。

1
2
3
4
5
6
R2-gataway(config)#int f0/0
R2-gataway(config-if)#standby 1 ip 192.168.1.254
R2-gataway(config-if)#standby 1 priority 195
%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
1 preem
R2-gataway(config-if)#standby 1 preempt

测试

内网网关手动down掉,中间丢了一个包之后还能继续通信,R2成功抢占成活跃路由了。


接下来测试外网端口。

将其down掉后R1会自降priority,此时R2抢占成为活跃路由。