ACL 访问控制列表

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全

简介

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。 

访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。 

访问控制列表从概念上来讲并不复杂,复杂的是对它的配置和使用,许多初学者往往在使用访问控制列表时出现错误。

功能

1)限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理。 

2)提供对通信流量的控制手段。

3)提供网络访问的基本安全手段。

4)在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。 

例如,用户可以允许E- mail通信流量被路由,拒绝所有的Telnet通信流量。例如,某部门要求只能使用WWW这个功能,就可以通过ACL实现;又例如,为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过ACL实现。 

工作原理

①当一个数据报进入一个端口,路由器检查这个数据报是否可路由。 

如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。

如果有,根据ACL中的条件指令,检查这个数据报。

如果数据报是被允许的,就查询路由表,决定数据报的目标端口。

②路由器检查目标端口是否存在ACL控制流出的数据报。

若不存在,这个数据报就直接发送到目标端口。 

若存在,就再根据ACL进行取舍。然后在转发到目的端口。 

总之,一入站数据包,由路由器处理器调入内存,读取数据包的包头信息,如目标IP地址,并搜索路由器的路由表,查看是否在路由表项中,如果有,则从路由表的选择接口转发(如果无,则丢弃该数据包),数据进入该接口的访问控制列表(如果无访问控制规则,直接转发),然后按条件进行筛选。

当ACL处理数据包时,一旦数据包与某条ACL语句匹配,则会跳过列表中剩余的其他语句,根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句测试数据包。该匹配过程会一直继续,直到抵达列表末尾。最后一条隐含的语句适用于不满足之前任何条件的所有数据包。这条最后的测试条件与这些数据包匹配,通常会隐含拒绝一切数据包的指令。此时路由器不会让这些数据进入或送出接口,而是直接丢弃。最后这条语句通常称为隐式的“deny any”语句。由于该语句的存在,所以在ACL中应该至少包含一条permit语句,否则,默认情况下,ACL将阻止所有流量。

分类

标准IP访问列表

一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。 [6] 

扩展IP访问

扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。

命名的IP访问

所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。 

标准IPX访问

标准IPX访问控制列表的编号范围是800-899,它检查IPX源网络号和目的网络号,同样可以检查源地址和目的地址的节点号部分。 

扩展IPX访问

扩展IPX访问控制列表在标准IPX访问控制列表的基础上,增加了对IPX报头中以下几个字段的检查,它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。 

命名的IPX访问

与命名的IP访问控制列表一样,命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表,同样有标准和扩展之分。 

访问控制列表的使用

ACL的使用分为两步: 

(1)创建访问控制列表ACL,根据实际需要设置对应的条件项; 

(2)将ACL应用到路由器指定接口的指定方向(in/out)上。

在ACL的配置与使用中需要注意以下事项: 

(1)ACL是自顶向下顺序进行处理,一旦匹配成功,就会进行处理,且不再比对以后的语句,所以ACL中语句的顺序很重要。应当将最严格的语句放在最上面,最不严格的语句放在底部。

(2)当所有语句没有匹配成功时,会丢弃分组。这也称为ACL隐性拒绝。 

(3)每个接口在每个方向上,只能应用一个ACL。 

(4)标准ACL应该部署在距离分组的目的网络近的位置,扩展ACL应该部署在距离分组发送者近的位置。

应用

ACL可以应用于多种场合,其中最为常见的应用情形如下:

1、过滤邻居设备间传递的路由信息。

2、控制交换访问,以此阻止非法访问设备的行为,如对 Console接口、 Telnet或SSH访问实施控制。

3、控制穿越网络设备的流量和网络访问。 

4、通过限制对路由器上某些服务的访问来保护路由器,如HTP、SNMP和NIP等。

5、为DDR和 IPSeC VPN定义感兴趣流。 

6、能够以多种方式在IOS中实现QoS(服务质量)特性。 

7、在其他安全技术中的扩展应用,如TCP拦截和IOS防火墙。


设备编制方案:

设备名称

设备接口

IP地址/子网掩码

默认网关

PC1

e0

10.1.1.1/24

10.1.1.3

PC2

e0

10.1.1.2/24

10.1.1.3

PC3

e0

50.1.1.1/24

50.1.1.3

PC4

e0

50.1.1.2/24

50.1.1.3

PC5

e0

40.1.1.1/24

40.1.1.3

PC6

e0

40.1.1.2/24

40.1.1.3

SW1

——

——

——

SW2

——

——

——

SW3

——

——

——

R1

f0/0

10.1.1.3/24

——

f0/1

20.1.1.1/24

R2

f0/0

20.1.1.2/24

——

f0/1

30.1.1.1/24

f1/0

50.1.1.3/24

R3

f0/0

30.1.1.2/24

——

f0/1

40.1.1.3/24

设备拓扑图如下:

设备基础配置命令:

PC1

PC2

PC3

PC4

PC5

PC6

R1

R2

R3

配置动态路由使得全网互通

R1

R2

R3

验证10网段与40网段和50网段的连通性

验证50网段与10网段和40网段的连通性

验证40网段与10 网段和50网段的连通性

ACL配置实验要求:

  1. 要求10网段禁止访问整个50网段,访问其他不受限制!

用10网段ip ping 50网段ip,10网段地址ping40网段地址验证

  1. 要求40.1.1.1PC禁止访问50网段,其它访问均不受影响

用40.1.1.1PC机 访问50网段主机,10网段主机验证验证

  1. 要求10.1.1.1禁止访问40网段,其他不受影响!

用10.1.1.1 PC机ping 40网段主机、50网段主机验证

同10网段的PC2 可以连通其他网段主机

总结:

ACL是一组规则的集合,应用在路由器的某个接口上。

 ACL的两个方向:

         出(out),已经进过路由器出来,正离开路由器接口的数据包

         入(in),已到达路由器接口的数据包,将被路由器处理。

 ACL,检查如果不匹配将继续往下检查,如果有任何一条匹配路由器将允许该数据包  

 通过不在检查,如果没有任何一条匹配则丢弃。要注意ACL的顺序。

 

  • 20
    点赞
  • 203
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值