一、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#conf t
   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>system-view
   [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