网络

HSRP – HOT STANDBY ROUTING PROTOCOL

HSRP 是 Cisco 私有的高可用与冗余协议,让多台路由器对客户端呈现为一台虚拟路由器。本文逐步演示在 Cisco 路由器上配置 HSRP:地址、RIP 版本 2、优先级、抢占与接口跟踪,并验证主备切换。

· 4 分钟阅读 · 难度 高级

HSRP 是 Hot Standby Routing Protocol 的缩写。它是一种 Cisco 私有协议,用于提供高可用性和冗余。它让一组路由器接口协同工作,并把它们作为一台单一的虚拟路由器(默认网关)呈现给网络中的客户端。

HSRP 使用一个虚拟 MAC 地址和一个由所配置的路由器组共享的 IP 地址。它采用 Active 与 Standby 的概念来实现冗余。活动路由器是转发网络数据包的首选路由器。备用路由器则是在活动路由器发生故障时接管路由职责的路由器。

在本文中,我们将学习如何在 Cisco 路由器上配置 HSRP。

在配置 HSRP 之前,需要注意以下几点:

以下接口配置命令用于设定各项参数,以便选举出活动路由器和冗余路由器。

standby priority
standby preempt
standby track

此外,这些命令也用于设定新的活动路由器在何时接管路由职责的行为。

活动路由器与备用路由器可以通过优先级数值来选出。如果启用了抢占,优先级最高的路由器将成为活动路由器。如果在同一组已配置的路由器中,有两台或更多路由器的优先级数值相同,则当前的活动路由器不会发生改变。优先级数值的取值范围为 1 到 255。数值越大表示优先级越高,成为活动路由器的可能性也越大。如果某个接口配置了 standby track 命令,而路由器上的另一个接口发生故障,路由器的优先级可以动态改变。

逐步配置 HSRP

为了在 Cisco 路由器上配置 HSRP,我们将使用下面的拓扑。你可以使用 Cisco Packet Tracer 模拟器或 GNS3 来配置 HSRP。

Illustration 1 — HSRP – HOT STANDBY ROUTING PROTOCOL

1. 在 WAN 路由器(通常是接入互联网的一台)上执行以下命令,为 Gig0/0、Gig0/1 和 Gig0/2 接口配置相应的 IP 地址。

WAN(config)#interface Gig0/0
WAN(config-if)#ip 200.200.200.1 255.255.255.0
WAN(config-if)#no shutdown

WAN(config)#interface Gig0/1
WAN(config-if)#ip address 172.16.1.1 255.255.255.0
WAN(config-if)#no shutdown

WAN(config)#interface Gig0/2
WAN(config-if)#ip address 172.16.2.1 255.255.255.0
WAN(config-if)#no shutdown
Illustration 2 — HSRP – HOT STANDBY ROUTING PROTOCOL

2. 配置好相应的 IP 地址之后,执行以下命令来配置 RIP 版本 2 路由协议。

WAN(config) #router
WAN(config-router)#version 2
WAN(config-router)#network 172.16.1.0
WAN(config-router)#network 172.16.2.0
WAN(config-router)#network 200.200.200.0
WAN(config-router)#no auto-summary
Illustration 3 — HSRP – HOT STANDBY ROUTING PROTOCOL

在 WAN 路由器上配置好 IP 地址和路由之后,转到 AW-R1 路由器。这台路由器随后将作为活动路由器。

1. 执行以下命令,先为 Gig0/1 接口、再为 Gig0/2 接口配置 IP 地址。

AW-R1(config)#interface Gig0/1
AW-R1(config-if)#ip address 172.16.1.2 255.255.255.0
AW-R1(config-if)#no shutdown

AW-R1(config)#interface Gig0/2
AW-R1(config-if)#ip address 10.0.0.1 255.255.255.0
AW-R1(config-if)#no shutdown

2. 执行以下命令来设定组号(1-4096),并把 10.0.0.150 设为虚拟 IP 地址。

AW-R1(config-if)#standby 1 ip 10.0.0.10

3. 接着用以下命令设定优先级数值、启用抢占并指定被跟踪的接口。

AW-R1(config-if)#standby 1 priority 101
AW-R1(config-if)#standby 1 preempt
AW-R1(config-if)#standby 1 track Gig0/1

4. 用以下命令配置 RIP 版本 2 路由。

AW-R1(config-if)#router rip
AW-R1(config-router)#version 2
AW-R1(config-router)#network 172.16.1.0
AW-R1(config-router)#network 10.0.0.0
AW-R1(config-router)#no auto-summary
Illustration 4 — HSRP – HOT STANDBY ROUTING PROTOCOL

现在转到处于 standby 状态的 AW-R2 路由器,执行以下命令。在这台路由器上,我们把优先级数值设为 99(低于活动路由器)。

AW-R2(config)#interface Gig0/1
AW-R2(config-if)#ip address 172.16.2.2 255.255.255.0
AW-R2(config-if)#no shutdown

AW-R2(config-if)#interface Gig0/2
AW-R2(config-if)#ip address 10.0.0.2 255.255.255.0
AW-R2(config-if)#no shutdown

AW-R2(config-if)#standby 1 ip 10.0.0.10
AW-R2(config-if)#standby 1 priority 99
AW-R2(config-if)#standby 1 preempt
AW-R2(config-if)#standby 1 track Gig0/1

AW-R2(config-if)#router rip
AW-R2(config-router)#version 2
AW-R2(config-router)#network 172.16.2.0
AW-R2(config-router)#network 10.0.0.0
AW-R2(config-router)#no auto-summary
Illustration 5 — HSRP – HOT STANDBY ROUTING PROTOCOL

在活动路由器和备用路由器上都配置好 HSRP 路由协议之后,现在该验证你的配置了。为此,在主路由器上执行以下命令并查看输出。

AW-R1#show standby
Illustration 6 — HSRP – HOT STANDBY ROUTING PROTOCOL

可以看到,AW-R1 路由器目前作为活动路由器工作,因为它的优先级(101)高于 AW-R2 路由器(99)。

为了说明活动路由器发生故障时会出现什么情况,我们将关闭 AW-R1 路由器上的 Gig0/0 接口。为此,执行以下命令:

AW-R1(config) #Gig0/2
AW-R1(config-if)#shutdown

现在转到 AW-R2 路由器,执行以下命令:

show standby
Illustration 7 — HSRP – HOT STANDBY ROUTING PROTOCOL

可以看到,一旦 AW-R1 路由器的接口发生故障,AW-R2 路由器就成为活动路由器并接管路由职责。

目标网络仍然可以到达,因为客户端使用虚拟 IP 地址 10.0.0.10 作为默认网关。当 R01 路由器发生故障时,AW-R2 路由器接管路由职责。

这正是 HSRP 协议所做的事情。

在本文中,我向你说明了如何在 Cisco 设备上配置 HSRP,以及它如何有助于提供冗余。

如有需要,欢迎留言。