ACL技术----访问控制列表:
一、基本概念:
-
概述: 访问控制列表(Access Control List)是路由器和交换机接口的指令列表,用来控制端口进出的数据包;
-
包含了匹配关系、条件和查询语句,表只是一个框架结构,其目的是为了对某种访问进行控制;
-
作用:
- 访问控制:在路由器流量进或出接口上,匹配流量产生动作(允许、拒绝);
- 定义感兴趣流量:抓取流量、之后给到其他策略,让其他策略进行工作;
-
原理:
- 配置了ACL的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报文执行预先设定好的处理动作;
- ACL是一张表,就是一系列规则的集合;
-
匹配规则:
- 从上到下逐一匹配,上条匹配按上条执行,不再查看下条;
- cisco系统默认末尾隐含拒绝所有,华为系统末尾隐含允许所有;
-
分类:
-
标准(基本)ACL:
- 编号:2000~2999(用于区分不同的列表);
- 仅关注数据包中的源 ip地址;
- 由于标准ACL仪关注数据包中的源 ip地址;故调用时必须尽量的靠近目标;避免对其他流量访问的误删;
标准ACL的配置思路:1.搞清去的流量方向和路径;2.写规则 -- 由于标准ACL仅关注数据包中的源ip地址,故写规则调用时必须尽量的靠近目标,避免对其他流量访问的误删;3.进接口调用,调用时注意方向;
-
扩展(高级)ACL:
- 编号:3000~3999;
- 关注数据包的源、目标 ip地址,目标端口号或协议号(从哪来,去哪去,干什么);
- 由于扩展ACL源、目标 ip地址均关注,故调用时尽量靠近源;尽早处理流量;
高级ACL的配置思路:1.搞清去的流量方向和路径;2.写规则 -- 由于扩展ACL源、目ip地址均关注,故调用时尽量靠近源,尽早处理流量;3.进接口调用,调用时注意方向;
-
二层ACL:
- 编号:4000-4999;
- 使用报文的以太网帧头信息来定义规则;
-
用户自定义ACL:
- 编号:5000-5999;
- 即可以使用IPv4报文的源IP地址,也可以使用目的IP地址,协议类型、甚至使用ICMP、TCP、UDP、IPv6等协议的各类字段信息来定义规则;
-
二、配置命令:
(1)标准ACL:
要求: PC1能ping通PC3和PC4,PC2不能ping通PC3和PC4;
- 样例拓扑:
[r2]acl 2001 //写表
[r2-acl-basic-2001]rule deny source 192.168.1.3 0.0.0.0 //制定规则,就限制这一个IP
//制定规则时,动作(deny,permit)+ 源 ip
[r2-acl-basic-2001]rule deny source 192.168.0.0 0.0.255.255 //限制此网段
[r2-acl-basic-2001]rule deny source any //限制所有网段
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2001 //在接口上调用
提示: ACL定义完成后,必须在接口上调用方可执行,调用时一定注意方向,一个接口的一个方向上只能调用一张表;
(2)扩展ACL:
要求: 只限定PC2不能ping通PC3;
[r1]acl 3000 //扩展列表编号3000-3999
[r1-acl-adv-3000]rule deny ip source 192.168.1.3 0.0.0.0 destination 192.168.3.2 0.0.0.0
(3)使用高级ACL,同时关注目标端口号:
- 日标端口号: 服务端使用注明端口来确定具体的服务;
要求: 1.只能 ping,但是不能访问服务器;2.只访问服务器,但是不能 ping;
[r1]acl 3001
//拒绝192.168.1.10对192.168.1.1访问时,传输层协议为 tcp,且目标端口号为23
[r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0 destination 192.168.1.1 0 destination-port eq 23
//仅拒绝192.168.1.10 对192.168.1.1 的ICMP访问
[r1-acl-adv-3002]rule deny icmp source 192.168.1.10 0 destination 192.168.1.1 0