VLAN ACL(VLAN map)是使用在VLAN与VLAN之间的ACL,相同VLAN也是可以过滤的,只要流量是进入或离开指定的VLAN,都会被过滤,可以同时控制二层与三层流量。准确地讲,VLAN ACL并不是一个ACL,只是一个能调用ACL到VLAN的技术,只要被调用的ACL支持什么功能,那么VLAN ACL就支持什么功能。当需要控制IPv4 流量时,VLAN ACL需要调用IP ACL,而其它流量则需要靠调用MAC ACL。当应用VLAN ACL后,进入或离开VLAN的流量都会被检测,无论是通过二层转发的还是三层转发的。而VLAN ACL是不能定义方向的,所以所有经过指定VLAN的流都都会被过滤到。VLAN ACL根据所调用的ACL匹配到的流量,来做出是转发还是丢弃的动作,当被调用的ACL匹配到流量后,默认动作是转发,可以改为丢弃,而没有被匹配到的流量,默认也全部丢弃。

Port ACL优先于任何ACL。

说明:

★Port ACL支持标准,扩展ACL和MAC ACL,也就是支持所有类型ACL。

★接口上可同时应用IP和MAC ACL,而MAC ACL是不能过滤IP流量的。

★Router ACL可用在SVI,三层接口,或3层EtherChannel,每个接口每个方向只能使用一个。

★在配置IP ACL 时,可以使用数字,也可以使用名字,而命名ACL的好处是可以删除单条ACL语句,而数字ACL则不可以,只能删除整条ACL。

★交换机上不支持Dynamic ACL和Reflexive ACL。

★VLAN ACL是不能定义方向的,也就相当于会在两个方向上同时生效,所以在配置VLAN ACL时,所以请注意所写的ACL一定要考虑来回两个方向,否则只匹配到单向的流量,另外一方向可能被丢掉。

★一个VLAN ACL可以用于多个VLAN,但一个VLAN只能使用一个VLAN ACL。

★被ACL拒绝的ICMP,ACL将向源发送ICMP-unreachable。


配置MAC ACL

说明:在VLAN或2层接口上过滤非IP流量,3层接口上不能使用MAC ACL。

(1)定义MAC ACL:

sw1(config)#mac access-list extended ccie

sw1(config-ext-macl)#deny host 0001.0001.0001 host 0002.0002.0002 netbios

sw1(config-ext-macl)#permit any any

说明:拒绝源MAC为0001.0001.0001发送到MAC为  0002.0002.0002的netbios

流量,并允许其它所有,MAC ACL匹配的协议为非IP 协议,协议可以不指定。

(2)应用MAC ACL

sw1(config)#int f0/1

sw1(config-if)#mac access-group ccie in

说明:在二层接口F0/1上使用,并且只能应用于in 方向。因为MAC ACL只能过

滤非IP流量,所以难以用实验来验证效果。



VLAN ACL(VLAN MAP):

创建各ACL

sw1(config)#access-list 111 permit ip host 10.1.1.4 host 10.1.1.1        

sw1(config)#access-list 111 permit ip host 10.1.1.1 host 10.1.1.4

sw1(config)#access-list 112 permit ip host 10.1.1.4 host 10.1.1.2    

sw1(config)#access-list 112 permit ip host 10.1.1.2 host 10.1.1.4


创建VLAN MAP:

sw1(config)#vlan access-map ccie 10

sw1(config-access-map)#match ip address 111

sw1(config-access-map)#exit

sw1(config)#vlan access-map ccie 20

sw1(config-access-map)#match ip address 112

sw1(config-access-map)#action drop

sw1(config-access-map)#exit

说明:设置ACL 111的流量为默认动作(允许转发),ACL 112的流量被明确丢弃,其它不匹配。

应用VLAN ACL:

sw1(config)#vlan filter ccie vlan-list 1

说明:将VLAN ACL应用于VLAN 1,也可以应用于多个VLAN,但不能设置方向。