当前位置: 华文世界 > 数码

配置基于VLAN的MAC地址学习限制

2024-03-10数码

交换机控制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