ACL

发布时间 2023-10-14 11:06:22作者: eth258

ACL

1.ACL(Access Control List)访问控制列表

2.ACL是一种包过滤技术

3.ACL基于IP包头的IP地址、四层TCP/UDP头部的端口号、[5层数据]

​ 基于三层和四层过滤

4.ACL在路由器上配置,也可以在防火墙上配置(一般被称为策略)

5.ACL主要分为2大类:

1)标准ACL

2)扩展ACL

6.标准ACL:

​ 表号:1-99

特点:只能基于源IP对包进行过滤

命令:

conf t

access-list 表号 permit/deny 源IP或源网段 反子网掩码

注释:反子网掩码:将正子网掩码的0和1倒置

				255.0.0.0	---	0.255.255.255

​				255.255.0.0	---	0.0.255.255

​				255.255.255.0	---	0.0.0.255

反子网掩码的作用:用来匹配条件,与0对应的需要严格匹配,与1对应的忽略

例如:

​ access-list 1 deny 10.0.0.0 0.255.255.255

​ 解释:该条目用来拒绝所有源IP为10开头的

​ access-list 1 deny 10.1.1.1 0.0.0.0

​ 解释:该条目用来拒绝所有源IP为10.1.1.1的主机

​ 简写:access-list 1 deny host 10.1.1.1

​ access-list 1 deny 0.0.0.0 255.255.255.255

​ 解释:该条目用来拒绝所有人

​ 简写:access-list 1 deny any

配置ACL的完整案例:

conf t

acc 1 deny host 10.1.1.1

acc 1 deny 20.1.1.0   0.0.0.255

acc 1 permit any

查看ACL表:

show ip access-list [表号ID]

将ACL应用到接口:

int f0/x

​	ip access-group 表号  in/out

exit

7.扩展ACL:

​ 表号:100-199

​ 特点:可以基于源IP、目标IP、端口号、协议等对包进行过滤

命令:(必须满足所有条件才给通行)

acc 100 permit/deny  协议 源IP或源网段  反子网掩码  目标IP或源网段  反子网掩码  [eq 端口号]

注释:

协议:tcp/udp/icmp/ip(没有ARP!因为ARP不允许出路由器,只存活在内网中)

100:表号

[ ]:可选项

eq:等于 ne、neq:不等于 gt:大于 lt:小于 gye、ge:大于等于 lte、le :小于等于

案例:(当后面加端口号的时候,协议可以选择tcp/udp;前面不加端口号的时候,四个协议都可以选择;若是访问所有服务,则协议选择IP )

acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80

acc 100 permit icmp host 10.1.1.1	20.1.1.0	0.0.0.255

acc 100 deny ip host 10.1.1.1	20.1.1.0	0.0.0.255

acc 100 permit ip  any any

8.ACL原理

  • ACL 表必须应用在接口的进或者出方向才生效
  • 一个接口的一个方向只能应用一张表
  • 进还是出方向的应用,取决于流量控制总方向
  • ACL表是严格自上而下的检查每一条,所以要注意书写顺序
  • 每一条是又条件和动作组成,当流量完全满足条件,则通过;东流量没有满足某些条件,则进行检查下一条
  • 标准ACL尽量写在靠近目标的地方
  • 一般情况下,标准或扩展ACL一旦编写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法往中间插入新的条目,只能一直在最后添加新的条目。如果想修改或插入或删除,只能删除整张表,重新写。

9.命名ACL

作用:可以对标准或扩展ACL进行自定义命名

优点:自定义命名更容易辨认,也便于记忆

​ 可以任意修改某一条,或删除某一条,也可以往中间插入某一条

命令:

conf t 

ip access-list standard/extender 自定义表名

开始从deny或permit编写ACL条目

exit
删除某一条:

ip access-list standard/extended 自定义表名

条目ID  动作  条件

exit