一、ACL概述
1.1 ALC基本原理和基本作用
技术背景:需要一个工具,实现流量过滤。
ACL:access control list,访问控制列表。
ACL作用:通过对报文进行匹配和区分,实现:
- 对数据包的访问进行控制。
- 对协议控制。ICMP,TCP协议等
ACL配置在路由上,数据包从接口经过的时候,接口配置ACL策略,路由器会根据策略,检查数据包,然后根据策略做出相应的处理。
ACL在接口上如何应用:
在入口:数据包从入口进入路由器,能不能进入路由器
在出口:数据包经过路由器处理之后,数据包能不能出去。
1.2 ACL的组成和匹配顺序
ACL由若干条 permit或deny语句组成,每条语句就是该ACL的一条规则,permit/deny就是这条规则对应的处理动作。
ACL的应用规则和匹配顺序:
-
一个接口的同一方向只能调用一个ACL。
-
在一个ACL当中可以有多个规则,数量不限,规则的id从小到大排序,从上到下依次执行,默认步进5。
-
数据包一旦被某个策略匹配,那么就不再继续向下匹配。
-
默认是放行所有的(华为设备)。
1.3 ACL的不同种类及特点
1.3.1 ACL种类
-
基本ACL:范围2000~2999 只能匹配源IP地址。
-
高级ACL:范围3000~3999 源IP,目的IP,源端口,目的端口,三层和四层协议都可以支持:icmp、tcp、udp、http、https。
-
二层ACL:范围4000~4999 根据MAC地址匹配,如果设备更换,所有配置都要重新部署。所以一般不用。
1.3.2 ACL的使用原则
基本ACL:尽量用在靠近目的地。
高级ACL:尽量使用在靠近源的地方。
1.4 ACL配置相关
1.4.1 基本语句
rule x(编号,可以不写,默认为5,默认步进5) permit source 1.1.1.0 0.0.0.255(通配符)
rule 10 deny source 1.1.1.0 0.0.0.255
permit 允许访问
deny 拒绝访问
1.4.2 通配符
通配符是一个32bit的数制,又称反掩码。决定了哪些bit位要严格匹配,哪些bit位无需匹配。
匹配规则:“0”表示“匹配”,“1”表示“随机分配”。
例:匹配192.168.1.1/24对应网段,严格匹配前24位,后8位随机分配。通配符为0.0.0.255。
二、ENSP实验配置
2.1 实验要求
建立拓扑如下,要求:
- 仅允许PC1访问192.168.2.0/24网络(或仅允许PC1访问PC3)
- 禁止192.168.1.0/24网络ping Web服务器Server1
- 仅允许Client1访问Web服务器的Web服务。
2.2 配置
配置仅允许PC1访问PC3
##配置网关地址##
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 192.168.2.254 24
[r1-GigabitEthernet0/0/1]int g0/0/2
[r1-GigabitEthernet0/0/2]ip add 192.168.3.254 24
##配置ACL##
[r1]acl 2000 ##创建基本ACL 2000
[r1-acl-basic-2000]rule permit source 192.168.1.10 0 ##创建规则:允许固定源IP 通配符0
[r1-acl-basic-2000]rule deny source any ##禁止 所有源,因为默认在第二条,不影响上一条规则
[r1]int g0/0/1 ##进入端口调用ACL
[r1-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 ##调用ACL2000,方向outbound,出端口
验证连通性:PC1 可ping通 PC3,PC2,Client1 ping不通PC3。
下面配置禁止192.168.1.0/24网络ping Web服务器Server1,并且仅允许Client1访问Web服务器的Web服务。
[r1]acl 3000 ##创建高级ACL 3000
[r1-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168
.3.10 0 ##禁止 ICMP协议,源IP网段 通配符 目的IP地址 通配符0
[r1-acl-adv-3000]rule permit tcp source 192.168.1.30 0 destination 192.168.3.10
0 destination-port eq 80 ##允许 TCP协议 源IP 目的IP 目的端口(= 80,80是Web服务端口号)
[r1-acl-adv-3000]q
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 ##调用ACL服务,方向inbound,进入端口
Web服务器Server1:启动Http服务端口80
Client1:获取服务器Web服务
验证连通性:ping服务器不通,Client可访问Web服务。