锐捷S7910E VRRP组网服务器V6地址到网关直连不通

一、故障现象描述

两台S7910E下面直连的服务器V6业务到网关直连不通。

场景拓扑

拓扑介绍

两台S7910E使用VRRP组网,S79E1为主设备,S79E2为备份设备,两台设备之间的AGG2口使用TRUNK口互联,放通所有VLAN和VRRP报文。服务器两个网卡使用BAND6做聚合分别上联主备设备的Hu5/2端口,交换机端只做ACCESS端口配置,未做聚合。

二、故障排查分析

  1. 设备CPU和端口利用率正常,其他V4业务正常,排除环路可能。
  2. 查看VRRP状态,两台S7910E的VRRP状态正常,主机状态为Master,备机状态为Backup,排除VRRP问题:
  1. S79E1上查看服务对应的ND表,发现ND表项是从AGG2端口即与备机的互联端口学习过来的,且状态为DELAY:
同时查看S79E2设备上该服务器的MAC地址表是通过AGG2口学习,即S79E2备机学习到服务器的MAC地址是通过主机S79E1学习到的。
  1. 结合组网分析,S79E1的交换机VRRP状态正常且服务器双网卡正常的情况下ND表的出接口和MAC出接口应该为Hu5/2才对,通过与备机的互联AGG2端口学习到ND表和MAC表,怀疑有环路或存在MAC迁移,反复show mac发现MAC地址确实也有从Hu5/2学习
  1. S79E1使用debug efmp packet filter ipv6_sip XX ipv6_dip XX couter X命令开启IPV6协议栈调试,发现从AG2口一直有收到服务器的NS报文,从5/2一直收到服务器的NA报文,进一步证明S79E主设备上服务器的MAC地址会在AG2和Hu5/2端口之间迁移,可以使用show lsm inter查看聚合口对应的端口关系。
交换机收到报文会触发端口下的MAC地址学习,交换机未看到MAC地址漂移是因为两个报文发送间隔过短,MAC更新有防呆保护,短时间内的漂移不会触发交换机MAC漂移日志。
  1. 根据IPv6协议栈的信息,服务器一直在发NS请求,怀疑是服务器一直没有收到S7910E设备发出去的NA报文,导致服务器学习不到S7910E的ND邻居,最终导致服务器无法访问S7910E的虚拟网关和和外部业务。(因业务涉密,报文未截图),抓取的报文直接过滤源地址为虚拟网关的实地址和对应的NA报文即可。
  2. 确定交换机有正常回复服务器的NA报文,在S79E1上同样使用efmp命令跟踪,发现S7910E主设备会将NA报文从AG2发到备机,S79E2收到报文后正常要根据服务器的MAC地址转发。但是S7910E备机是从AG2学到的MAC地址,而NA报文从AG2进入备机后,芯片排源不允许NA报文再从AG2转发出去,最终导致NA报文被芯片排源丢弃,没有发给服务器。
S79E1将NA报文发给S79E2截图:
  1. S79E1将报文发给S79E2而不是发给Hu5/2端口的原因为:当前版本的IPV6协议栈的ND报文是源进源出的机制(即NS报文从哪个口进来的,NA报文就从哪个口发出去)。故障时S79E1的NS报文一直从AGG2口收到,所以NA报文会一直从这个端口发给S79E2设备。
  2. 结合VRRP组网设计,主备机不会同时收到同一台服务器的报文,怀疑服务器两张网卡模式配置存在问题,经与服务器工程师核实确认服务器的两张网卡配置模是bond6的负载均衡方式,即服务器的主备网卡都会发报文给2台S7910E。

三、故障根因说明

同一台服务器的两个网卡上联到两台核心交换机的环形组网,两台网卡都发报文会导致2台S7910E上服务器的MAC地址会在AG2和5/2之间频繁迁移,继而导致业务业务回包异常。

四、故障解决方案

将服务器的双网卡由bond6修改为bond1解决。

五、故障日志收集

收集命令

show run
show version
show cpu-protect
show ipv6 vrrp brief
show ipv6 neighbors detail
show lsm interface

快转和关键debug相关命令(过滤后不影响业务)

debug efmp packet filter ipv6_sip [源IP] ipv6_dip [目的IP] counter 5
debug efmp packet ping sipv6 [源IP] smac any dipv6 [目的IP] dmac any counter 5
debug net ipv6 [要过滤的服务器IP]

其他技术补充

bond6模式正常逻辑是使用两个不同的网卡双上联交换机对外显示为不同的MAC地址,但在发送报文的targetMAC可能相同,交换机收到报文要看报文里的targetMAC(内存MAC)进行加表,该字段可在抓包时获取,交换机的快转是无法看到的。

 

版权声明:
作者:SE_You
链接:https://www.cnesa.cn/2583.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
锐捷S7910E VRRP组网服务器V6地址到网关直连不通
一、故障现象描述 两台S7910E下面直连的服务器V6业务到网关直连不通。 场景拓扑 拓扑介绍 两台S7910E使用VRRP组网,S79E1为主设备,S79E2为备份设备,两台设备之间的AGG2口使用TRUNK口互联,放通所有VLAN和VRRP报文。服务器两个网卡使用BAND6做聚合分别上联主备设备的Hu5/2端口,交换机端只做ACCESS端口配置,未做聚合。 二、故障排查分析 设备CPU和端口利用率正常,其他V4业务正常,排除环路可能。 查看VRRP状态,两台S7910E的VRRP状态正常,主机状态为Master,备机状态为Backup,排除VRRP问题: S79E1上查看服务对应的ND表,发现ND表项是从AGG2端口即与备机的互联端口学习过来的,且状态为DELAY: 同时查看S79E2设备上该服务器的MAC地址表是通过AGG2口学习,即S79E2备机学习到服务器的MAC地址是通过主机S79E1学习到的。 结合组网分析,S79E1的交换机VRRP状态正常且服务器双网卡正常的情况下ND表的出接口和MAC出接口应该为Hu5/2才对,通过与备机的互联AGG2端口学习到ND表和MAC表,怀疑有环路或存在MAC迁移,反复show mac发现MAC地址确实也有从Hu5/2学习 S79E1使用debug efmp packet filter ipv6_sip XX ipv6_dip XX couter X命令开启IPV6协议栈调试,发现从AG2口一直有收到服务器的NS报文,从5/2一直收到服务器的NA报文,进一步证明S79E主设备上服务器的MAC地址会在AG2和Hu5/2端口之间迁移,可以使用show lsm inter查看聚合口对应的端口关系。 交换机收到报文会触发端口下的MAC地址学习,交换机未看到MAC地址漂移是因为两个报文发送间隔过短,MAC更新有防呆保护,短时间内的漂移不会触发交换机MAC漂移日志。 根据IPv6协议栈的信息,服务器一直在发NS请求,怀疑是服务器一直没有收到S7910E设备发出去的NA报文,导致服务器学习不到S7910E的ND邻居,最终导致服务器无法访问S7910E的虚……
<<上一篇
下一篇>>