1,问题描述
拓扑图:
网络中戴尔和H3C是直连的设备,互联VLAN为VLAN 100,且能够互相ping通。管理接口都是三层口,直接配置管理IP,不是二层接口划入VLAN起VLANIF的方式。
故障现象:S5700接入网络后,就会导致戴尔和H3C直连不通。
2,处理过程
1.未接入S5700,正常情况下戴尔交换机的ARP表项:
Daier#sho arp
Protocol Address Age(min) Hardware Address Interface VLAN CPU
-----------------------------------------------------------------------------------------
Internet 10.10.10.30 3 70:f9:6d:52:f7:95 Ma 0/0 - CP
Internet 10.10.10.108 0 00:1e:67:23:cc:d5 Ma 0/0 - CP
Internet 192.168.100.5 - 00:01:e8:82:4a:b5 - Vl 100 CP
Internet 192.168.100.30 3 70:f9:6d:52:f7:95 Gi 0/1 Vl 100 CP //关于H3C的ARP表项
Internet 192.168.100.31 3 04:fe:8d:e8:c7:9b Gi 0/2 Vl 100 CP //关于S5700的ARP表项
2.接入S5700后,戴尔交换机的ARP表项:
Daier#sho arp
Protocol Address Age(min) Hardware Address Interface VLAN CPU
-----------------------------------------------------------------------------------------
Internet 10.10.10.30 0 70:f9:6d:52:f7:95 Ma 0/0 - CP
Internet 10.10.10.108 0 00:1e:67:23:cc:d5 Ma 0/0 - CP
Internet 192.168.100.5 - 00:01:e8:82:4a:b5 - Vl 100 CP
Internet 192.168.100.30 0 70:f9:6d:52:f7:95 Gi 0/2 Vl 100 CP //关于H3C的ARP表项,从G0/0/2口学习到(接S5700的接口)
Internet 192.168.100.31 0 04:fe:8d:e8:c7:9b Gi 0/2 Vl 100 CP //关于S5700的ARP表项
3.抓包分析:
戴尔—>S5700,出方向抓包:戴尔交换机有发给S5700关于H3C 192.168.100.30的免费ARP报文。
S5700—>戴尔,出方向抓包:S5700有发给戴尔关于H3C 192.168.100.30的免费ARP报文,这样就导致中间戴尔交换机从S5700学习到关于H3C的ARP表项。
4.排查配置:
S5700:
interface GigabitEthernet0/0/1
port default vlan 100
port bridge enable //S5700接口下配置了port bridge enable 。
#
经测试,接口下删除port bridge enable这条命令后,问题解决。
3,根因
port bridg enable命令用来使能端口桥功能,即接口支持同源同宿报文的转发。 同源同宿报文即源MAC地址和目的MAC地址均在设备的同一接口上学习到的报文。缺省情况下,设备不转发同源同宿报文,当接口收到这种报文时,设备判断为非法报文并直接丢弃该报文。
配置端口桥功能后,当接口收到同源同宿报文时,若设备上的MAC地址表中存在与该报文的目的MAC地址对应的表项,则将报文从本接口转发出去。
从交换机层面来看,"广播地址能够被所有的物理接口学习到",所以启用了端口桥功能的接口在收到免费ARP广播后,也会从本接口发送出去。
戴尔交换机G0/0/1接口收到H3C设备发送的免费ARP报文后,从G0/0/2接口转发给S5700,S5700 G0/0/1接口下由于配置了port bridge enable使能端口桥功能,导致G0/0/1收到的免费ARP广播报文又从G0/0/1接口发回去,最终戴尔交换机上关于H3C 192.168.100.30的ARP表项是从S5700学习到。
4,解决方案
S5700接口下:undo port bridge enable取消使能端口桥功能。
閱讀更多 王海軍老師 的文章