https://www.ciscopress.com/articles/article.asp?p=1181682&seqNum=4 Chapter: Port ACLs (PACLs) and VLAN ACLs (VACLs)
访问控制列表
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃,Cisco IOS 支持以下几种类型的 ACL:
- Router ACL
- Port ACL
- VLAN ACL
Router ACL
https://www.cisco.com/c/m/en_us/techdoc/dc/reference/cli/n5k/commands/ip-access-group.html
路由 ACL 类似于 IOS ACL,用于交换机三层接口的出入流量的过滤,包括接口VLAN、三层 Ethernet 接口以及三层 EtherChannel 接口,路由 ACL 支持标准 ACL 和扩展 ACL。
Port ACL
https://www.cisco.com/c/m/en_us/techdoc/dc/reference/cli/n5k/commands/ip-port-access-group.html
端口 ACL 类似于路由 ACL,但是只支持在交换机二层物理接口的配置,并且只能过滤入站流量。端口 ACL 可配置三种类型:标准、扩展和 MAC 扩展即MAC ACL。端口 ACL 的处理与路由 ACL 的处理类似,交换机检查与给定接口上配置的功能关联的 ACL,并允许或拒绝基于包匹配条件转发数据包。
当应用于 trunk 端口时,ACL 会过滤该端口上所有 VLAN 上的流量。Port ACL 的主要优势是它可以筛选 IP 流量(使用 IP 访问列表)和非 IP 流量(使用 MAC 访问列表)。可以实现这两种类型的筛选,即二层接口可以同时具有 IP 访问列表和 MAC 访问列表。但是 EtherChannel 接口不支持端口 ACL。
VLAN ACL
VLAN ACL也称为VLAN map,用于 VLAN 内桥接、路由到 VLAN 或路由出 VLAN 的所有类型的数据包筛选。与路由 ACL 不同,VACL 不是由方向(输入或输出)定义的。所有进入 VLAN(桥接或路由)的数据包都针对 VACL 进行检查。通过组合 VACL 和专用 VLAN 功能,可以根据流量方向筛选流量。
VACL 是硬件处理的,因此在处理它们时不会降低性能,无论访问列表的大小如何,转发速率都保持不变。
桥接端口上的 VACL
上图说明了当 VACL 应用于 VLAN 5 中主机 A 的桥接端口时处理 VACL 的方式,该端口通过交换机与 VLAN 10 中的主机 B 通信。
路由端口上的 VACL
上图说明了如何在路由数据包和三层交换数据包上应用 IOS ACL 和 VACL。
配置 VACL 示例
Switch(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Switch(config)# access-list 2 permit any
Switch(config)# vlan access-map mymap 10
Switch(config-access-map)# match ip address 1
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# vlan access-map mymap 20
Switch(config-access-map)# match ip address 2
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan filter mymap vlan-list 5-10
Switch(config-access-map)# exit
Switch(config)# show vlan access-map
Vlan access-map "mymap" 10
Match clauses:
ip address: 1
Action:
drop
Vlan access-map "mymap" 20
Match clauses:
ip address: 2
Action:
Forward
Switch(config)# show vlan filter
VLAN Map mymap is filtering VLANs:
5-10