VRRP故障排查

  一、客户需求

  某分支单位现网只有一条电信专线、一台路由器。为了提高网络带宽,同时增加网络设备的可靠性,用户又增加了一条联通10M的专线,并购买了一台MSR3620路由器。要求部分业务网关在先前的XX路由器上,并通过电信专线上网办公,部分业务网关在MSR3620路由器上,通过联通专线上网办公。路由器上添加访问控制功能,特殊业务只允许特定IP段访问。

  二、配置思路

  1. 两台路由器启用VRRP,一部分业务的Master是XX路由器,MSR3620路由器为slave;另一部分业务的Master是MSR3620路由器,XX路由器为slave。这样既实现了网关设备的备份又实现了业务流量的负载分担。

  2.路由器上要划分子接口作为不同用户的网关,接入层交换机上要添加相应VLAN,两个上行口配置成Trunk模式,并允许相应VLAN通过。

  3. 在路由器的网关接口上添加相应的ACL,实现访问控制需求。

  三、故障现象

  基本配置完毕后,检查发现两台路由器的VRRP都是Master,VRRP主备协商没有生效。检查配置无误且两台路由器子接口同一业务段的地址可以相互ping通。初步判断是ACL限制了VRRP报文传递,将ACL应用配置取消后现象依旧。

  四、故障排查

  1. 既然子接口之间可以ping通,说明物理链路没问题。

  2. 启动DEBUG分析,命令如下:

  terminal debugging

  The current terminal is enabled to display debugging logs.

  terminal monitor

  The current terminal is enabled to display logs.

  debugging vrrp packet

  %Aug 5 18:33:01:598 2014 XZN-LS-DZX-E-S1 VRRP4/6/VRRP_PACKET_ERROR:

  The IPv4 virtual router 65 (configured on GigabitEthernet0/2) received an error packet: PROTOCOL VERSION ERROR.

  *Aug 5 18:33:01:916 2014 XZN-LS-DZX-E-S1 VRRP4/7/Packet:

  Sent Advertisement message from GigabitEthernet0/0

  VRID: 65 Pri: 120 Adver timer: 100 centisecs

  根据现象初步分析出VRRP的版本错误,应该是MSR36的VRRP版本与XX路由器的不一致导致的结果。经过查看相关资料了解到MSR36 V7平台的VRRP版本默认是version 3(v 5平台的默认是version 2),XX路由器默认版本是version 2,将MSR36的VRRP改成version 2,命令如下:

  interface GigabitEthernet0/0.10

  ip address x.x.x.x 255.255.255.0

  vrrp version 2

  改完配置后VRRP状态正常,业务测试正常。由此可以判断就是VRRP版本不一致导致故障。

  3. 将ACL重新应用在接口上发现VRRP备份组的状态由Slave变为Master,说明ACL限制了VRRP报文传递,经查资料发现VRRP协议传送报文使用固定组播地址224.0.0.18。将ACL对VRRP组播地址224.0.0.18放开后,再应用到子接口上,命令如下:

  acl number 3050

  rule 05 permit ip destination x.x.x.x 0.0.3.255

  rule 10 permit ip destination x.x.x.x 0.0.7.255

  rule 15 permit ip destination 224.0.0.18 0

  rule 30 deny ip

  应用完毕,VRRP的状态恢复正常,说明就是ACL限制了VRRP交互报文。

  五、小结

  网络故障排查中,DEBUG分析不失为一种非常精准有效的排错方法,要学会运用这些方法解决网络故障问题。


2015年01月