组网图形
基于VLAN限制MAC地址学习简介
交换机控制MAC地址学习数经常使用的方式有两种:基于VLAN限制MAC地址学习数和基于接口限制MAC地址学习数。在客户端不经常变动的办公场所中,通过限制MAC地址学习控制用户的接入,防止黑客伪造大量源MAC地址不同的报文发送到设备后,耗尽设备的MAC地址表项资源。当MAC地址表项资源满后,会导致正常MAC地址无法学习,报文进行广播转发,浪费带宽资源。
与基于接口限制MAC地址学习数相比,基于VLAN限制MAC地址限制数,是以VLAN为维度,一个VLAN内有多个接口需要限制MAC地址学习数时,不需要分别配置。
配置注意事项
- 接口上配置port-security enable后,mac-limit将无法生效,建议不要同时配置端口安全和MAC地址学习限制功能。
- 本举例适用于S系列交换机所有产品的所有版本。
- 框式设备E3S系列、E3L系列、S系列中的SA单板和F系列接口板以及盒式设备(除S5720-EI外),在MAC地址表项达到指定限制数后,不支持丢弃源MAC地址不存在的报文。
组网需求
如图1所示,用户网络1通过LSW1与Switch相连,Switch的接口为GE1/0/1。用户网络2通过LSW2与Switch相连,Switch的接口为GE1/0/2。GE1/0/1、GE1/0/2同属于VLAN 2。为控制接入用户数,对VLAN 2进行MAC地址学习限制。
配置思路
采用如下的思路配置基于VLAN的MAC地址学习限制:
- 创建VLAN,并将接口加入到VLAN中,实现二层转发功能。
- 配置VLAN的MAC地址学习限制,防止MAC地址攻击,控制接入用户数量。
操作步骤
1. 创建VLAN 2,并将接口GE1/0/1和GE1/0/2加入VLAN 2
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 2
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] port link-type trunk //交换机之间的接口类型建议使用trunk
[Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 2 //接口GE1/0/1加入VLAN 2
[Switch-GigabitEthernet1/0/1] quit
[Switch] interface gigabitethernet 1/0/2 //接口GE1/0/2的配置方法和接口GE1/0/1相同
[Switch-GigabitEthernet1/0/2] port link-type trunk
[Switch-GigabitEthernet1/0/2] port trunk allow-pass vlan 2
[Switch-GigabitEthernet1/0/2] qui
2.在VLAN 2上配置MAC地址学习限制规则:最多可以学习100个MAC地址,超过最大MAC地址学习数量的报文继续转发并进行告警提示
[Switch] vlan 2
[Switch-vlan2] mac-limit maximum 100 action forward //各个版本对报文的默认处理动作不一致,这里建议手动指定(对于盒式交换机,仅S5720-EI支持在VLAN视图下配置action参数,其他款型盒式交换机VLAN视图下默认处理动作即为forward,无需配置action参数)。告警功能默认都是打开的,可以不手动指定
[Switch-vlan2] qui
3.验证配置结果
# 在任意视图下执行display mac-limit命令,查看MAC地址学习限制规则是否配置成功。
[Switch] display mac-limit
MAC limit is enabled
Total MAC limit rule count : 1
PORT VLAN/VSI SLOT Maximum Rate(ms) Action Alarm
---------------------------------------------------------------
- 2 - 100 - forward enable
配置文件
Switch的配置文件。
#
sysname Switch
#
vlan batch 2
#
vlan 2
mac-limit maximum 100 action forward
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 2
#
interface GigabitEthernet1/0/2
port link-type trunk
port trunk allow-pass vlan 2
#
retur