三层设备的ACL访问控制列表

24、ACL访问控制列表

一、ACL概述

1、ACL全称

Access Control List == 访问控制列表

2、什么是ACL

ACL是一种数据过滤技术。

3、ACL的应用场景

路由器:就叫ACL技术,一般基于源IP、端口、协议等对数据包进行过滤。(传输层、网络层)

防火墙:一般不叫ACL,称为策略。一般基于源IP、端口、协议、应用层的数据等对数据包进行过滤。(传输层、网络层、应用层)

二、ACL的分类

1、标准ACL

标准–Standard

表号:1-99或1300-1999

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

2、扩展ACL

扩展–Extended

表号:100-199或2000-2699

特点:可以基于源IP地址(必写)、目标IP地址(必写)、目标端口号、协议等对包进行过滤。

三、ACL的过滤原理

1、ACL的原理

ACL表:条件和动作,表中每一条记录从10的倍数开始记录,猜测是方便后期维护,插入记录等。
一个接口有2个方向:in和out,ACL表必须应用到接口的某一方向才能生效。一个接口的1个方向只能生效一张表。

ACL匹配优先级:ACL表从上至下匹配,如匹配成功某一条,则直接去执行对应的动作。如果都没匹配到,直接丢弃,如果是ICMP返回主机不可达!(因为在所有的ACL表中,最后永远有一条默认的隐藏的“拒绝所有”条目!所以一般最后一条要写一个any条件 和 permit,防止路由器直接”拒绝所有“把包丢弃。)

默认不可修改表中某一条记录,但ACL可以使用ACL命名模式的操作完成:默认情况下,一张ACL表一旦创建后,不能删除某一条,也不能往中间插入新的条目,只能继续在表的后方继续追加新的条目!(如果用no命令尝试删除表中某一条目,会发现整个表都被删除了),但可以通过ACL命名方式进行插入,删除表中某条记录的操作。

2、ACL原理讲解过程图

3、ACL配置小技巧

1)先分析你要控制的数据流向,进而判断ACL表应该写在哪台路由器的哪个接口上的哪个方向。如果使用标准ACL控制过滤流量,必须写在靠近目标端的端口。

2)配置路由器上的ACL表

3)将ACL表应用到路由器的某个接口上

四、ACL命令

1、标准ACL表创建与逐条增加表项命令

1
2
3
4
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代表不需要匹配

厂商支持简写:

access-list 1 deny 0.0.0.0 255.255.255.255 => access-list 1 deny any

access-list 1 deny 192.168.1.88 0.0.0.0 => access-list 1 deny host 192.168.1.88

2、扩展ACL表创建与逐条增加表项命令

1
2
conf t
access-list 表号 permit/deny 协议 源IP 反子网掩码 目标IP 反子网掩码 [eq 端口号]

表号:100-199

协议:TCP/UDP/IP/ICMP

例子:

UuWRMj.png

1
2
3
4
5
6
7
8
9
access-list 100 permit TCP   0.0.0.0 255.255.255.255   70.1.1.100 0.0.0.0   
eq 80
access-list 100 deny   IP   0.0.0.0   255.255.255.255   70.1.1.100 0.0.0.0
access-list 100 permit IP   0.0.0.0   255.255.255.255 0.0.0.0
255.255.255.255
简化后的写法:
access-list 100 permit TCP     any   host 70.1.1.100   eq 80
access-list 100 deny   IP     any   host 70.1.1.100
access-list 100 permit IP     any   any

3、创建、逐条增加、插入、删除命名ACL表(此模式把表名改成表号同样适用)

不通过ACL表号区分标准和扩展表,通过指定standard和extended的方法表明,并且可以将表名命名为任意字符串。

1
2
3
4
5
conf t
ip access-list standard/extended(表类型) 自定义表名 #创建表
ACL命名模式: permit/deny [协议] 源IP 反子网掩码 [目标IP 反子网掩码 eq 端口号] #逐条增加
ACL命名模式:表项号(比如11) permit/deny [协议] 源IP 反子网掩码 [目标IP 反子网掩码 eq 端口号] #插入某条ACL表项到表项号位置
ACL命名模式:no 表项号 #删除某个表项

4、删除ACL表或者删除某一条记录

1
2
3
4
5
conf t 
no access-list   表号 #删表
ip access-list standard/extended(表类型) 表号
ACL命名模式:no 表项号 #删除某个表项

5、将ACL表应用到接口的某个方向

1
2
3
int f0/1
ip   access-group   表号   in/out
ip   access-group   表名   in/out

6、查看ACL配置

1
2
show   run
show   ip access-list

五、作业

1、

UuIyvD.png

UuqdVe.png

2、首先,先将一下网络搞通!然后按照需求配置ACL完成流量过滤

UMDKbT.png

注意:当某VLAN的ACL最后是拒绝所有,一定要放行67 68,以便可以让该VLAN的PC依然可以自动获取IP地址

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器