如何使用访问控制列表(ACLS)进行数据包过滤

226 阅读6分钟

使用访问控制列表(ACLS)进行包过滤

由于传入和传出的不需要的和危险的流量,网络往往很脆弱(存在安全风险)。需要一个安全机制来控制流量,并提供一个安全的远程管理访问。我们可以通过限制、允许和拒绝不必要的流量来做到这一点。

本文将介绍如何利用访问控制列表(ACL)通过过滤所有传入和传出的数据包来控制流量。我们使用各种类型的控制列表,我们将介绍如何使用它们来配置路由器接口上的ACL。

前提条件

要继续学习本教程,读者应该。

  • 对如何使用任何网络模拟工具配置网络及其组件有良好的了解。
  • 对基本的网络概念有初步的了解。
  • 知道如何操作Cisco数据包追踪器。

术语

  • 访问控制列表(ACL)是指一组允许/允许或拒绝任何通过路由器的流量的规则。它在第三层工作,通过过滤和控制从一个路由器到另一个路由器的流量来提供安全。

默认情况下,ACL没有配置在路由器上,所以网络用户必须配置每个路由器的接口。

  • 访问控制条目(ACE)是指用于允许或拒绝流量的规则的集合。创建ACL时,必须考虑这些规则的顺序。
  • 流入路由器的流量被称为入口
  • 出口指的是流出路由器的流量。
  • 包过滤是指通过分析流经网络的入口和出口数据包,根据给定的标准转发或丢弃这些数据,从而控制对网络的访问。它发生在OSI model 的第3和第4层。

访问控制列表操作

一旦在一个接口上配置了特定的ACL,它就会遵循一个操作程序来过滤流向路由器的流量。

  • 路由器首先从数据包头中提取源IP地址。

  • 从ACL的顶部开始,路由器将地址与每个访问控制条目(ACE)依次进行比较。

  • 如果发现匹配,路由器就执行允许或阻止该数据包的指令。其他控制条目则不作分析。

  • 如果在控制条目中没有找到匹配项,数据包将被丢弃,因为总有一个隐含的拒绝控制条目自动应用于所有访问控制列表。

访问控制列表类型

有两种类型的访问控制列表:编号的和命名的ACL。

  • 编号的指的是那些用数字指定的ACL。

  • 命名的是使用名称配置的ACL。

命名的和编号的ACL都被分为两类。

  • 标准ACL - 这种类型只根据源IP地址过滤流量。它们的范围是1-99,在最接近目的地的地方实施,以阻止所有的服务,如FTP、HTTP、Telnet。

  • 扩展ACL - 根据源IP、目标IP、协议类型和端口号进行数据包过滤。

它们的范围是100-199,在最接近源头的地方实施,以阻止网络管理员指定的选定数量的服务。

命令访问列表是用来显示可以在路由器接口上配置的可用ACL的。

R1(config)# access-list ?
 <1-99> IP standard access list
 <100-199> IP extended access list
 <1100-1199> Extended 48-bit MAC address access list
 <1300-1999> IP standard access list (expanded range)
 <200-299> Protocol type-code access list
 <2000-2699> IP extended access list (expanded range)
 <700-799> 48-bit MAC address access list
 rate-limit Simple rate-limit specific access list
 template Enable IP template acls
Router(config)# access-list

访问控制列表任务

路由器使用ACL来执行以下任务。

  • 通过限制网络流量来提高网络性能。
  • 对某些网络流量进行优先排序。
  • 定义网络安全访问规则。
  • 流量控制。

访问控制列表的配置

接下来,我们将学习如何创建和配置标准IPv4 ACL,以及它们如何过滤流量。要创建一个命名的标准ACL,我们使用以下全局配置命令。

Router(config)# ip access-list standard access-list-name

例如,我们有一个名为PERMIT-ACCESS的标准类型的访问列表。

R1(config)# ip access-list standard PERMIT-ACCESS
R1(config-std-nacl)# remark ACE permits host 192.168.10.10
R1(config-std-nacl)# permit host 192.168.10.10
R1(config-std-nacl)#

对于编号的ACL,我们使用。

Router(config)# access-list access-list-number {deny | permit | remark text} source [source-wildcard] [log]

例如,我们创建了ACL 10,它允许一个特定的主机进入互联网。

R1(config)# access-list 10 remark ACE permits ONLY host 192.168.10.10 to the internet
R1(config)# access-list 10 permit host 192.168.10.10
R1(config)# do show access-lists
Standard IP access list 10
    10 permit 192.168.10.10
R1(config)#

让我们考虑一下下面的局域网。

CDP-LLDP Network Configuration

我们将创建一个编号的ACL,ACL 20,拒绝主机192.168.10.10,但允许网络192.168.10.0/24上的所有其他主机。

首先配置ACL 20 ACE,使用host 关键字拒绝192.168.10.10的主机,然后创建允许所有其他主机的ACL。

R1(config)#access-list 20 deny host 192.168.10.10
R1(config)#access-list 20 permit 192.168.10.0 0.0.0.255

由于ACL 20只适用于来自LAN 1的流量,因此可以将ACL应用于G0/0/0 R1的接口的传入流量。进入接口G0/0/0模式,应用ACL 20入站,并返回到全局配置模式。

R1(config)#interface g0/0/0
R1(config-if)#ip access-group 20 in
R1(config-if)#exit

然后我们将创建一个命名的标准ACL,允许主机192.168.10.10,但拒绝网络192.168.20.0/24上的所有其他主机。首先,创建一个名为LAN2-FILTER的标准ACL。

R1(config)#ip access-list standard LAN2-FILTER

创建一个ACE,允许主机192.168.10.10,并使用any 关键字拒绝所有其他主机。

R1(config-std-nacl)#permit host 192.168.10.10
R1(config-std-nacl)#deny any
R1(config-std-nacl)#exit

LAN2-FILTER将被应用到LAN2的出站流量上。进入接口G0/0/1模式,应用ACL LAN2-FILTER出站,并返回到全局配置模式。

R1(config)#interface g0/0/1
R1(config-if)#ip access-group LAN2-FILTER out
R1(config-if)#exit

注意:在创建和配置ACL后,你可以在priviledge exec模式下使用show access-listsshow run | section ip access-list 命令来验证你的配置。

要删除一个ACL,请使用no access-list 命令,后面跟上访问列表的名称或编号。例如,no access-list 10 来删除ACL 10。

总结

正如我们所看到的,访问控制列表在流量控制和整个网络的安全方面起着关键作用。这使得网络不容易受到不需要的和危险的流量影响。

综上所述,我们已经。

  • 了解了什么是访问控制列表,它们的操作,以及如何创建和配置它们。
  • 探讨了用于包过滤的不同类型的ACL。
  • 配置了一个网络,创建并配置了标准的命名和编号的ACL。
  • 了解了配置的ACL如何用于允许或拒绝流量。