访问控制列表

目录

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分类中的一种

你可能感兴趣的:(计算机网络,计算机网络)