一、IOS版本的Cisco交換機(二層):
1.Config模式下,配置Mac Access-list
Switch#conf t
Switch(config)#mac access-list extended XXXX
Switch(config-ext-macl)#deny any host MAC-Add
Switch(config-ext-macl)#permit any any
2.找到交換機上相應的上連端口(一般為Trunk口),将Mac Access-list應用上去
Switch(config)#int fa X/X
Switch(config-if)#mac access-group XXXX in
需要注意的地方:因為Cisco的交換機在應用Mac Access-list的時候,隻能在in方向上做mac過濾,而一般我們應用的端口多為上連端口,對于本交換機來說,流量為Out,是以我們如果想要禁用某個二層接入層交換機上的Mac時,隻能采取禁止任何其他的Mac位址通路該Mac的方式。這展現在配置Mac Access-list時,禁止的語句要寫成deny any host MAC-Add,而不是deny host MAC-Add any。
二、Set指令集的Cisco交換機(二層、三層均可):
采用配置Cam filter的方式
set cam static filter MAC-Add VLAN
三、華為交換機:
1.配置Link Acl
<Switch>system-view
[Switch]acl name XXXX link match-order auto
[Switch-acl-link-XXXX]rule ID deny ingress MAC-Add 0000-0000-0000 egress any
[Switch-acl-link-XXXX]rule ID permit ingress any egress any
2.應用Link Acl
[Switch]packet-filter link-group XXXX
華為的Acl是在全局配置下應用的,不需要應用到具體的上連端口,它可以控制單獨MAC的通路方向,不過它沒有host關鍵字,需要用到MAC Addr的反掩碼,如果是單獨一個MAC,則反掩碼是0000-0000-0000。
附錄一:各種交換機下檢視MAC-端口對應關系的指令
IOS版本Cisco交換機:show mac-address-table
Set指令集的Cisco交換機:show cam dynamic
華為交換機:display mac-address
如果某個MAC-Addr顯示對應的端口為上連的Trunk口,則這個MAC-Addr不是本交換機實體接口上學習到的,而是在其他交換機上。
附錄二:各種交換機MAC-Addr的格式
IOS版本Cisco交換機:xxxx.xxxx.xxxx
Set指令集的Cisco交換機:xx-xx-xx-xx-xx-xx
華為交換機:xxxx-xxxx-xxxx