简介

虚拟路由器冗余协议(VRRP)是一种冗余协议，在虚拟组中选择一个或多个路由器作为备用路由器。在发生故障时，此协议会将活动路由器的责任动态分配给局域网(LAN)上的一个物理路由器。 面对潜在的网络故障，此协议可提高网络中路由路径的可用性和可靠性。

在VRRP中，虚拟路由器组中的一个物理路由器被选举为活动路由器，同一个虚拟路由器组中的另一个物理路由器作为备用路由器，以防活动路由器发生故障。物理路由器称为VRRP路由器。

主机的默认网关被分配给虚拟路由器组IP地址，而不是物理路由器IP地址。如果在虚拟路由器组内路由数据包的物理路由器发生故障，则会选择另一台物理路由器来自动替换它。在任何给定时间转发数据包的物理路由器称为活动路由器。

VRRP还支持流量负载共享。通过配置VRRP，使多个路由器共享进出LAN客户端的流量，可以在可用路由器之间公平共享流量。

以下显示配置了VRRP的LAN拓扑。在本例中，路由器A、B、C是VRRP并包含虚拟路由器。虚拟路由器组的IP地址与为路由器A的以太网接口(192.168.2.1)配置的IP地址相同。

在此场景中，虚拟路由器使用路由器A物理以太网接口的IP地址，路由器A承担虚拟路由器Active的角色，也称为IP地址所有者。作为虚拟路由器活动，路由器A控制虚拟路由器的IP地址，并负责代表虚拟路由器路由数据包。客户端1到4配置了默认网关IP地址192.168.2.1。

作为IP地址所有者的VRRP路由器响应/处理目的地为IP地址的数据包。作为虚拟路由器Active（但不是IP地址所有者）的VRRP路由器不响应/处理这些数据包。

路由器B和C用作虚拟路由器备用。如果虚拟路由器Active发生故障，配置有最高优先级的路由器将成为虚拟路由器Active，并以最小的中断为LAN主机提供服务。

VRRP路由器的优先级取决于以下各项：如果VRRP路由器是所有者，其优先级为255（最高），如果它不是所有者，则会手动配置优先级，并始终小于255。

当路由器A恢复时，它会再次成为活动虚拟路由器。在主用设备恢复期间，主用设备都会转发数据包，因此会出现一些重复（常规行为），但不会中断。

以下示例显示配置了VRRP的LAN拓扑。路由器A和B共享进出客户端1到4的流量，如果任一路由器发生故障，路由器A和B将充当相互连接的虚拟路由器备用路由器。

在此拓扑中，配置了两台虚拟路由器。对于虚拟路由器1，路由器A是IP地址192.168.2.1的所有者，虚拟路由器A是活动路由器，而路由器B是虚拟路由器A的备用路由器。客户端1和2的默认网关IP地址配置为192.168.2.1。对于虚拟路由器2，路由器B是IP地址192.168.2.2和虚拟路由器Active的所有者，而路由器A是虚拟路由器B的备用路由器。客户端3和4配置了默认网关IP地址192.168.2.2。

在本文档中，我们将配置第一个拓扑，其中路由器A为活动拓扑，路由器B为备用拓扑。如果路由器A发生故障，则路由器B将成为活动路由器。

如果您不熟悉以下术语，请查看思科业务：新术语表。

目标

本文提供有关如何通过命令行界面(CLI)在交换机上配置VRRP设置的说明。

适用设备

- SG550X系列

软件版本

- 2.3.0.130

在交换机上配置VRRP虚拟路由器

步骤1. SSH连接到交换机。默认用户名和密码为cisco/cisco。如果已配置新的用户名或密码，请改为输入凭证。

注意： 要了解如何通过SSH或Telnet访问SMB交换机CLI，请单击此处。

注意： 命令可能因交换机的确切型号而异。在本例中，使用SG550XG-24T。

步骤2.在交换机的特权执行模式下，输入以下命令进入全局配置模式：

SG550XG#配置终端

步骤3.要在VLAN接口上配置VRRP虚拟路由器设置，请输入以下命令：

SG550XG#接口[vlan-id]

在本示例中，我们使用接口vlan 1配置VRRP虚拟路由器设置。

