3.0.0 IPv4 ACL列表(简介、ACL分类、ACL配置、通配符)
ACL访问控制列表
- 简介
- ACL的分类(华为设备)
- 1、基本/标准ACL
- 基本ACL编号:2000~2999
- 基本ACL的作用:基于数据流的源地址进行匹配
- 2、高级ACL
- 高级ACL编号:3000~3999
- 高级ACL的作用:基于数据流的5元组进行匹配(Sip、Dip、Sport、Dport、Protocol)
- 3、二层ACL
- 二层ACL编号:4000~4999
- 二层ACL的作用:基于数据流的源MAC、目的MAC等二层信息进行匹配
- ACL的配置(华为设备)
- 1、基本/标准ACL
- 2、高级ACL
- 3、二层ACL
- ACL的一些要点
- 1、ACL中的通配符
- 2、ACL中的动作
- 3、ACL的应用方向定义区别
- 4、ACL中的Rule序号
- ACL的命名方式配置
简介
ACL访问控制列表(Access Control List)
ACL可以对网络中报文流的精确匹配,通过与其它技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而保障网络环境的性能和网络服务质量的可靠性。
ACL的分类(华为设备)
1、基本/标准ACL
网络设备通过 识别ACL编号得知ACL的类别 :
基本ACL编号:2000~2999
基本ACL的作用:基于数据流的源地址进行匹配
- 基本ACL匹配:源地址192.168.1.0/24、动作拒绝
- 如果源192.168.1.1/32访问192.168.2.2的网络,经过绑定有这个ACL的列表,将会拦截拒绝转发。
- 如果源192.168.2.1/32访问192.168.2.2的网络,经过绑定有这个ACL的列表,将正常通过。
2、高级ACL
高级ACL编号:3000~3999
高级ACL的作用:基于数据流的5元组进行匹配(Sip、Dip、Sport、Dport、Protocol)
- 高级ACL匹配:源地址192.168.1.0/24、目的地址192.168.2.1/32、动作拒绝
- 如果源192.168.1.1/32访问192.168.2.1的网络,经过绑定有这个ACL的列表,将会拒绝流量通过。
- 如果源192.168.3.1/32访问192.168.2.1的网络,经过绑定有这个ACL的列表,将正常通过。
3、二层ACL
二层ACL编号:4000~4999
二层ACL的作用:基于数据流的源MAC、目的MAC等二层信息进行匹配
- 二层ACL匹配:源MACA、目的MACB、动作拒绝
- 当MACA访问MACB的时候,如果经过了绑定了该二层ACL的接口,将会拒绝流量通过。
- 当MACC访问MACB的时候,将正常经过该绑定接口。
ACL的配置(华为设备)
1、基本/标准ACL
# 创建基本ACL
[Huawei]acl 2001
[Huawei-acl-basic-2001]
# 创建规则,不指定rule,基于默认步长自行增加
rule permit source 192.168.1.0 0.0.0.255
# 创建规则,指定rule
rule 1 permit source 192.168.1.0 0.0.0.255
# 删除规则,指定rule进行删除
[Huawei-acl-basic-2001]undo rule 5
2、高级ACL
# 创建高级ACL
[Huawei]acl 3001
[Huawei-acl-adv-3001]
# 创建匹配源目地址规则
rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
# 创建匹配源地址、源端口的指定流量
rule permit tcp source 192.168.1.0 0.0.0.255 source-port eq 80
# 高级ACL可灵活组合源地址、目的地址、协议、源端口、目的端口进行流量的匹配。
3、二层ACL
# 创建二层ACL
[Huawei]acl 4000
[Huawei-acl-L2-4000]
# 创建匹配源MAC地址
rule permit source-mac 0011-2233-4455
# 创建匹配目的MAC地址
rule permit destination-mac 0011-2233-4455
# 创建匹配源MAC到目的MAC地址的流量
rule permit source-mac 0011-2233-4455 destination-mac 2233-4455-6677
ACL的一些要点
1、ACL中的通配符
- 当ACL设置匹配地址时:rule 序号 permit source 192.168.1.0 0.0.0.255,最后面的0.0.0.255就是所谓的通配符。
- 通配符与常见到的反掩码区别
- 反掩码一般用于协议中,其二进制必须是连续的1和0组合。
- 如:0.0.0.0000 1111(0.0.0.15=255.255.255.240的反掩码)
- 通配符则可以是不连续的1和0组合,其二进制中,0表示精确匹配、1表示随意匹配。
- 如:192.168.1.0 0.0.0.254
# 篇幅有点长,请静心观看。
192.168.1.0
0.0.0.254
1、0表示精确匹配,说明想匹配这个ACL必须满足路由前缀为:192.168.1
2、那么主机位0和通配符254的关系呢?
0 = 0000 0000
254 = 1111 1110
前面提到,0为精确匹配,1为随意,也就是说想匹配这个ACL前缀为192.168.1的同时,
主机位二进制的第8位还需要为0。
随便拿个地址:192.168.1.3
3 = 0000 0011
很明显,3的二进制第8位不是0,所以并不能匹配这个192.168.1.0 0.0.0.254的ACL。
------
你可能会感觉疑惑,但其实并不难理解:
192.168.1.0
0.0.0.254
0为精确匹配,也就是说0对应的位置就是需要满足才行,因此得出192.168.1路由前缀
再者254的第8位2进制就是0,对应其主机地址的第8位,0的第8位二进制为0,
所以这个ACL需要地址满足192.168.1路由前缀同时,主机位第8位为0才能匹配上这个ACL。
-
ACL通配符的灵活应用
-
应用通配符匹配奇数:匹配192.168.1.0/24网段中的奇数
1、匹配的通配符如何写? 匹配奇数,说明主机位二进制第8位必须为1。 因为1、3、5...的第8位二进制都是1: 1:0001 3:0011 5:0101 通配符0为精确匹配,1为随意。 那么通配符为254时,第8位为0,实现主机位的第8位的精确匹配。 所以通配符匹配奇数这么写:0.0.0.254 2、匹配的主机地址如何写? 已知主机二进制第8位必须是1,所以主机地址为192.168.1.1就好 3、最终的ACL为:192.168.1.1 0.0.0.254
-
应用通配符匹配偶数:匹配192.168.1.0/24网段中的偶数
1、匹配的通配符如何写? 匹配偶说明主机位二进制第8位必须为0。 因为0、2、4...的第8位二进制都是0: 0:0000 2:0010 4:0100 通配符0为精确匹配,1为随意。 那么通配符为254时,第8位为0,实现主机位的第8位的精确匹配。 所以通配符匹配偶数这么写:0.0.0.254 2、匹配的主机地址如何写? 已知主机二进制第8位必须是1,所以主机地址为192.168.1.1就好 3、最终的ACL为:192.168.1.1 0.0.0.254
-
巩固与提升(文章最后公布答案)
1、使用192.168.0.0地址匹配偶数网段(0.0、2.0、4.0...),请问其通配符为:______ 2、使用192.168.0.0地址匹配偶数网段与偶数主机(0.0、0.2、2.0、2.4...),请问其通配符为:______
2、ACL中的动作
- ACL的动作只有
Permit允许
、Deny拒绝
。 - 在ACL默认存在一个动作,其动作会因为ACL应用的位置不同而有不同的默认规则。
- 如:ACL用于接口匹配流量时,
默认规则为允许
,也就是如果ACL中没有匹配上的数据流将默认放行。 - 如:ACL用于路由过滤时,
默认规则为拒绝
,对于ACL没有匹配上的流量将拒绝。
3、ACL的应用方向定义区别
-
ACL应用在功能/策略上时是不需要定义方向的,但应用在接口上时才需要定义方向。
-
ACL的方向有inbound 入方向和outbound 出方向。
-
交换机上给Vlanif接口定义ACL方向:
traffic-filter vlan 1 inbound acl 2000
-
路由器上给路由接口定义ACL方向:
traffic-filter inbound acl 2000
-
如何判定入方向和出方向?
- 基于数据流的走向定义
-
应用的方向与ACL的匹配有何关联?
-
应用接口方向不同可以快速的对流量进行过滤操作,减少不必要的操作。
4、ACL中的Rule序号
- Rule序号在不指定的时候默认的步长为5。
- 修改步长:
step [1~20]
修改步长后,列表原有序号将基于步长开始,有序递增。
- 修改步长的作用:可解决规则错误且没有插入间隙时通过修改步长实现新规则的插入。
ACL的命名方式配置
编号配置后观看不易分辨其ACL的作用而通过命名方式配置的ACL将有效解决这个问题。
[Huawei]acl name <ACL名称> <ACL编号>
# 以ACL命名方式创建基本ACL:
[Huawei]acl name jiben 2000
[Huawei-acl-basic-jiben]
# 以ACL命名方式创建高级ACL:
[Huawei]acl name gaoji 3000
[Huawei-acl-adv-gaoji]
1、使用192.168.0.0地址匹配偶数网段(0.0、2.0、4.0...),请问其通配符为:______
答案:
192.168.0.0
0.0.254.0
2、使用192.168.0.0地址匹配偶数网段与偶数主机(0.0、0.2、2.0、2.4...),请问其通配符为:______
答案:
192.168.0.0
0.0.254.254