虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。
使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。
一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。因此当VRRP出现故障时,又该如何操作呢,金信润天资深讲师“季老板”为您答疑解惑......
检查是否存在VRRP状态异常的日志
操作步骤
设备在VRRP状态变化时会记录日志,通过查看log日志初步确认状态变化的原因。
VRRP/4/vrrpTrapNewMaster: The VRRP status changed to master. (ifIndex=114, VrId=10,
MasterIPAddress=192.168.1.2, sysName=JSYZHDCNSNL3FTSMCE1280402,
ifName=Vlanif100, ChangeReason=protocol timer expired)
VRRP/4/vrrpTrapNonMaster: The VRRP status changed between backup and initialize.
(ifIndex=114, VrId=10, MasterIpAddr=192.168.1.2, sysName=JSYZHDCNSNL3FTSM
CE1280402, ifName=Vlanif10, CurrentState=initialize, ChangeReason=interface down)
如上VRRP状态变化是由于Backup设备收包超时和链路状态变化导致,需排查端口状态及链路的连通性。
检查VRRP配置是否正确
操作步骤
在任意视图下执行display vrrp verbose命令或者在接口视图下执行display this命令,观察两端配置
是否对称、优先级设置(包括优先级配置和监视接口降低值)是否合理。VRRP要求组成虚拟路由
器的多个路由器必须配置一致,即要求虚拟IP地址、VRRP报文广播间隔时间、认证方式和认证字
的配置必须相同。
display vrrp verbose
Vlanif100 | Virtual Router 1
State : Master
Virtual IP : 10.1.1.100
Master IP : 10.1.1.2
Send VRRP Packet To Subvlan : all
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 20 s Remain : –
Hold Multiplier : 3
TimerRun : 2 s
TimerConfig : 2 s
Auth Type : MD5 Auth Key : **
Virtual MAC : 00005e000101
Check TTL : YES
Config Type : Normal
Track BFD : atob Priority Reduced :20
BFDsession State : UP
Create Time : 20171007 15:43:42
Last Change Time : 20171007 15:44:03
检查VRRP心跳报文收发是否正常
操作步骤
如果有端口状态的变化,则检查端口速率配置以及端口双工模式等是否正确,以及对端端口的相关
属性配置是否一致。具体请参考故障启示录《光口对接异常》或《电口对接异常》进行排查。
在Backup设备上打开debug开关,查看能否正常接收VRRP心跳报文,并且观察能否稳定的收到
VRRP心跳报文(默认情况下每个session都是1s发送一个心跳报文)。
terminal debugging
terminal monitor
debugging vrrp packet
如果能收到VRRP心跳报文,并且收到的频率正常(1 packet/Sec),记录操作日志并寻求技术支
持。完成后关闭debug开关。
undo debugging vrrp packet
undo terminal debugging
undo terminal monitor
检查是否存在STP震荡
操作步骤
执行命令display stp brief查看设备STP状态,如果STP存在震荡,会影响VRRP心跳报文的转发和
处理。在VRRP状态变化期间反复查看环路协议的状态,或者查看VRRP状态变化期间的日志,确认
是否存在环路协议震荡。
display stp brief
MSTID Port Role STP State Protection Cost Edged
0 10GE1/0/1 ROOT forwarding none 2000 disable
0 10GE1/0/2 DESI forwarding none 2000 disable
检查是否存在VRRP报文攻击
操作步骤
Master设备发送VRRP报文的时间间隔默认为1秒,如果设备上的备份组的数量不多,但是Backup
设备上出现了大量的VRRP报文CPCAR丢包,则有可能是网络中存在VRRP报文的攻击,导致
Master设备发送的心跳报文被挤占,引起VRRP状态变化。
查看log日志,排查是否存在如下的超过默认CPCAR的记录。
Rate of packets to cpu exceeded the CPCAR limit in slot 1. (Protocol=vrrp, PPS/CBS=256/2048,
ExceededPacketCount=03473425)
或者,通过display cpudefend statistics命令,排查是否存在如下的超过默认CPCAR而导致报文丢
弃的记录。
《 display cpudefend statistics packettype vrrp all 》
Statistics(packets) on slot 1 :
《——————————————————————————–
PacketType Total Passed Total Dropped Last Dropping Time
Last 5 Min Passed Last 5 Min Dropped
《——————————————————————————–
vrrp 39413185 12950486396 20170807 15:50
575126 250926259
《——————————————————————————–
《Statistics(packets) on slot 2 :
《——————————————————————————–
PacketType Total Passed Total Dropped Last Dropping Time
Last 5 Min Passed Last 5 Min Dropped
《——————————————————————————–
vrrp 28905966 142484581 20170807 15:50
332073 1174817
《——————————————————————————–
针对报文攻击场景,通过打开VRRP的调试开关或通过WireShark等工具获取报文头来观察报文来
源,同时确认疑似攻击报文是否为错误的VRRP报文。
命令:
display vrrp statistics
display vrrp error packet(诊断视图)
debugging vrrp packet
display vrrp statistics
Vlanif100 statistics information :
IP protocol number errors : 0
Destination IP address errors : 0
Checksum errors : 0
Version errors : 0
Vrid errors : 33121
Vlanif100 | Virtual Router 1
Transited to master : 0
Sent advertisements : 0
Received advertisements : 0
Advertisement interval errors : 0
Failed to authentication check : 0
Received IP TTL errors : 0
Received packets with priority zero : 0
Sent packets with priority zero : 0
Received invalid type packets : 0
Received unmatched address list packets : 0
Unknown authentication type packets : 0
Mismatched authentication type : 0
Packet length errors : 0
Received packets vrrp master self sent : 0
Received attack packets : 0
Failed to learn advertisement interval : 0
检查VRRP心跳报文是否在中间链路丢弃
操作步骤
若通过流量统计或获取报文头,已经确认Backup设备的端口没有接收到VRRP心跳报文,则需要排
查端口或中间链路是否存在丢包。
如果建立备份组的两台设备通过链路直连,通过display interface检查故障期间互连端口下是否有
discard丢包计数增长。
如果建立备份组的两台设备间还有其他设备,需要在中间设备上继续排查VRRP心跳报文是否正常
转发。
同时CPU使用率高可能会导致VRRP报文无法正常被处理,可使用display cpu命令查看设备的CPU
占用率。如果CPU利用率过高,请参考故障启示录《CPU使用率高》处理。
收集信息并寻求技术支持
操作步骤
收集上述步骤的操作结果,并记录到文件中。
一键式收集设备的所有诊断信息并导出文件。
在用户视图下,执行display diagnosticinformation filename命令,采集设备诊断信息并保存为文
件。
display diagnosticinformation diainfo.txt
Now saving the diagnostic information to the device
100%
Info: The diagnostic information was saved to the device successfully.
说明:
生成的文本文件的缺省保存路径为flash:/,您可以在用户视图下使用dir命令可以确认文件是否正确
生成。
当诊断信息文件生成之后,您可以通过FTP、SFTP、SCP等方式将其从设备上导出,详细操作可
参考“管理本地文件”。
说明:
您也可以直接执行display diagnosticinformation命令,并通过终端日志存盘方式获取设备诊断信息
文件,详细操作可参见“设备诊断信息文件获取指导”。
收集设备的日志和告警信息并导出文件。
执行以下命令,将缓冲区的日志和告警信息保存为文件。
save logfile //收集普通用户日志
systemview
[~HUAWEI] diagnose
[~HUAWEIdiagnose] save logfile diagnoselog //收集诊断日志
[~HUAWEIdiagnose] collect diagnostic information //收集操作系统诊断信息
当日志信息文件生成之后,您可以通过FTP、SFTP、SCP等方式将其从设备上导出,详细操作可
参考“管理本地文件”。
说明:
您也可以直接执行display logbuffer和display trapbuffer命令查看设备的日志和告警信息,并通过终
端日志存盘方式获取日志和告警信息文件,操作方法与设备诊断信息文件的获取方式相同,可参
见“设备诊断信息文件获取指导”。
本人作者:季老板
HCIE-R&S
多年IT行业从业经验,
具有丰富的企业项目实施经验
以及数据中心交付经验。
授课内容:
路由与交换HCIA、HCIP、HCIE、H3CNE、H3CSE
项目经验:
1、宁波电力数据中心网络改造项目实施;
2、粤电集团广域网改造项目;
3、清远政务云系统项目实施;
4、广州网络安全数据中心改造项目实施;
5、中国人寿保险南数据中心网络改造项目实施。
教学理念:
学海无涯苦做舟,野渡无人舟自横。
教学特点:
具有良好的责任心和耐心,
具备丰富的项目经验,
授课知识点分析细致
从需求出发,从项目纬度为目标,
让学员能够充分认识项目体系。
擅长通过项目案例引导学生学习知识,
用通俗的生活实例去讲解复杂的知识点,
通过实验演示去帮助学员理解疑难知识点,
注重培养学员解决问题的思路和方法。
做到教以致用,学以致用。