步骤4.要定义虚拟路由器的IP地址，请在接口配置模式下使用vrrp ip命令。VRRP路由器的IP接口和虚拟组必须位于同一IP子网中。当虚拟路由器有一个或多个参与的VRRP路由器时，虚拟路由器就会存在。VRRP路由器可以将其实际IP地址用于VRRP组，从而允许该VRRP路由器成为VRRP组的活动。您还可以分配未分配给任何路由器接口的虚拟IP地址，但具有最高优先级的路由器将变为活动状态。VRRP组只能有一个所有者。

SG550XG#(config)#vrrp [vrid] ip [ip-address]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- ip-address — 虚拟路由器的IP地址。

在本演示中，我们使用命令vrrp 1 ip 192.168.2.1为虚拟路由器设置IP地址192.168.2.1。

备注:要删除IP地址，请使用no vrrp [vrid] ip [ip-address]命令。

步骤5.要在接口上启用VRRP虚拟路由器，请使用以下命令：

SG550XG#(config-if)#no vrrp [vrid] shutdown

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

我们将输入no vrrp 1 shutdown，以在接口上启用VRRP虚拟路由器。

注意： 要在接口上禁用VRRP虚拟路由器，请在接口配置模式下使用vrrp shutdown命令。在接口上禁用VRRP虚拟路由器时，其配置不会删除。

步骤6.要为VRRP虚拟路由器分配说明，请在接口配置模式下使用以下命令。

SG550XG#(config-if)#vrrp [vrid] description [text]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- text — 描述虚拟路由器用途或用途的文本。参数可包含0到160个字符。

在本示例中，我们输入命令vrrp 1 description VirtualRouter1为vrid 1分配描述VirtualRouter1。

步骤7.要定义支持的VRRP版本，请在接口配置模式下使用vrrp version命令。选择版本取决于网络的设置方式。但是，如果拓扑允许，则应选择后一个版本。请记住，版本3也支持IPv6。

注意： 每台交换机需要配置相同版本才能使VRRP正常运行。

SG550XG#(config-if)#vrrp [vrid]版本[版本号]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- 2 — 支持RFC3768指定的VRRPv2。收到的VRRPv3消息被VRRP虚拟路由器丢弃。仅发送VRRPv2通告。VRRPv2仅支持IPv4地址。计时器以秒为单位，使用224.0.0.18作为组播地址。VRRP需要按接口启用，而优先级值相同但IP更高的节点将导致抢占。

- 3 - RFC5798指定的VRRPv3不受VRRPv3支持(8.4、RFC5798)支持。 收到的VRRPv2消息被VRRP虚拟路由器丢弃。仅发送VRRPv3通告。VRRPv3支持使用IPv4和IPv6地址。计时器以毫秒为单位，对IPv4组播使用224.0.0.18，对IPv6使用FF02:0:0:0:0:0:0:12。VRRP需要全局启用，只有更高的优先级才会导致抢占。

- 2&3 - RFC5798指定的VRRPv3受VRRPv2支持(8.4、RFC5798)支持。 收到的VRRPv2消息由VRRP虚拟路由器处理。发送VRRPv3和VRRPv2通告。

在本演示中，我们将通过输入命令vrrp 1 version 2使用版本2。

步骤8.要定义将用作VRRP消息的源IP地址的实际VRRP地址，请在接口配置模式下输入以下命令。每个支持虚拟路由器的VRRP路由器在虚拟路由器的传出VRRP消息中使用其自己的IP地址作为源IP地址。

SG550XG#(config-if)#vrrp [vrid] source-ip [ip-address]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- ip-address - VRRP路由器的IP地址：在同一接口上定义的VRRP路由器的IP地址之一。

在本示例中，我们输入命令vrrp 1 source-ip 192.168.2.1，将交换机IP地址输入为源IP地址。

步骤9.（可选）要定义虚拟路由器冗余协议(VRRP)优先级，请在接口配置模式下使用命令vrrp priority命令。

SG550XG#(config-if)#vrrp [vrid] priority [priority number]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- 优先级 — 虚拟路由器优先级。范围为1-254。

在本演示中，交换机是所有者，其优先级为255。

注意： 所有者的默认优先级为255，无法更改。对于非所有者，默认优先级为100。下图显示了如何键入命令但未输入命令的示例。

步骤10.要启用虚拟路由器冗余协议(VRRP)抢占，请在接口配置模式下使用preempt命令。默认情况下，如果配置了此命令的VRRP路由器的优先级高于当前活动虚拟路由器，则该路由器将接替该组的活动虚拟路由器。无论此命令的设置如何，IP地址所有者的路由器都将抢占。

