默认情况下路由器不会过滤流量。 传输到路由器的流量根据路由表中的信息独立路由。

数据包过滤通过分析传入和传出的数据包并根据条件传递或丢弃数据包,从而控制网络访问,例如源 IP 地址、目的 IP 地址和数据包内传输的协议。 数据包过滤路由器使用特定规则确定是允许还是拒绝流量。 路由器还可以在第 4 层(传输层)过滤数据包。

ACL 是一系列 permit 或 deny 语句组成的顺序列表。 ACL 的最后一条语句通常是拦截所有流量的隐式 deny 语句。 为了防止 ACL 末尾的隐式 deny any 语句拦截所有流量,可以添加 permit ip any any 语句。

当网络流量经过配置了 ACL 的接口时,路由器会将数据包中的信息与每个条目按顺序进行比较,以确定数据包是否匹配其中一条语句。 如果找到匹配项,就将数据包进行相应的处理。

ACL 要么配置用于入站流量,要么用于出站流量。

标准 ACL 可以用于允许或拒绝仅来自源 IPv4 地址的流量。 它不涉及数据包的目的地址和相应的端口。 放置标准 ACL 的基本规则是使其接近目标。

扩展 ACL 根据多种属性过滤数据包:协议类型、源或目的 IPv4 地址以及源或目的端口。 放置扩展 ACL 的基本规则是将其置于尽量靠近源地址的位置。

access-list 全局配置命令使用 1 到 99 范围内的一个数字定义标准 ACL,或使用 100 到 199 之间或 2000 到 2699 之间的数字定义扩展 ACL。 标准 ACL 和扩展 ACL 也可以命名。 ip access-list standard name 用于创建标准命名 ACL,而 ip access-list extended name 命令用于创建扩展访问列表。 IPv4 ACE 包括通配符掩码。

配置 ACL 之后,可以在接口配置模式下使用 ip access-group 命令将其关联到接口。 记住三 P 原则,即每种协议、每个方向、每个接口一个 ACL。

要从接口上删除 ACL,首先在接口上输入 no ip access-group 命令,然后输入全局命令 no access-list 删除整个 ACL。

show running-config show access-lists 命令用于检验 ACL 配置。 show ip interface 命令用于检验接口上应用的 ACL 及其应用方向。

线路配置模式中配置的 access-class 命令可限制特定 VTY 与访问列表中地址之间的传入和传出连接。

与 IPv4 命名 ACL 相同,IPv6 名称使用字母数字字符、区分大小写,并且必须是唯一的。 与 IPv4 不同,无需标准或扩展选项。

在全局配置模式下,使用 ipv6 access-list name 命令创建一个 IPv6 ACL。 不同于 IPv4 ACL,IPv6 ACL 不使用通配符掩码。 相反,它使用前缀长度来表示应匹配的 IPv6 源地址或目的地址数量。

配置 IPv6 ACL 后,可以使用 ipv6 traffic-filter 命令将其与接口建立链接。