路由与交换之VRRP协议特性与配置小实践

1.1【实验目的】

• 掌握VRRP组和虚拟地址的配置方式

• 掌握VRRP优先级的配置方式

• 掌握VRRP的验证效果

• 掌握VRRP跟踪上行链路的配置方式

• 掌握VRRP多组负载均衡和认证的配置方式

 

1.2【实验环境】

华为ENSP模拟器

实验拓扑图如下图所示。

1.png



1.3【实验过程及实验结果】

1.地址配置

IP地址规划表

设备名称

设备接口

IP

网关

PC1

E0/0/1

10.20.0.1/24

10.20.0.254

PC2

E0/0/2

10.20.0.2/24

PC3

E0/0/3

10.20.0.3/24

AR1

G0/0/0

10.20.0.251/24


G0/0/1

192.168.0.2/30

AR2

G0/0/0

10.20.0.252/24

G0/0/1

10.20.0.252/24

AR3

G0/0/0

192.168.0.1/30

G0/0/1

192.168.0.5/30

Loopback0

3.3.3.3/8

 

2. IP编址与基本配置

给所有路由器配置IP地址信息。

AR1

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[AR1]sys AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 10.20.0.251 24 
[AR1-GigabitEthernet0/0/0]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]
[AR1-GigabitEthernet0/0/1]ip add 192.168.0.2 30 
[AR1-GigabitEthernet0/0/1]q

AR2

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[AR2]sys AR1
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 10.20.0.252 24 
[AR2-GigabitEthernet0/0/0]q
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]
[AR2-GigabitEthernet0/0/1]ip add 192.168.0.6 30 
[AR2-GigabitEthernet0/0/1]q

AR3

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[AR3]sys AR1
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 192.168.0.1 30
[AR3-GigabitEthernet0/0/0]q
[AR3]int g0/0/1
[AR3-GigabitEthernet0/0/1]
[AR3-GigabitEthernet0/0/1]ip add 192.168.0.5 30
[AR3-GigabitEthernet0/0/1]q
[AR3]int loopback 0
[AR3-LoopBack0]ip address 3.3.3.3 8 
[AR3-LoopBack0]q

 

3.配置OSPF协议和静态路由

AR3的环回口0、AR1、AR2和AR3互连接口运行在OSPF的区域0,AR1和AR2连接LSW1 交换机的接口也要宣告进OSPF,但不建立邻居,只为发布路由,因此使用silent 模式。

PC1\PC2\PC3为模拟PC,VRRP虚拟地址。 最终实现的目标是AR3可以学到10.20.0.0网段路由,AR1和AR2可以学到 3.3.3.3路由。

AR1

[AR1]ospf 1
[AR1-ospf-1]
[AR1-ospf-1]silent-interface g0/0/0
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]net 192.168.0.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]net 10.20.0.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]q
[AR1-ospf-1]q

AR2

[AR2]ospf 1
[AR2-ospf-1]
[AR2-ospf-1]silent-interface g0/0/0
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]net 192.168.0.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]net 10.20.0.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]q
[AR2-ospf-1]q

AR3

[AR3]ospf 1
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]net 192.168.0.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]q
[AR3-ospf-1]q


配置完成后,观察各设备的路由表,分别 AR1和AR3

AR1

2.png

AR3

3.png

从以上输出可以看到,AR3可以学习到10.20.0.0/24路由,AR1和AR2可以学习到 3.3.3.3/32路由。

 

4. 配置VRRP组和虚拟地址

在AR1和AR2的相应接口上启用VRRP并配置虚拟组ID和虚拟地址并配置VRRP的优先级,优先级值越大优先级越高,因此配置AR1的优先级值为150,AR3的优先级值使用默认配置100。

AR1

