VRRP
VRRP 解决问题:
1、网关为单设备时,如果此设备发生故障,那么将会导致下连接设备均出现故障; 此时我们将多设备组成一个网关组,再同一时刻只有一台工作即可,其余设备负责监听,当工作的设备出现故障,那么再选举出新设备接管即可;
概述:
1、将多台路由虚拟成一台,配置虚拟路由来当做网关,实现网关的备份;
2、vrrp 协议版本:V2 与V3;
V2常用且仅适用于IPv4 网络,V3 版本在IPv4与IPv6版本均适用;
3、vrrp宣告报文(advertisement):使用组播报文播出,目的ip:225.0.0.18,目的mac:01-00-5e-00-00-12,协议号:112;
两台路由的主备切换:
1、如果master发生故障,则主备切换,backup 路由在master_down_interval时间内未收到master的状态通告报文,则backup立即成为master;
2、如果master故障恢复,则需要看配置策略,如配置了抢占则master 会再次成为master;
路由器类型:
主路由器
1、组内的路由器通过比较VRRP优先级,优先级大的会成为主路由器;
2、主路由器会周期性的发送VRRP报文(周期一般默认为1s),维护主路由器与备路由器之间的关系;
备路由器
1、组内的路由器通过比较VRRP优先级,优先级小的为备份路由器;
2、不断接收master路由器发送的VRRP报文,来判断master路由器的状态:
A: 一定时间内收不到master路由器的vrrp 报文,则认为master路由器故障,此时会将自己设置未主路由器;
B: 这个一定时间一般为master路由器发送vrrp 报文周期的3倍,即:默认间隔 * 3,所以一般为3s;
虚拟网关
1、虚拟网关是通过VRRP配置虚拟出来的;
2、终端使用此网关地址,那么终端发送的数据会直接发送给虚拟网关,即:Master 设备,backup不接收,也不工作,由master来对报文进行处理;
虚拟路由标识(VRID)
1、虚拟路由器的标识,在同一组中,只有在同一组中才会共享虚拟网关IP,即:有相同VRID的一组路由器构成一个虚拟路由;
2、VRRP报文只使用了一种通告(advertisement):使用IP报文座位传输报文,协议号112,使用固定的组播地址:224.0.0.18进行发送;
状态变化
1、VRRP三种状态:
A:初始状态: 设备启动即进入的状态; 当收到接口startup 消息会立即进入到master或backup状态; 此状态对VRRP报文不做任何处理;
B:活动状态(master): 只有处于此状态的设备才可转发那些发送到虚拟IP地址的报文;
master 路由器周期性发送VRRP报文,以发布其配置(优先级)与工作情况;
master 路由器通过免费ARP 报文将自己的虚拟MAC地址通知给与之相连的设备,从而进行转发功能;
转发目的MAC为虚拟MAC的IP报文; 如果是此虚拟IP的拥有者,则接收目的IP为虚拟IP的报文,否则丢弃;
如果收到比自己优先级大的报文,则进入备份状态;
如果收到与自己相同优先级大报文,并且报文的源地址比自己大,则进入备份状态;
收到接口down 后,会进入到初始化状态;
C:备份状态(backup) 接收master 发送的VRRP报文,来判断master的工作状态是否正常;
对虚拟IP地址的ARP报文不做响应; 目的MAC为虚拟MAC 的IP报文直接丢弃;
目的IP为虚拟IP的报文直接丢弃;
当收到master_down_timer定时器超时,会转为master 收到比自己优先级小的报文,直接丢弃,不重置定时器,如果收到优先级与自己相同的,则重置定时器,但不进行进一步比对IP;
当收到接口down 事件时,进入到初始化状态;
2、VRRP路由器优先级:
路由器的优先级可以确定出路由器角色(master,backup),优先级越高,则越有可能成为master;
创建VRRP设备后,则设备处于初始化状态,收到接口Up 消息后,如果设备的优先级为255,则直接进入到master状态;
优先级小于255,则设备先进入backup ,等待master_down_interval定时器超时后再进入master状态;
首先进入到master状态的vrrp设备通过VRRP通告报文的交互,来获取虚拟设备中其它成员的优先级,从而选举master;
如果VRRP报文中的Master设备优先级高于自己的优先级,则backup 状态保持不变;
如果VRRP报文中的Master设备优先级低于自己的优先级,采用抢占方式的backup设备将切换至master,非抢占模式的则保持原有的backup;
如果有多个设备都进入了master状态: 优先级低的转为backup; 优先级相同的则在备份组所在的接口IP小的转为backup;
VRRP 工作的过程
1、虚拟路由器会根据路由器的优先级选举master; master路由器会通过发送免费ARP 报文,将自己的MAC发给与之相连的设备,从而承担报文转发;
2、master路由器周期性发送VRRP通告报文,公布其配置信息(优先级)与工作状况;
3、master故障,虚拟路由器中的backup会重新选举master;
4、虚拟路由器切换时,master设备发生切换,新master路由器只发送一个携带虚拟路由器MAC和IP地址的免费ARP报文,这样就更新了与之连接 的设备的ARP表信息;
5、当网络中出现优先级高于master的路由器时,是否发生master切换取决于backup路由器的工作方式(抢占与非抢占),决定是否重新选举master;
实验:
实验图
设备配置:
AR1:
interface GigabitEthernet0/0/0 ip address 13.1.1.1 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.11.10 255.255.255.0 #设置接口IP vrrp vrid 2 virtual-ip 192.168.11.254 # 设置vrrp配置 vrrp vrid 2 priority 110 #配置本设备的优先级 vrrp vrid 2 preempt-mode timer delay 2 vrrp vrid 2 track interface GigabitEthernet0/0/0 reduced 20 #检测上联口的状态,端口状态变化后会将priority 减少20
AR2:
interface GigabitEthernet0/0/0 ip address 192.168.11.20 255.255.255.0 #设置接口的IP vrrp vrid 2 virtual-ip 192.168.11.254 #设置vrrp信息,与AR1 成组 # interface GigabitEthernet0/0/1 ip address 23.1.1.2 255.255.255.0
AR3:
interface GigabitEthernet0/0/0 ip address 192.168.12.254 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 13.1.1.3 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 23.1.1.3 255.255.255.0 #
AR4:
interface GigabitEthernet0/0/0 ip address 192.168.11.40 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.13.254 255.255.255.0
交换机不做任何配置;
三台PC按照图中设置地址即可,PC 的网关均设置未x.x.x.254;
在AR1、AR2 上查看vrrf 信息:
[AR1]dis vrrp 2 GigabitEthernet0/0/1 | Virtual Router 2 State : Master #当前vrrf 的状态 Virtual IP : 192.168.11.254 #配置的vrrp 虚拟地址 Master IP : 192.168.11.10 #master 的IP地址 PriorityRun : 110 #运行中的优先级 PriorityConfig : 110 #配置的优先级 MasterPriority : 110 #master 优先级 Preempt : YES Delay Time : 2 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0102 #VRRP的虚拟MAC Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Track IF : GigabitEthernet0/0/0 Priority reduced : 20 #追踪端口与端口变化后的优先级操作 IF state : UP Create time : 2024-06-18 10:27:29 UTC-08:00 Last change time : 2024-06-18 10:31:01 UTC-08:00
[AR2]dis vrrp 2
GigabitEthernet0/0/0 | Virtual Router 2
State : Backup #状态
Virtual IP : 192.168.11.254 # vrrp 的虚拟IP
Master IP : 192.168.11.10 # vrrp 的虚拟IP
PriorityRun : 100 #本机器运行vrrp 的优先级
PriorityConfig : 100 #本机器配置vrrp 的优先级
MasterPriority : 110 #master本机器的vrrp 的优先级
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0102 #虚拟mac
Check TTL : YES
Config type : normal-vrrp
Backup-forward : disabled
Create time : 2024-06-18 09:52:54 UTC-08:00
Last change time : 2024-06-18 10:31:02 UTC-08:00
PC1与PC2 之、PC4与PC2之间通讯:
这里采用静态路由来配置网络中的路由记录;
AR1:
ip route-static 192.168.12.0 255.255.255.0 13.1.1.3
ip route-static 192.168.13.0 255.255.255.0 192.168.11.40
AR2:
ip route-static 192.168.12.0 255.255.255.0 23.1.1.3
ip route-static 192.168.13.0 255.255.255.0 192.168.11.4
AR3:
ip route-static 192.168.11.0 255.255.255.0 13.1.1.1 ip route-static 192.168.11.0 255.255.255.0 23.1.1.2
ip route-static 192.168.13.0 255.255.255.0 23.1.1.2
ip route-static 192.168.13.0 255.255.255.0 13.1.1.1
AR4:
ip route-static 192.168.12.0 255.255.255.0 192.168.11.254
此时我们PC1与PC2之间是可以正常进行通讯的:
此时我们PC4与PC2之间是可以正常进行通讯的:
1、测试修改设备的优先级,查看对vrrp 的master 的影响
2、down 掉AR1 的上联口,查看在AR 上配置的vrrp 优先级是否会发生改变;
3、down 掉AR1 的上联口,查看PC1 是否还能与PC2通讯;
4、down 掉AR2 的上联口,查看PC1 是否能与PC2 通讯;
5、down 掉AR1或ARP 2 的VRRP配置使用的端口,查看vrrp 是否还能正常工作;
6、down 掉AR1或ARP 2 的VRRP配置使用的端口,PC1是否能与PC2通讯;
报文
1、通告报文(master发出)结构:
2、免费ARP 广播出arp 的虚拟MAC与IP信息
报文中的源IP与目的IP相同,只是单纯的通告出去,所以免费arp request不需要reply;
发送出去的ARP信息中,源MAC与源IP都是VRRP中的虚拟的;
VRRP 与上行端口状态监测
当VRRP备份组上行链路出现故障时,由于VRRP无法感知,可能会导致业务中断。
通过联动路由或端口等,使用VRRP监控设备上行转发路径路由条目,当上行转发路由条目撤销或是变为非活跃状态,通知VRRP备份组降低Master设备优先级,触发主备切换,以实现链路切换,减小链路故障对业务转发的影响。
上行链路故障恢复时,原Master设备在备份组中的优先级将恢复原来的值,重新抢占成为Master,继续承担流量转发的业务
vrrp vrid 2 track interface GigabitEthernet0/0/0 reduced 20
上面的命令是监测 GigabitEthernet0/0/0端口,当端口出现down后,那么vrrp 会调整所在端口的优先级,再优先级上减 20;