前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ACL概述

ACL概述

作者头像
阿七日记
发布2021-12-28 10:14:31
1.8K0
发布2021-12-28 10:14:31
举报
文章被收录于专栏:阿七日记阿七日记

ACL概述

Access Control List-------访问控制列表 ACL重要级别:高!

ACL的作用

ACL是一种包过滤技术(可以理解为数据包传递途中的安保系统),是防火墙的重要组成部分之一!

ACL的应用场景

1、路由器:就叫ACL技术 2、防火墙:一般不叫ACL,一般称为策略

ACL和策略的区别

1、策略就是升级版的ACL。 2、ACL可以基于源ip,目的ip,端口号(源和目的),协议等对数据包做过滤。 3、策略可以基于mac地址,源ip,目的ip,端口,协议,应用层数据等对数据包做过滤。

ACL的分类

标准ACL

标准---Standard 表号:1-99或1300-1999 特点:只能基于源ip地址对包进行过滤。

扩展ACL

扩展---Extended 表号:100-199或2000-2699 特点:可以基于源IP地址,目的IP地址,目标和源端口号,协议等对包进行过滤。

ACL表的组成:

代码语言:javascript
复制
表号
条件1(过滤依据),动作1(允许通过或者拒绝通过)
条件2(过滤依据),动作2(允许通过或者拒绝通过)
条件3(过滤依据),动作3(允许通过或者拒绝通过)

当一个数据包通过的时候,会从上往下检查每一个条件,匹配到条件就停止检查,否则就一直向下匹配到最后一个条件为止。

ACL的过滤原理

ACL的原理

1、一个接口有2个方向,in和out,ACL表必须应用到接口的某个方向,才能生效! 2、一个接口的一个方向只能应用一张表! 3、如果使用标准ACL控制过滤流量,必须写在靠近目标端的端口!扩展ACL写流量的路径中的任意地方都可以,具体需要看通信需求! 4、在所有的ACL表中,最后永远有一条默认的隐藏的”拒绝所有“条目! 5、ACL在匹配规则时,是严格自上而下匹配每一条!如匹配成功某一条,则完成指定动作;如没有匹配成功某一条,则继续匹配下一条;如匹配完所有条件但依然没有匹配成功,则选择拒绝,丢弃该数据包(因为默认隐藏的拒绝所有规则生效)。(所以写好ACL条目的顺序是完成访问控制的关键) 6、 默认情况下,一张ACL表一旦创建后,不能删除某一条,也不能往中间插入新的条目,只能继续在表的后方追加新的条目!(所以如果ACL需要做修改时需要删除ACL重新编写一个新的ACL表,使用no access-list {表号}可以完成删除。)

扩展ACL编写要领

1、定位访问的源头和目标都是什么对象; 2、确定访问需求中,允许通过的数据流多还是不允许通过的数据流多,如果允许流量多,就最后一条设置全部允许规则,在最上方定制化拒绝的规则。如果拒绝流量多,就最后一条设置全部拒绝规则,在最上方定制化允许的规则。 3、最后需要将ACL表应用到指定路由器的指定接口的某个方向上,才能生效。 问题:公司所有人禁止访问财务部所有PC,只能访问服务器70.1.1.100,但是不能访问该服务器的445端口,ACL表当中的规则应该如何编写? 两条acl规则: 第一条---源:any,目标:70.1.1.100,目标端口:445,动作:拒绝 第二条---源:any,目标:70.1.1.100,动作:允许

ACL命令

基本命令

将ACL表应用到接口某个方向上

代码语言:javascript
复制
int f0/1
ip access-group {表号} in/out

查看ACL表

代码语言:javascript
复制
show ip access-list

删除ACL表

代码语言:javascript
复制
no access-list {表号}

标准ACL命令

代码语言:javascript
复制
conf t
access-list {表号} permit/deny 条件
如:access-list 1 deny 192.168.1.0 0.0.0.255 #表号:1-99 条件内容:源ip和反子网掩码 反子网掩码:0.0.0.255 0代表严格匹配,255代表不需要匹配

例如1:
access-list 1 deny 192.168.1.0 0.255.255.255 #丢弃所有源ip是192开头的数据包
例如2:
access-list 1 deny 0.0.0.0 255.255.255.255 #丢弃所有数据包
例如3:
access-list 1 deny 192.168.1.88 0.0.0.0 #丢弃源ip为192.168.1.88的数据包

厂商支持简写:
简化1:
access-list 1 deny 0.0.0.0 255.255.255.255
access-list 1 deny any

简化2:
access-list 1 deny 192.168.1.88 0.0.0.0
access-list 1 deny host 192.168.1.88

扩展ACL命令

代码语言:javascript
复制
conf t
access-list {表号} permit/deny {条件}
命令细化参数如下:
access-list {表号} permit/deny {协议} 源ip 反子网掩码 目标ip 反子网掩码 [eq 端口号]
#表号为100-199,协议为TCP/UDP/IP/ICMP,eq:等于,gt:大于,lt:小于,ge:大于等于,le:小于等于
代码语言:javascript
复制
案例:
acc 100 deny tcp 10.1.1.0 0.0.0.255 70.1.1.0 0.0.0.255 eq 80 #丢弃10.1.1.0网段发出的访问70.1.1.0网段80端口服务的数据包(http访问控制)

acc 100 deny icmp 10.1.1.0 0.0.0.255 70.1.1.0 0.0.0.255 #禁止10.1.1.0网段ping70.1.1.0网段

acc 100 permit ip any any #允许所有数据包

错误案例:
acc 100 deny ip 10.1.1.0 0.0.0.255 70.1.1.0 0.0.0.255 eq 80 #端口号只能和TCP/UDP协议搭配使用,不能搭配其他协议,因为端口号只存在于传输层

扩展ACL100 1、源:any 目标:70.1.1.100 目标端口:80 动作:permit 2、源:any 目标:70.1.1.100 动作:deny 3、源:any 目标:any 动作:permit

代码语言:javascript
复制
acc 100 permit tcp 0.0.0.0 255.255.255.255 70.1.1.100 0.0.0.0 eq 80
acc 100 deny ip 0.0.0.0 255.255.255.255 70.1.1.100 0.0.0.0
acc 100 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255

简化后的写法:
acc 100 permit tcp any host 70.1.1.100 eq 80
acc 100 deny ip any host 70.1.1.100
acc 100 permit ip any any

命名ACL

命名ACL优点1: 作用:可以为标准和扩展两种ACL进行自定义命名,也就是可以用字母当做表名,不用非得用数字来表达。 方法:

代码语言:javascript
复制
conf t
ip access-list standard/extended {自定义表名}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ACL概述
    • ACL的作用
      • ACL的应用场景
        • ACL和策略的区别
        • ACL的分类
          • 标准ACL
            • 扩展ACL
              • ACL表的组成:
              • ACL的过滤原理
                • ACL的原理
                  • 扩展ACL编写要领
                  • ACL命令
                    • 基本命令
                      • 标准ACL命令
                        • 扩展ACL命令
                        • 命名ACL
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档