访问控制列表(ACL)如何配置?
访问控制列表(ACL)的配置,需要先明确其基本概念和分类,然后按照创建 ACL、定义规则、应用到接口等步骤进行操作。在配置过程中,要注意规则的顺序、匹配条件以及与网络拓扑的适配性 。
一、访问控制列表基础(一)定义与作用访问控制列表(Access Control List,ACL)是一种网络安全技术,它通过在路由器、交换机等网络设备上设置一系列规则,对进出网络接口的数据包进行过滤和控制 。ACL 的主要作用是限制网络访问,提高网络安全性,同时也可以用于优化网络流量,提高网络性能 。在企业网络中,通过 ACL 可以限制员工访问某些特定的网站或网络资源,防止数据泄露和网络攻击 ;在家庭网络中,也可以利用 ACL 限制某些设备的上网时间或访问权限 。(二)分类1.标准 IP ACL:标准 IP ACL 主要基于源 IP 地址来过滤数据包,其编号范围在 1 - 99 和 1300 - 1999 之间 。如果只想限制某个部门的计算机访问外部网络,就可以使用标准 IP ACL,通过设置源 IP 地址为该部门计算机的 IP 地址范围,来阻止它们访问外部网络 。2.扩展 IP ACL:扩展 IP ACL 不仅可以基于源 IP 地址,还可以基于目的 IP 地址、源端口、目的端口、协议类型等多种条件来过滤数据包,其编号范围在 100 - 199 和 2000 - 2699 之间 。在企业网络中,如果要限制员工访问外部的 FTP 服务器,就可以使用扩展 IP ACL,设置源 IP 地址为企业内部网络地址范围,目的 IP 地址为 FTP 服务器的 IP 地址,协议类型为 TCP,目的端口为 21(FTP 服务器默认端口) 。3.其他类型:除了标准 IP ACL 和扩展 IP ACL,还有其他类型的 ACL,如 AppleTalk ACL(编号范围 600 - 699)、IPX ACL(编号范围 800 - 899)等,它们用于特定协议的访问控制 。在使用 AppleTalk 协议的网络环境中,就可以使用 AppleTalk ACL 来控制网络访问 。
二、配置步骤(一)创建 ACL1.确定 ACL 类型和编号:根据实际需求,选择合适的 ACL 类型,并确定其编号 。如果只是基于源 IP 地址进行过滤,就选择标准 IP ACL,并在其编号范围内选择一个未使用的编号 ;如果需要基于多种条件进行过滤,就选择扩展 IP ACL,并选择相应编号 。2.进入配置模式:在网络设备的命令行界面中,进入全局配置模式 。在 Cisco 路由器中,使用 “configure terminal” 命令进入全局配置模式 ;在华为路由器中,使用 “system - view” 命令进入系统视图 。3.创建 ACL:在全局配置模式下,使用相应的命令创建 ACL 。在 Cisco 路由器中,创建标准 IP ACL 的命令为 “access - list access - list - number {permit | deny} source [source - wildcard]”,创建扩展 IP ACL 的命令为 “access - list access - list - number {permit | deny} protocol source [source - wildcard] destination [destination - wildcard] [operator [port]]” ;在华为路由器中,创建标准 IP ACL 的命令为 “acl number acl - number”,然后使用 “rule {rule - id | precedence precedence} {deny | permit} source {source - address source - wildcard | any}” 命令定义规则,创建扩展 IP ACL 的命令为 “acl number acl - number”,然后使用 “rule {rule - id | precedence precedence} {deny | permit} protocol source {source - address source - wildcard | any} destination {destination - address destination - wildcard | any} [destination - port operator port1 [port2]]” 命令定义规则 。(二)定义规则1.确定匹配条件:根据实际需求,确定 ACL 的匹配条件 。匹配条件可以是源 IP 地址、目的 IP 地址、源端口、目的端口、协议类型等 。如果要限制某个 IP 地址访问某个 Web 服务器,匹配条件就可以设置为源 IP 地址为该 IP 地址,目的 IP 地址为 Web 服务器的 IP 地址,协议类型为 TCP,目的端口为 80(Web 服务器默认端口) 。2.设置规则动作:在确定匹配条件后,设置规则的动作,即允许(permit)或拒绝(deny)匹配的数据包通过 。如果希望阻止某个 IP 地址访问 Web 服务器,就设置规则动作为 deny ;如果允许某个 IP 地址访问 Web 服务器,就设置规则动作为 permit 。3.添加规则:在创建好的 ACL 中,按照从上到下的顺序添加规则 。需要注意的是,ACL 的规则是按照顺序进行匹配的,一旦某个数据包匹配到了某条规则,就不再继续匹配后面的规则 。因此,要将严格限制条件的语句放在访问列表所有语句的最上面 。在 Cisco 路由器中,使用 “access - list access -list - number {permit | deny}...” 命令添加规则 ;在华为路由器中,使用 “rule {rule - id | precedence precedence} {deny | permit}...” 命令添加规则 。(三)应用到接口1.选择接口:确定要应用 ACL 的网络接口 。可以是路由器的物理接口,也可以是交换机的 VLAN 接口 。在企业网络中,通常会在连接外部网络的路由器接口上应用 ACL,以控制进出企业网络的流量 。2.进入接口配置模式:在网络设备的命令行界面中,进入要应用 ACL 的接口配置模式 。在 Cisco 路由器中,使用 “interface interface - type interface - number” 命令进入接口配置模式 ;在华为路由器中,使用 “interface interface - type interface - number” 命令进入接口视图 。3.应用 ACL:在接口配置模式下,使用相应的命令将创建好的 ACL 应用到接口上 。在 Cisco 路由器中,应用入站 ACL 的命令为 “ip access - group access - list - number in”,应用出站 ACL 的命令为 “ip access - group access - list - number out” ;在华为路由器中,应用入站 ACL 的命令为 “traffic - filter inbound acl acl - number”,应用出站 ACL 的命令为 “traffic - filter outbound acl acl - number” 。
三、配置实例(一)标准 IP ACL 配置实例假设一个企业网络,内部网络地址为 192.168.1.0/24,现在要限制 192.168.1.100 这个 IP 地址访问外部网络 。1.创建 ACL:在 Cisco 路由器中,进入全局配置模式,使用命令 “access - list 1 deny host 192.168.1.100” 创建一个标准 IP ACL,编号为 1,规则为拒绝 192.168.1.100 这个 IP 地址 ;然后使用命令 “access - list 1 permit any” 添加一条允许其他所有 IP 地址的规则 。在华为路由器中,进入系统视图,使用命令 “acl number 1” 创建一个标准 IP ACL,编号为 1 ;然后使用命令 “rule 5 deny source 192.168.1.100 0” 拒绝 192.168.1.100 这个 IP 地址,使用命令 “rule 10 permit source any” 允许其他所有 IP 地址 。2.应用到接口:假设连接外部网络的接口为 GigabitEthernet0/0/0,在 Cisco 路由器中,进入该接口配置模式,使用命令 “ip access - group 1 out” 将 ACL 应用到该接口的出站方向 ;在华为路由器中,进入该接口视图,使用命令 “traffic - filter outbound acl 1” 将 ACL 应用到该接口的出站方向 。(二)扩展 IP ACL 配置实例假设一个企业网络,内部网络地址为 192.168.1.0/24,现在要限制内部网络访问外部的 FTP 服务器(IP 地址为 202.100.1.100,端口为 21) 。1.创建 ACL:在 Cisco 路由器中,进入全局配置模式,使用命令 “access - list 101 deny tcp 192.168.1.0 0.0.0.255 host 202.100.1.100 eq 21” 创建一个扩展 IP ACL,编号为 101,规则为拒绝内部网络(192.168.1.0/24)访问外部 FTP 服务器(202.100.1.100:21) ;然后使用命令 “access - list 101 permit ip any any” 添加一条允许其他所有 IP 地址和协议的规则 。在华为路由器中,进入系统视图,使用命令 “acl number 3001” 创建一个扩展 IP ACL,编号为 3001 ;然后使用命令 “rule 5 deny tcp source 192.168.1.0 0.0.0.255 destination 202.100.1.100 0.0.0.0 destination - port eq 21” 拒绝内部网络访问外部 FTP 服务器,使用命令 “rule 10 permit ip source any destination any” 允许其他所有 IP 地址和协议 。2.应用到接口:假设连接外部网络的接口为 GigabitEthernet0/0/0,在 Cisco 路由器中,进入该接口配置模式,使用命令 “ip access - group 101 out” 将 ACL 应用到该接口的出站方向 ;在华为路由器中,进入该接口视图,使用命令 “traffic - filter outbound acl 3001” 将 ACL 应用到该接口的出站方向 。
四、配置注意事项(一)规则顺序ACL 的规则是按照从上到下的顺序进行匹配的,因此要将严格限制条件的语句放在访问列表所有语句的最上面 。如果将允许所有的规则放在前面,那么后面的限制规则将永远不会被匹配到,从而导致 ACL 无法正常工作 。(二)隐含规则在 ACL 的最后,通常有一条隐含的规则:deny any 。这意味着如果一个数据包没有匹配到前面的任何规则,就会被拒绝 。因此,在配置 ACL 时,一定要确保至少有一条允许语句,否则所有的数据包都会被拒绝 。(三)双向过滤在配置 ACL 时,要考虑是否需要双向过滤 。如果只在入站方向或出站方向配置了 ACL,可能无法达到预期的安全效果 。在限制内部网络访问外部网络的同时,也可能需要限制外部网络访问内部网络,这时就需要在入站和出站方向都配置相应的 ACL 。(四)测试与验证在配置完 ACL 后,一定要进行测试和验证,确保 ACL 的配置正确,达到了预期的安全效果 。可以使用 ping、traceroute 等命令测试网络连通性,也可以使用抓包工具查看数据包的过滤情况 。如果发现问题,要及时调整 ACL 的配置 。
拓展阅读-ACL 可以过滤哪些类型的网络流量:ACL 可以过滤 IP、TCP、UDP、ICMP 等多种类型的网络流量,通过设置不同的匹配条件,如源 IP、目的 IP、协议类型、端口号等,来实现对特定网络流量的过滤 。-如何查看已配置的 ACL 信息:在 Cisco 路由器中,可以使用 “show access - lists” 命令查看所有已配置的 ACL 信息;在华为路由器中,可以使用 “display acl all” 命令查看所有已配置的 ACL 信息 。-ACL 与防火墙有什么区别:ACL 主要用于网络设备(如路由器、交换机)上对数据包进行过滤,侧重于网络层和传输层的访问控制;防火墙则是一种更全面的网络安全设备,除了具备 ACL 的功能外,还可以进行入侵检测、防病毒、内容过滤等,保护网络免受各种攻击 。