访问控制列表

目录

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分类中的一种
相关推荐
六点半8881 天前
【计算机网络】初识网络(TCP / IP五层模型 + 网络协议栈和操作系统关系 + 网络传输基本流程 + 数据包封装和分用)
网络·计算机网络
jie*1 天前
小杰深度学习(ten)——视觉-经典神经网络——LetNet
人工智能·python·深度学习·神经网络·计算机网络·数据分析
_清浅2 天前
计算机网络【第四章-网络层】
网络·计算机网络·智能路由器
沐浴露z2 天前
【深入理解计算机网络08】网络层之IPv4
网络·计算机网络·网络编程·信息与通信·408
数智顾问2 天前
eBPF 加速时代,【深入理解计算机网络05】数据链路层:组帧,差错控制,流量控制与可靠传输的 10 Gbps 实践
计算机网络
007php0072 天前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
爱思德学术3 天前
中国计算机学会(CCF)推荐学术会议-B(计算机网络):SenSys 2026
人工智能·计算机网络·嵌入式·传感系统
Chandler243 天前
一图掌握 网络协议 核心要点
网络协议·tcp/ip·计算机网络·http
在下村刘湘3 天前
telnet 和ipconfig 命令有什么区别
计算机网络
沐浴露z3 天前
【深入理解计算机网路07】详解局域网:以太网、VLAN与无线局域网
网络·网络协议·计算机网络·408