浅谈ACL(访问控制列表)

ACL(访问控制列表)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝。
基本原理为:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。
ACL通过在路由器接口处控制数据包是转发还是丢弃来过滤通信流量。
路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是转发还是丢弃数据包。
ACL有三种类型:
1、标准ACL:根据数据包的源IP地址来允许或拒绝数据包。标准ACL的访问控制列表号是1~99。
2、扩展ACL:根据数据包的源IP地址、目的IP地址、指定协议、端口和标志来允许或拒绝数据包。扩展ACL的访问控制列表号是100~199.
3、命名ACL允许在标准ACL和扩展ACL中使用名称代替表号。
ACL依靠规则对数据包执行检查,而这些规则通过检查数据包中的指定字段来允许或拒绝数据包。ACL通过五个元素来执行检查,这些元素位于IP头部和传输层头部中。他们分别是源IP地址、目标IP地址、协议、源端口及目标端口。

如果对接口应用了ACL,也就是说该接口应用了一组规则,那么路由器将对数据包应用该组规则进行检查

1、如果匹配了第一条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。
2、如果不匹配第一条规则,则依次往下检查,直到有任何一条规则匹配,路由器将决定该数据包允许通过或拒绝通过。
3、如果最后没有任何一条规则匹配,则路由器根据默认规则将丢弃数据包。
所以,数据包要么被允许,要么被拒绝。
在ACL中,各规则的放置顺序也是很重要的。一旦找到了某一匹配规则,就结束比较过程,不再检查以后的其他规则。
创建标准ACL语法:
Router(config)#access-list 1~99 { permit | deny } 源网段地址或网段(若源地址为主机,则在地址前面需要加“host”;若源地址为网段,则要在网段地址后面加反掩码,如/24的反掩码就是0.0.0.255。

例如:Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #表示为允许192.168.1.0/24网段地址的流量通过

Router(config)#access-list 1 permit host 192.168.2.1 #表示为允许主机192.168.2.1的流量通过。

每一个ACL都有一条隐含的拒绝语句,可以拒绝所有流量,所以在做ACL规则时建议以拒绝某个网段或主机的流量通过,然后再允许所有流量通过,如下:

Router(config)#access-list 1 deny host 192.168.1.2 #拒绝192.168.1.2网段的流量通过

Router(config)#access-list 1 permit any #允许所有主机的流量通过

当以上ACL规则应用到接口上时,效果为除了192.168.1.2的流量外都可以通过。

源地址可以用 “any”来表示为所有主机。

删除ACL的规则时,在规则前加“no”即可,如:Router(config)# no access-list 1 #删除表号为1的规则

一个ACL可以配置多条规则,但是一个接口,一个方向只能应用一个ACL。

配置好的ACL规则应用到接口上的语法如下:

Router(config)#int f0/1
Router(config-if)# ip access-list 1 in/out #把表号1的规则应用到进站(in)或出站(out)方向

扩展ACL的配置语法:
语法1:
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #创建一个表号为101的ACL,规则为允许192.168.1.0访问192.168.2.0网段的流量通过

Router(config)# access-list 101 deny ip any any #拒绝所有流量通过

以上规则最终应用到接口上的效果为拒绝除了192.168.1.0访问192.168.2.0的数据包以外的所有数据包通过

语法2:
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #拒绝网络192.168.1.0访问主机192.168.2.2,tcp端口号21的流量通过

Router(config)# access-list 101 permit ip any any #允许所有流量通过

以上扩展ACL的规则为:拒绝网络192.168.1.0访问主机192.168.2.2,tcp端口号21的流量通过,而允许其他任何流量通过。其中命令最后的“eq”为等于XX端口号还有 lt (小于)、gt(大于)、neq(不等于)几个选项。

扩展ACL与标准ACL的区别就是扩展ACL可以基于端口号、目标地址、协议,来更加精准的控制流量是允许还是拒绝通过。
删除扩展ACL的规则的语句和删除标准ACL一致。如:Router(config)# no access-list 101 #删除表号为101的扩展ACL规则