[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 10.20.0.254
[AR1-GigabitEthernet0/0/0]vrrp vrid 1 priority 150
[AR1-GigabitEthernet0/0/0]q

AR2

[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 10.20.0.254
[AR2-GigabitEthernet0/0/0]q

配置完成后,检查AR1和AR2中VRRP状态

 AR1

4.png

 AR2

5.png

从以上输出可以看到,AR1成功当选Master路由器,AR2为Slave(Backup)路由器。


最后验证从PC到AR1的互通。

6.png

      由输出显示,虚拟网关已经正常工作,可以把PC所在LAN的数据转发到AR3。 正常情况下,由Master转发数据,因此流量经过AR1。为了验证故障切换状态,关闭AR1连接LSW1的接口。

 

AR1

[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]shutdown

7.png

由于主备切换,AR2成为Master, 因此流量经过AR2。

 

5. 配置跟踪上行链路特性

VRRP主备切换是通过侦听通告报文实现的,如果Slave路由器侦听不到 Master的消息或自己优先级更高,那么执行抢占(默认无抢占等待时间)。

      如果故障点发生在上行链路,主备不切换,那么所有上网流量到达AR1之后将无法转发。因此这里引入一个VRRP的特性——跟踪上行链路。确保在上行链路出现故障的时候,AR1自动降低自己的优先级,AR2可以执行抢占,从而将流量引导到备用路由器和备用上行链路进行转发。

 

 在配置跟踪上行链路特性前,先恢复被shutdown的链路。

 在AR1上配置跟踪上行接口,设置惩罚值为60,即当链路失效,AR1的运行优先级会变为90,低于AR2的100:

AR1

[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]undo shutdown
[AR1-GigabitEthernet0/0/0]vrrp vrid 1 track int g0/0/1 reduced 60

将AR1上行链路恢复,优先级恢复,重新抢占成为Master路由器(此过程的 PC丢包数量较多,原因是OSPF路由没有快速收敛的缘故)

      注意:因为在接口up之后,AR1上行接口要重新建立OSPF邻居,如果没有配置OSPF快速收敛,将会有数秒钟无法转发数据。因此建议回切时配置抢占延时,延时时间要大于OSPF收敛时间。

AR1

[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/1]vrrp vrid 1 preempt-mode timer delay 10

再次检查VRRP,抢占延时已经配置成功。

8.png

6. 配置VRRP多组负载均衡和认证

在正常状态下,所有流量都从Master设备转发,Slave设备处于闲置状态。

如果想实现双网关的负载均衡,可以采用VRRP多组的方式:在AR1和AR2上分别建立VRRP组1,虚拟地址为10.20.0.254,Master设备是AR1; VRRP组2,虚拟地址为10.20.0.254,Master设备是AR2。并且将PC1的默认网关指向10.20.0.254,PC2的默认网关指向10.20.0.250。并在VRRP组2设置验证方式。这样的设计,可以将这个网段上的主机上网流量,分担到两台网关上。

下面是具体配置:

AR1

[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]vrrp vrid 2 virtual-ip 10.20.0.250
[AR1-GigabitEthernet0/0/0]vrrp vrid 2 authentication-mode simple plain Jack20
[AR1-GigabitEthernet0/0/0]q

AR2

[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]vrrp vrid 2 virtual-ip 10.20.0.250
[AR2-GigabitEthernet0/0/0]vrrp vrid 2 priority 160
[AR2-GigabitEthernet0/0/0]vrrp vrid 2 track interface g0/0/1 reduced 90 
[AR2-GigabitEthernet0/0/0]vrrp vrid 2 authentication-mode simple plain Jack20
[AR2-GigabitEthernet0/0/0]q

在AR1和AR2上查看双组负载均衡状态:

AR1

 9.png

AR2

10.png


使用tracert来确认发到两条默认路由的数据被哪个网关来处理,可以看到从 PC1发出的数据由组1的Master转发,PC2发出的数据由组2的Master转发:

*在AR3上开启设备的ICMP端口不可达报文的发送功能。

AR3

[AR3]icmp port-unreachable send

PC1

 11.png

PC2

12.png

正常状态AR1和AR2负载分担,AR1出现故障,AR2可以接管AR1的所有流量,至此 VRRP双组负载均衡配置完毕。


在AR1 g0/0/0上, 使用Wireshark抓包查看认证信息:

13.png

      从上面抓包信息可以看出,AR1 上启用了认证并且认证模式为“SIMPLE”,认证密钥(Jack20)也明确地显示在配置中。在10. 20.0. 0/24网络中的抓包结果,从这个以AR2 (10. 10. 10. 252)为源发出的VRRP消息,我们可以看出VRRP通告消息版本为V2,认证类型为明文认证,认证字符串也能够从抓包解析中直接看到:Jack20。

 

1.4【实验总结】

一、第一跳冗余协议(FHRP)

      第一跳冗余协议(FHRP)是一种用来保护默认网关的网络协议,其原理是允许两台(或多台)路由器,交换机共同提供一个冗余的网关地址,默认情况下,如果第一跳设备故障,备用路由器将在数秒内接管网关地址。

1.起因

      如果路由器或路由器接口(作为默认网关)发生故障,配置该默认网关的主机将与外部网络隔离,大部分功能不能使用。交换网络需要一种网关冗余的机制。因此出现了第一跳冗余协议。

2.原理

      把多个三层设备关联在一起组成一个虚拟的路由器,用虚拟路由器的ip充当网关,当有数据要处理时,由根据协议决定的处于活动的实际路由器来处理。当一个实际路由器出问题,会用备份的路由器来处理。因为新的转发路由器同时接替虚拟路由器的 IPv4 地址和 MAC 地址,所以主机设备的服务不会出现中断。虚拟路由器 还有一个虚拟的MAC地址

注:FHSRP是这一功能类型的协议的总称,实际用到的协议是HSRP和VRRP

 

二、虚拟路由冗余协议(VRRP)

      虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。

      VRRP是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。

      VRRP是一种路由容错协议,也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由,当网内主机发出的目的地址不在本网段时,报文将被通过缺省路由发往外部路由器,从而实现了主机与外部网络的通信。当缺省路由器down掉(即端口关闭)之后,内部主机将无法与外部通信,如果路由器设置了VRRP时,那么这时,虚拟路由将启用备份路由器,从而实现全网通信。

      在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体;虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定的IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器VRRP协议从路由器组中选出一台作为主控路由器,负责ARP解析和转发IP数据包,组中的其他路由器作为备份的角色并处于待命状态,当由于某种原因主控路由器发生故障时,其中的一台备份路由器能在瞬间的时延后升级为主控路由器,由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。

 

VRRP常用命令:

#配置vrid1中的虚拟IP地址
vrrp vrid 1 virtual-ip 10.0.0.10

#配置在vrid1中的优先级为120,其他设备优先级未手动 指定,缺省为100,则本设备为Master。
vrrp vrid 1 priority 120  

#配置Master设备的抢占时延为20秒
vrrp vrid 1 preempt-mode timer delay 20  
 
#跟踪上行接口 G0/0/0的状态,如果端口出现故障,则Master设备VRRP优先级降低30
vrrp vrid 1 track interface GigabitEthernet0/0/0 reduce 30 
(完)