交換機控制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