命名ACL的配置
命名ACL在管理及维护方面更加方便,同时也支持友好的名称作为ACL名称,而不局限于使用ACL编号。
配置命名ACL的语法如下:
1、创建命名ACL:

Router(config)# ip access-list { standard | extended } access-list-name

2、如果是标准命名ACL,命令语法如下:

Router(config-std-nacl)# [ Sequence-Number ] { permit | deny } source [ source-wildcard ]

上述语法中Sequence-Number决定ACL语句在ACL列表中的位置

例如:配置规则,允许来自主机192.168.1.1/24的流量通过,而拒绝其他流量,标准命名ACL命令如下:
R1(config)#ip access-list standard test #创建名为test的标准命名ACL
R1(config-std-nacl)#permit host 192.168.1.1 #允许主机192.168.1.1的流量通过
R1(config-std-nacl)#deny any #拒绝其他流量
若退出后还要继续修改规则,可直接在全局模式下执行:Router(config)# ip access-list standard test进入ACL命名ACL组,继续写入如:
Router(config-std-nacl)#15 permit host 192.168.2.1
然后查看:
Standard IP access list cisco
10 permit 192.168.1.1
15 permit 192.168.2.1
20 deny any

若要删除ACL中某条规则的可以执行“no+规则编号”,如想删除上面规则编号为10 的可以执行“no 10”
若要删除上面已建立的命名ACL,命令语法如下:
R1(config)# no ip access-list standard test
创建扩展命名的ACL语法如下:

R1(config)#ip access-list extended test #创建名为test的扩展命名ACL