SG550XG#(config-if)#vrrp [vrid] preempt

注意： 要禁用对指定VRRP虚拟路由器的VRRP抢占，请使用以下命令：no vrrp[vrid] preempt。

步骤11.要将VRRP设置为接受模式，请输入以下命令：

SG550XG#(config-if)#vrrp [vrid] accept mode [accept |丢弃]

选项定义为：

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围从 1 至 255。

- accept — 处于活动状态的虚拟路由器将接受发往虚拟路由器IP地址的数据包作为自己的数据包，即使它不是地址所有者。

- drop — 处于Active状态的虚拟路由器将丢弃发往虚拟路由器IP地址的数据包，即使它不是地址所有者。

在本例中，使用命令vrrp 1 accept mode accept将活动配置为接受数据包。

步骤12.要定义活动VRRP虚拟路由器连续通告之间的间隔，请在接口配置模式下使用vrrp timers advertise命令。在本例中，我们将计时器通告保留为默认设置1秒。下图显示了如何键入命令2秒的示例。

SG550XG#(config-if)#vrrp [vrid]计时器通告毫秒[毫秒]间隔

选项定义为：

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围从 1 至 255。

- msec — （可选）将通告时间的单位从秒更改为毫秒。如果没有关键字，通告间隔以秒为单位。

- interval — 连续通告之间的时间间隔。如果存在关键字msec，则有效范围为50至40950毫秒。如果省略关键字msec，则有效范围为1到40秒。

步骤13.（可选）对象跟踪是一个独立的过程，用于管理创建、监控和删除跟踪对象，如接口的线路协议状态、IP路由的状态或路由的可达性。跟踪过程定期轮询跟踪的对象并记录任何值的更改。VRRP对象跟踪使VRRP能够访问跟踪过程中可用的所有对象。虚拟设备的优先级根据被跟踪对象的状态递增或递减。

要了解有关VRRPv3对象跟踪的详细信息，请参阅链接：VRRPv3:对象跟踪集成

要配置VRRP以跟踪对象，请输入以下命令：

SG550XG#(config-if)#vrrp [vrid] track [object-id] decrement [priority]

- vrid — 定义VRRP的接口上的虚拟路由器标识符。范围为1-255。

- object-id — 与此VRRP路由器跟踪对象的关联数。number参数的有效值范围为1到64。此值是在SLA路径中输入的，请单击此处了解详细信息。

- priority — （可选）当跟踪对象关闭或恢复时路由器优先级递减或递增的值。默认值为10。递减值可以设置为介于1和253之间的任意值。

在本例中，我们未配置VRRP来跟踪对象，但我们输入了命令来向您显示对象的样例。

步骤14.输入end命令返回特权执行模式。

SG550XG#(config-if)#end

步骤15.（可选）在交换机的特权执行模式下，将配置的设置保存到启动配置文件。出现“Overwrite file [startup-config]...（覆盖文件[startup-config].....）”提示后，在键盘上按“Y”（是）或“N（否）”（否）。

SG550XG#copy running-config startup-config

步骤16.在下一台交换机上重复步骤1至15，以配置另一台虚拟路由器。在本例中，我们配置了第二台交换机以成为备用虚拟路由器。

验证/测试VRRP

步骤1.要显示一个或所有配置的VRRP虚拟路由器的简要或详细状态，请输入以下命令：

SG550XG#show vrrp {all |简介 | interface [interface-id]}

选项有：

- all — （可选）提供有关所有VRRP虚拟路由器的VRRP虚拟路由器信息，包括处于禁用状态的虚拟路由器。如果未输入关键字，则应用all关键字。

- brief — （可选）提供VRRP虚拟路由器信息的摘要视图。

- interface interface-id — （可选）接口标识符。

在本例中，我们使用了show vrrp all。

步骤2.在第二台交换机上，我们使用了以下命令来显示详细的VRRP路由器信息。

SG550XG#show vrrp all

步骤3.此步骤显示了第一台交换机（活动）关闭时发生的情况示例。第二台交换机（备用）变为活动状态，如下例所示。对于源IP地址为192.168.2.2的第二台交换机，状态为“活动”。

结论

您现在应该已通过CLI在SG550X交换机上成功配置VRRP。