• 访问控制列表


    目录

    ACL

    ACL原理

    ACL包过滤方式

    ACL通用命令

    查看ACL表命令

    删除整张表命令

    接口配置ACL

    ACL分类

    标准ACL 

    标准ACL的动作与条件

    通配符掩码

    扩展ACL

    扩展ACL的动作与条件

    命名ACL

    前言

    书写方式

    ACL

    含义:访问控制列表,其是一种包过滤技术,主要实现了对访问资源的控制。

    注意:

    • ACL基于IP包头中的IP地址、四层TCP/IP头部的端口号(这里路由器破例可以参与四层工作)
    • ACL在路由器上的接口处配置,也可以在防火墙上配置(在防火墙上配置的一般称为策略)

    ACL原理

    • ACL表必须应用到接口的进或出方向才能生效
    • 一个接口的一个方向(进口/出口)仅能应用一张ACL表
    • 进出方向的配置取决于流量控制的总方向
    • ACL表是严格按照自上而下检查每一条策略,所以要注意书写顺序
    • 每一条ACL条目由条件和动作组成,当某流量没有满足某条件,则继续检查下一条
    • 所有ACL策略的末端默认有一条隐藏的拒绝所有策略,这个策略我们不用写。

    ACL包过滤方式

    当一个包来了之后,该包的特征若和条件特征完全吻合,那么就不会往后继续检查进而执行后面动作(放行或阻止),若有一丁点不吻合,则该条策略不起作用,进而检查下一条策略。

    总结:层层过滤,层层放行。

    ACL通用命令

    查看ACL表命令

    进入特权模式

    show ip access-list [表号]

    注意:这里面可以看到表条目的编号,该编号在命名ACL里面会有用。

    删除整张表命令

    进入全局模式

    no access-list 表号

    接口配置ACL

    进入接口配置模式

    在接口配置ACL:ip access-group 表号 in/out

    将ACL从接口取出:no ip access-group 表号 in/out

    注意:最后的in/out指明了该表应用在接口的进口还是出口方向上

    ACL分类

    前言

    • 我们想要在路由器上过滤时,首先我们要在路由器上创建一张ACL表
    • 当在路由器上创建一个标准ACL时,必须要首先指定标准ACL表的名字(表号)
    • ACL表主要有标准ACL和扩展ACL
    • 标准ACL的表号范围为1-99;扩展ACL表号范围为100-199
    • 在一个路由器上表号不能相同,在多个路由器上表号可以相同

    进入全局配置模式

    ACL语法:access-list 表号 动作与条件

    注意:

    • 上面着个语法适用于所有种类ACL
    • 不同ACL编写语法的不同也就是后面的动作与条件书写方式的不同
    • 若路由器没有ACL表则执行以上命令会创建一张表并为表增加该条目,若有了该表,则执行以上命令就会为该表添加一个表条目

    标准ACL 

    前言:标准ACL只能基于源IP对包进行过滤,其表号范围为1-99.

    标准ACL的动作与条件

    语法:动作 源IP/源网段范围

    动作

    • 允许:permit
    • 否决:deny

    源IP/源网段范围

    • host IP地址:仅对某一个主机的源IP进行匹配(类似于——IP地址 0.0.0.0)
    • 源IP/源网段 通配符掩码:匹配某一网段的范围或IP地址的数据包
    • any:所有的范围的源IP进行匹配(类似于——IP地址 255.255.255.255)

    通配符掩码

    通配符掩码作用:用来匹配网段或IP地址,与0对应的需要严格匹配,与1对应的忽略,其主要用于控制该网段或IP地址包的过滤。

    具体案例

    源IP为10.1网段的包都进行阻止:access-list 1 deny 10.1.3.1 0.0.255.255

    源IP为10.1.3.1IP地址的包都进行放行

    • 普通写法:access-list 1 permit 10.1.3.1 0.0.0.0
    • 简化写法:access-list 1 permit host 10.1.3.1

    所有数据包都进行阻止

    • 普通写法:access-list 1 deny 10.1.3.1 255.255.255.255
    • 简化写法:access-list 1 deny any

    扩展ACL

    前言:扩展ACL可以基于源IP、目标IP、目标端口号、协议等来对包进行过滤,其表号范围为100-199

    扩展ACL的动作与条件

    语法:动作 协议 源IP/源网段范围 目标IP/目标网段范围 [逻辑符号 目标端口号]

    动作

    • 允许:permit
    • 否决:deny

    IP/网段范围

    • host IP地址:仅对某一个主机的IP进行匹配(类似于——IP地址 0.0.0.0)
    • IP/网段 通配符掩码:匹配某一网段的范围或IP地址的数据包
    • any:所有的范围的IP进行匹配(类似于——IP地址 255.255.255.255)

    注意:

    • 协议类型:tcp/udp/icmp/ip(若后面加端口号,则前面协议仅有2个选择——tcp/udp)
    • 逻辑符号:(eq:等于、gt:大于:lt:小于)主要用来匹配范围端口
    • 目标端口号可以不写,但其他的条件必须写
    • 若只满足其中的一点条件,那么不叫满足这个条件,只有来的数据包所有特征和这里面的条目完全吻合,才被称为满足条件,才会执行相应的动作

    具体案例

    10.1.1.1访问20.1.1.3中80端口的tcp数据都放行

    access-list 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80

    放行所有ip数据包

    access-list 100 permit ip any any

    命名ACL

    前言

    • 一般情况下,标准或扩展ACL一旦编写好,那么就无法修改某一条,也无法删除某一条,甚至无法修改顺序,只能一直在最后添加新的条目。
    • 在标准或扩展ACL中若想修改、插入、删除,只能删除整张表
    • 之前我们通过表号对ACL进行命名,但是当我们在一台设备上起的表非常多的时候,我们不能很快的通过表号判断该表的作用,这就用到了命名ACL

    命名ACL作用:可以对标准/扩展ACL进行自定义命名,也可以通过命名ACL对标准/扩展ACL进行条目的增删改操作。

    优点:

    • ACL自定义命名更容易辨认,也便于记忆
    • 可以任意修改某一条,或删除某一条,也可以往中间插入某一条

    书写方式

    进入全局配置模式

    创建/进入一张ACL表:ip access-list 表类型 ACL表名称

    进入了扩展ACL配置模式

    在扩展ACL配置模式下书写动作与条件

    删除ACL条目:no ACL条目编号

    插入ACL条目:ACL条目编号 动作与条件

    表类型

    • standred:标准ACL
    • extended:扩展ACL

    ACL条目编号

    前言:下面的10、20、30就是ACL条目编号(在其中可以插入个位级的条目编号)

    注意:

    • 在创建ACL表时,表名称可以随意书写。
    • 在特定的表类型的情况下仅能书写特定的动作与条件
    • 命名ACL可以修改已经创建好ACL表的标准或扩展ACL,只需要通过表号作为表名称进入该表即可
    • 命名ACL不属于ACL分类中的一种

  • 相关阅读:
    【Swift 60秒】50 - Returning values from a closure
    【通信系列4 -- 基站定位】
    基于机智云物联网平台与4G DTU远程车库门
    UVM学习笔记—快速入门篇
    Linux下Qt启、停“.sh”脚本文件及获取终端打印信息
    【深度学习】argparse模块一些学习心得体会(2)| parser.parse_known_args() |位置参数 可选参数
    基于频谱的GCN的数学原理
    时态图根据时间轴动态播放热力图
    石油数字孪生可视化管理平台,推动石油行业数字化转型与智能化应用
    Java常见API---split()
  • 原文地址:https://blog.csdn.net/m0_60027772/article/details/134107626