Router(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #禁止网络192.168.1.0访问主机192.168.2.2的21端口。其中以上命令最后的“eq”命令字的作用是等于XX端口号还有 lt (小于)、gt(大于)、neq(不等于)几个选项。

Router(config-ext-nacl)# permit ip any any #允许所有流量通过

以上规则的作用是禁止192.168.1.0网络访问主机192.168.2.2的21端口,而允许其他任何流量通过。

原文地址:https://blog.51cto.com/14227204/2392577

时间: 2024-10-09 15:42:28

浅谈ACL(访问控制列表)的相关文章

路由器ACL访问控制列表

实验名称:标准访问控制列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器实现全网互连 (2)      配置路由器的访问控制列表 (3)      验证 实验名称:命名标准访问控制列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器实现全网互连 (2)      配置交换机 (3)      验证 实验名称:扩展控制访问列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器,服务器实现全网互连 (2)      配置第一个路由器实现pc

ACL访问控制列表(标准性、扩展性、命名性)

ACL访问控制列表 访问控制列表的工作原理: 出:已经过路由器处理正离开路由器接口的数据包. 入:已达到路由器接口的数据包,将被路由器处理. ACL对数据流的处理流程: 路由器将对数据包进行匹配,路由器将决定该数据包的通过或拒绝,拒绝后将下一跳匹配共匹配三次直到最后拒绝丢弃. ACL类型 标准访问:根据数据包的源iP地址来允许或拒绝.列表号1~99. 扩展访问:根据数据包的源IP地址.目的IP地址.指定协议.端口和标志来允许或拒绝.列表号100~199. 命名访问:允许使用标准访问或扩展访问,用

ACL 访问控制列表

3W1H学习方法(what.why.where.how) What:ACL访问控制列表是应用在路由器接口的质量列表(即规则) Why:为了实现网络安全对数据流量进行控制 Where:路由器.三层交换 原理:ACL是一组规则的集合,它应用在路由器的某个接口上.对路由器而言,是分出站和进站方向的.出站指的是已经过路由器的处理,正离开路由器的数据 包:进站是指,刚刚到达路由器将要处理的数据包.如果对应的接口应用了ACL,也就是说明该接口应用了一组规则,路由器将按照这组规则的顺序对数据包检 查. ACL

标准ACL访问控制列表

首先创建拓扑图如下所示: 第一步:先在R1上面配置两个端口的IP地址和到达10.0网段.20.0网段的静态路由 第二步:在SW上配置中继链路并创建VTP客户模式,然后再把接口加入相应的vlan 第三步:做SWL三层交换的中继链路和VTP服务模式 配置vlan10和vlan20并配置IP地址作为网关使用,还有默认路由 第四步:打开VPCS配置3台PC机的IP地址 第五步:设置ACL访问控制列表语句,要查看设置用show access-lists 应用到相应的接口,注意是in方向还是out方向 用V

配置ACL访问控制列表

ACL访问控制列表理论部分:在学习过程中我们知道了网络的联通和通信,但是在实际环境中网络管理员经常会面临为难的局面,如必须拒绝那些不希望访问的连接,同时又要允许正常的访问.那么这时就诞生了ACL(访问控制列表)下面我们先看看ACL 的原理.1.ACL是使用包过滤技术,在路由器上读取第三层和四层包头的信息,根据预定好的规则进行过滤,达到访问控制的目的2.ACL的三种模式:?标准ACL (根据数据包的源IP地址来允许或者拒绝数据包,表号是1~99)?扩展ACL (根据数据包的源IP地址,目的IP地址

linux 特殊权限chattr(文件系统级别的权限) Attr 权限和 ACL访问控制列表 ...

Attr 权限 和 ACL 访问控制列表 Attr 权限里的 "a" 权限和 "i" 权限 a :全名append only 只允许追加数据,不允许任何用户改动文件(超级用户也不行) 甚至不能正常的删除文件 只能读取文件内容,只能用 "echo" 追加内容 chattr +a xxx #增加 a 权限 chattr -a xxx #取消 a 权限 lsattr #查看权限 [[email protected] /test]# touch abc

ACL访问控制列表——标准IP访问列表(理论+实验)

ACL访问控制列表的功能 1.限制网络流量.提高网络性能2.提供对通信流量的控制手段3.提供网络访问的基本安全手段4.在网络设备接口处,决定哪种类型的通信流量被转发.哪种类型的通信流量被阻塞 ACL的工作原理 1.访问控制列表在接口应用的方向出方向:已经过路由器的处理,正离开路由器接口的数据包入方向:已达到路由器接口的数据包,将被路由器处理列表应用到接口方向与数据方向有关 ACL规则 1. 从上到下依次匹配 2. 一旦被某条ACL匹配,则停止查找 3. 依照上两条规则,ACL的精确或者严格规则写

ACL 访问控制列表(一)

ACL 访问控制列表 access control list (路由器,三层交换) 包过滤防火墙 ACL访问控制列表的类型 标准访问控制列表基于源IP地址过滤数据包标准访问控制列表的访问控制列表号时1~99扩展访问控制列表基于源IP地址.目的IP地址.指定协议.端口和标志来过滤数据包扩展访问控制列表的访问控制列表号是100~199命名访问控制列表命名访问控制列表允许在标准和扩展访问控制列表使用中名称代替表号访问控制列表基于三层(IP)和四层(端口.协议)进行过滤 ACL匹配规则:自上而下 逐条匹

ACL访问控制列表(标准、拓展、命名控制列表)的配置实例

实例一:标准访问控制列表的配置 拓扑图如下: 通过配置标准访问列表,禁止PC1主机访问PC3主机. (1)进行sw的配置如下: SW#configure terminal //进入全局模式 Enter configuration commands, one per line. End with CNTL/Z. SW(config)#no ip routing //关闭路由功能 SW(config)#int f1/0 //进入接口模式 SW(config-if)#speed 100 //设置速率为

普通ACL访问控制列表

配置OSPF R1: R2: R3: R4: 在R1上查看OSPF的学习 测试R1与R4环回接口连通性 配置普通ACL访问控制列表: 先在R4配置密码用R1与R4建立telnet建立 密码huawei 在R4上创建acl 2000的规则 允许1.1.1.1 访问R4 其他不允许 在user-interface vty 0 4上用上acl 2000 规则 下面用R1和R2分别测试对R4的连通性 记得这里用-a参数用1.1.1.1的接口进行连接 下面是R2 ACL基本语法规则:他是按序执行的比如下图