三层设备的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 | conf t |
注释:
表号: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 | conf t |
表号:100-199
协议:TCP/UDP/IP/ICMP
例子:
1 | access-list 100 permit TCP 0.0.0.0 255.255.255.255 70.1.1.100 0.0.0.0 |
3、创建、逐条增加、插入、删除命名ACL表(此模式把表名改成表号同样适用)
不通过ACL表号区分标准和扩展表,通过指定standard和extended的方法表明,并且可以将表名命名为任意字符串。
1 | conf t |
4、删除ACL表或者删除某一条记录
1 | conf t |
5、将ACL表应用到接口的某个方向
1 | int f0/1 |
6、查看ACL配置
1 | show run |
五、作业
1、
2、首先,先将一下网络搞通!然后按照需求配置ACL完成流量过滤
注意:当某VLAN的ACL最后是拒绝所有,一定要放行67 68,以便可以让该VLAN的PC依然可以自动获取IP地址