ACL
一、ACL的概念
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
ACL基本上是一系列规则或条目,用于控制数据包在网络中的流动。每个条目通常包含以下要素:
- 1.源地址:指定要进行访问控制的源设备或网络的地址。
- 2.目标地址:指定目标设备或网络的地址。
- 3.协议:指定要控制的协议类型,如TCP、UDP或ICMP等。
- 4.源端口:指定源设备或网络的端口号(适用于协议需要端口的情况)。
- 5.目标端口:指定目标设备或网络的端口号(适用于协议需要端口的情况)。
- 6.动作:指定针对匹配特定规则的数据包采取的操作,如允许、拒绝、丢弃、重定向等。
通过配置ACL规则,系统管理员可以根据需求对网络流量进行细粒度的限制和过滤。这些规则可以在路由器、交换机、防火墙等网络设备上应用,并允许或阻止特定流量的通过,从而维护网络的安全性和性能。
ACL广泛应用于网络安全和资源管理中,用于保护网络免受未经授权的访问、网络攻击和流量过载等威胁。它们也可以用于实现网络分段、流量路由和服务质量(QoS)等功能。
二、ACL的种类
-
编号2000-2999---基本ACL----依据依据数据包当中的源目IP地址匹配数据(数据时从 哪个IP地址 过来的)。
-
编号3000-3999---高级ACL----依据数据包当中源、目的IP,源、目的端口、协议号匹配数据。
-
编号4000-4999---二层ACL,MAC、VLAN-id、802.1q。
三、ACL的应用
- 应用在接口的ACL-----过滤数据包(源目ip地址,源目 mac, 端口 五元组)
- 应用在路由协议-------匹配相应的路由条目
- NAT、IPSEC VPN、QOS-----匹配感兴趣的数据流 (匹配上我设置的 数据流的)
四、ACL的工作原理
当数据包从接口经过时,由于接口启用了ACL, 此时路由 器会对报文进行检查,然后做出相应的处理。
五、通配符掩码
-
子网掩码:连续的1表示网络位,不可以01穿插。
-
反掩码:连续的0表示网络位,不可以01穿插。
-
通配符掩码:匹配acl控制的范围,0代表此位置不可以变化,1代表此位置可以变化。
ACL的配置
一、如何配置ACL
实验结果要求:
客户机1(192.168.1.1)不能访问服务器1(192.168.2.1)
客户机2(192.168.1.2)全部可以访问
基础的ACL配置端口距离目标地址近
高级的ACL配置端口距离源地址近
1.配置好主机ip和网关
Client1:192.168.1.1/24。
Client2:192.168.1.2/24。
Server1:192.168.2.1/24。
Server2:192.168.3.1/24。
2.配置路由器AR1端口的IP地址和基础ACL
<Huawei>u t m //关闭华为提示信息
Info: Current terminal monitor is off.
<Huawei>sys //切换至系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR1 //重命名
[AR1]int g0/0/0 //进入接口g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 //设置子接口的IP地址(即AR1下面所属主机的网关地址)
[AR1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 192.168.2.254 24 //设置子接口的IP地址(即AR1下面所属主机的网关地址)
[AR1-GigabitEthernet0/0/1]int g0/0/2 //进入接口g0/0/2
[AR1-GigabitEthernet0/0/2]ip add 192.168.3.254 24 //设置子接口的IP地址(即AR1下面所属主机的网关地址)
[AR1-GigabitEthernet0/0/2]q //返回上一级
[AR1]acl 2000 //创建基本ACL 2000
[AR1-acl-basic-2000]rule 5 deny source 192.168.1.1 0 //默认编号为5,拒绝来自192.168.1.1的数据
[AR1-acl-basic-2000]q //返回上一级
[AR1]int g0/0/1 //进入接口g0/0/1
[AR1-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 //在该端口调用ACL 2000表中的配置
[AR1-GigabitEthernet0/0/1]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
traffic-filter outbound acl 2000
#
return
3.测试基础ACL是否配置成功且生效
Client1 ping Server1失败,Client1 ping Server2成功,则配置成功。
4.清除基础ACL配置,在路由器AR1中的端口配置高级ACL
[AR1]acl 3000 //创建基本ACL 2000
[AR1-acl-adv-3000]rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www//默认编号为5,允许Client1到Server1的web流量
[AR1-acl-adv-3000]int g0/0/1 //进入接口g0/0/1
[AR1-GigabitEthernet0/0/1]undo traffic-filter outbound //删掉ACL
[AR1-GigabitEthernet0/0/1]traffic-filter outbound acl 3000 //在接口上配置,调用高级ACL 3000
[AR1-GigabitEthernet0/0/1]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
traffic-filter outbound acl 3000
#
return
5.测试高级ACL是否配置成功且生效
Client1 ping Server1成功,却无法访问端口号,则配置成功。
测试Client1与Server2,Client2与Server2的网络联通性
二、总结
应用原则
-
基本ACL:尽量用在靠近目的点
-
高级ACL:尽量用在靠近源的地方(可以保护带宽和其他资源)
匹配规则
- 1、一个接口的同一个方向,只能调用一个acl
- 2、一个acl里面可以有多个rule 规则,按照规则ID从小到大排序,从上往下依次执行
- 3、数据包一旦被某rule匹配,就不再继续向下匹配
- 4、用来做数据包访问控制时,(华为设备中)默认是放过所有数据包的