设备上无法学习正确的MAC表项
操作步骤
- 查看是否配置错误导致MAC地址无法正确学习。
在任意视图下执行display mac-address命令,检查MAC地址、VLAN和设备接口的绑定关系是否正确。
<HUAWEI> display mac-address Flags: * - Backup BD : bridge-domain Age : dynamic MAC learned time in seconds ------------------------------------------------------------------------------- MAC Address VLAN/VSI/BD Learned-From Type ------------------------------------------------------------------------------- 0025-9e80-2494 1/-/- 10GE1/0/1 dynamic ------------------------------------------------------------------------------- Total items: 1
如果接口/VLAN配置关系错误,需要重新配置MAC地址、VLAN和设备接口的绑定关系。
如果接口/VLAN配置无误,请执行步骤2。
- 检查网络中是否存在环路导致MAC表项振荡。
一般情况下MAC地址漂移是由环路导致的,在系统视图下执行命令mac-address flapping detection,配置MAC地址漂移检测功能。配置MAC地址漂移检测功能后,系统将检测VLAN内所有MAC地址是否发生漂移。
可以采取如下方式来防止MAC表振荡:
- 排除环路故障。
如果系统中不存在环路,请执行步骤3。
- 检查是否配置了MAC学习去使能。
在接口视图和VLAN视图下,查看是否配置了MAC地址学习去使能。
[~HUAWEI-10GE1/0/1] display this # interface 10GE1/0/1 mac-address learning disable port link-type trunk port trunk allow-pass vlan 10 # return
[~HUAWEI-vlan10] display this # vlan 10 mac-address learning disable # return
如果显示信息中出现“mac-address learning disable”字段表示接口或VLAN已经去使能MAC地址学习功能。
- 如果接口或VLAN去使能MAC地址学习功能,请在接口视图下执行命令undo mac-address learning disable [ action { discard | forward } ],使能接口学习MAC地址功能,或者在VLAN视图下执行命令undo mac-address learning disable,使能VLAN学习MAC地址功能。
- 如果接口或VLAN没有去使能MAC地址学习功能,请执行步骤4。
- 检查是否配置了黑洞MAC或基于接口的MAC地址限制。
在设备上检查是否存在以下配置导致报文在接口被丢弃:
是否配置了黑洞MAC
执行display mac-address blackhole命令,查看是否配置了黑洞MAC。<HUAWEI> display mac-address blackhole Flags: * - Backup BD : bridge-domain Age : dynamic MAC learned time in seconds ------------------------------------------------------------------------------- MAC Address VLAN/VSI/BD Learned-From Type Age ------------------------------------------------------------------------------- 0001-0001-0001 100/-/- - blackhole - 0002-0002-0002 200/-/- - blackhole - ------------------------------------------------------------------------------- Total items: 2
如果有黑洞MAC相关配置,请执行undo mac-address blackhole命令删除黑洞MAC地址。
是否配置了基于接口/VLAN的MAC地址学习限制
- 在接口/VLAN视图下执行display this命令,如存在mac-address limit maximum字段配置,则配置了MAC学习限制,此时可以采取如下操作:
- 请在对应的视图下执行命令undo mac-address limit取消MAC地址限制。
- 请在对应的视图下执行命令mac-address limit增加MAC地址学习数量。
- 在接口视图下执行display this命令,如存在port-security maximum或port-security enable字段配置,则配置了接口安全MAC学习数量限制,此时可以采取如下操作:
使能端口安全功能后,缺省情况下,接口学习的MAC地址限制数量为1。
- 在接口视图下执行命令undo port-security enable取消端口安全功能。
- 在接口视图下执行命令port-security maximum增加端口安全MAC学习限制数量。
- 在接口/VLAN视图下执行display this命令,如存在mac-address limit maximum字段配置,则配置了MAC学习限制,此时可以采取如下操作:
执行完上述操作后,故障仍然存在,请执行步骤5。
- 检查MAC表项是否已达设备支持的最大规格。
在设备上执行display mac-address summary命令,查看设备目前学习到MAC地址数量是否达到产品支持的规格。
目前设备学习到MAC地址数量达到产品支持的规格,无法继续学习MAC表项,此时执行命令display mac-address查看设备学习的MAC地址表。
- 如果某接口学习到的MAC地址远大于接口所连接网络实际运行的主机数,说明该接口所连接的网络可能有恶意刷新MAC地址表项的攻击存在,此时:
- 如果该接口连接其他设备,则在该接口连接的设备上执行命令display mac-address查看MAC地址学习表项,根据MAC地址学习接口找到可能存在攻击的主机所在的接口。如果查找到的接口还下连其他设备,请重复上述操作直至查找到恶意攻击的主机。
- 如果该接口连接一台主机,可以尝试做如下操作:
- 和管理员确认后先断开该主机,等该主机恶意攻击排除后再接入网络。
- 和管理员确认后在该接口上执行port-security enable命令配置端口安全功能或执行mac-address limit命令配置接口MAC地址学习数量为1。
- 如果接口学习到的MAC地址数量小于等于该接口连接的实际运行的主机数,说明设备接入的主机已经超过了设备支持的规格,请调整网络部署。
- 如果某接口学习到的MAC地址远大于接口所连接网络实际运行的主机数,说明该接口所连接的网络可能有恶意刷新MAC地址表项的攻击存在,此时: