ACL学习笔记

1.ACL快速配置

需求:拒绝PC 1访问PC 3

(1)配置PC

PC 1:

PC 2:

PC 3:

(2)配置R1的接口IP信息

sys

sysname R1

undo info-center enable

interface GigabitEthernet0/0/0

 ip address 192.168.1.1 255.255.255.0

 quit

interface GigabitEthernet0/0/1

 ip address 192.168.2.1 255.255.255.0

 quit

interface GigabitEthernet0/0/2

 ip address 192.168.3.1 255.255.255.0

 quit

display ip interface brief

(3)验证网络连通性

PC 1 ping PC 2 和 PC 3

(4)在R1上创建高级ACL,禁止PC 1访问PC 3:

acl 3000

rule deny ip source 192.168.1.2 0 destination 192.168.3.2 0

#创建规则拒绝源IP为192.168.1.2访问目标IP为192.168.3.2的报文

quit

int g0/0/0

traffic-filter inbound acl 3000

#在G0/0/0接口的入方向调用ACL 3000

quit

(5)验证ACL规则

结果可以看到PC 1无法访问PC 3,说明ACL规则生效拒绝192.168.1.2访问192.168.3.2。

2.ACL技术概述

随着网络的飞速发展,网络安全和网络服务质量QoS (Quality of Service)问题日益突出。访问控制列表 (ACL, Access Control List)是与其紧密相关的一个技术。

ACL可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

访问控制列表(ACL技术是一种基于包过滤的流控制技术,用于实现网络访问控制和流量过滤。

ACL是由一系列permitdeny语句组成的、有序规则的列表。

ACL是一个匹配工具,能够对报文进行匹配和区分。

ACL应用:

• 匹配IP流量

• 在Traffic-filter中被调用

• 在NAT(Network Address Translation)中被调用

• 在路由策略中被调用

• 在防火墙的策略部署中被调用

• 在QoS中被调用

• 其他……

ACL技术通过定义一系列的访问规则,‌这些规则可以针对数据包的源地址、目的地址、端口号、协议类型等进行匹配,‌从而实现对网络流量的精细控制。

‌ACL可以分为不同的类型,‌包括标准IP访问列表、扩展IP访问列表、命名的IP访问列表等,‌每种类型都有其特定的应用场景和匹配规则。‌

例如,‌标准IP访问列表主要匹配IP包中的源地址,‌而扩展IP访问列表则提供了更多的匹配项,如协议类型、源端口、目的端口等。‌

3.ACL工作原理

ACL的工作原理主要涉及在路由设备上定义ACL列表,‌并将这些列表应用于路由设备的某个接口上,‌以便对通过该接口的流量进行过滤。‌当数据包到达路由设备时,‌路由设备会读取数据包的包头信息,‌并与ACL列表中的规则进行匹配。‌一旦数据包与某条规则匹配,‌路由设备将根据该规则的决定(‌允许或拒绝)‌来处理该数据包。‌如果数据包与所有规则都不匹配,‌则可能会被默认拒绝或允许,‌这取决于ACL的配置和默认规则。‌

3.1ACL的组成

ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。

3.2规则编号

规则编号与步长

规则编号(Rule ID):一个ACL中的每一条规则都有一个相应的编号。

步长(Step): 步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,缺省值为5步长的作用是为了方便后续在旧规则之间,插入新的规则。

思考:如果希望增加1条规则,该如何处理?

可以在旧规则10和15之间新增一条rule 11

比如rule 11 deny source 10.1.1.3 0

Rule ID分配规则: 系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值(例如步长=5,首条规则编号为5)作为该规则的起始编号;为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。

例1:首条未手工指定编号的规则分配编号时,会使用默认步长值5作为该规则的起始编号,第二条还是不指定的话,那么就以5的倍数去增加,第二条的步长值就为10进行编号。

例2:当我们指定首条规则的步长小于默认值步长5,比如为2,那么下一跳未指定规则编号步长值就为5。

例3:当我们指定首条规则的步长大于默认值步长5,比如为6,那么下一跳未指定规则编号步长值就为10。而不会从5开始编号。

3.3通配符(Wildcard)

通配符是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。

通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。

3.3.1匹配规则:

 “0”表示“严格匹配” ; “1”表示“任意”

思考:如何匹配192.168.1.1/24对应网段的地址?

比如rule permit source 192.168.1.0 0.0.0.255;后面通配符的255代表192.168.1.0段的任意匹配了。

3.3.2匹配192.168.1.0/24这个子网中的奇数IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。匹配奇数IP最后一位通配符需为1。

特殊的通配符

精确匹配192.168.1.1这个IP地址

192.168.1.1 0.0.0.0 = 192.168.1.1 0

匹配所有IP地址

      1. 255.255.255 = any

3.4 ACL的分类与标识

3.4.1基于ACL规则定义方式的分类

分类

编号范围

规则定义描述

基本ACL

2000~2999

仅使用报文的源IP地址分片信息生效时间段信息来定义规则。

高级ACL

3000~3999

可使用IPv4报文的源IP地址、目的IP地址、协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。

二层ACL

4000~4999

使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。

用户自定义ACL

5000~5999

使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。

用户ACL

6000~6999

既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

3.4.2基于ACL配置方法的分类

分类

规则定义描述

数字型ACL

传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。

命名型ACL

通过名称代替编号来标识ACL。

3.4.3基本ACL

编号范围: 2000-2999

假设在某个部门中,不允许10.1.1.1和10.1.1.2访问外网,

创建的基本ACL 2000中,规则5和10精确匹配拒绝源IP地址10.1.1.1和10.1.1.2,

其他10.1.1.0网段源IP地址则可以访问外网。基本ACL功能单一。

3.4.4高级ACL

编号范围: 3000-3999

高级ACL比基本ACL更精准去建立规则。

3.5 ACL的匹配机制

3.6 ACL的匹配顺序及匹配结果

配置顺序(config模式)

系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。

思考:“允许”是指允许流量通过吗?

不是绝对的,主要看ACL调用在什么地方。如果是调用在流量过滤(traffic-filter),那么它就是允许。

3.7 ACL的匹配位置

入站 (Inbound)及出站 (Outbound)方向

3.8 ACL 总结

① 如果某acl 没有被调用,该acl不起任何作用。

② 针对接口下traffic-filter 调用acl,一个接口的同一个方向,只能调用一个acl。

③ 通常情况下,一个acl里面可以有多个rule 规则,从上往下依次执行。

④ 数据包一旦被某rule匹配,就不再继续向下匹配。

⑤ ACL 用来做流量过滤时,默认隐含放过所有(华为设备)

4.ACL 的基础配置

4.1基本ACL的基础配置命令

华为命令中,中括号里的可以选配或者不配,而大括号{ }里面的内容是必配。

(1) 创建基本ACL

[Huawei] acl [ number ] acl-number [ match-order config ]

使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。

例:acl number 2001 或 alc 2001

[Huawei] acl name acl-name { basic | acl-number } [ match-order config ]

使用名称创建一个命名型的基本ACL,并进入基本ACL视图。

例:

(2)配置基本ACL的规则

[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard| any}| time-range time-name ]

在基本ACL视图下,通过此命令来配置基本ACL的规则。

4.2案例一:使用基本ACL过滤数据流量

配置需求:

在R1上部署基本ACL后,ACL将试图穿越R1 的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访R1右侧的服务器网络。

(1)配置PC

PC1:

PC2:

(2)配置R1接口IP信息

sys

undo info-center enable

sysname R1

int g0/0/0

interface GigabitEthernet0/0/0

 ip address 192.168.1.1 255.255.255.0

interface GigabitEthernet0/0/1

 ip address 10.1.1.2 255.255.255.0

interface GigabitEthernet0/0/2

 ip address 192.168.2.1 255.255.255.0

 quit

(3)验证网络连通性

PC1进行ping访问网关和server

(4)在R1上创建基本ACL,禁止192.168.1.0/24网段访问Internet 服务器网络:

acl 2000 

 rule 5 deny source 192.168.1.0 0.0.0.255

(5)由于从接口GE0/0/0进入R1,所以在接口GE0/0/0的入方向配置流量过滤:

interface GigabitEthernet0/0/0

traffic-filter inbound acl 2000

quit

(6)验证ACL

ACL规则生效,在R1的GE0/0/0入方向禁止PC1访问服务器,PC2不做ACL控制还是可以访问的。

4.3高级ACL的基础配置命令

(1)创建高级ACL

[Huawei] acl [ number ] acl-number [ match-order config ]

使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图。

[Huawei] acl name acl-name { advance | acl-number } [ match-order config ]

使用名称创建一个命名型的高级ACL,进入高级ACL视图。

(2)配置基本ACL的规则

根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。

当参数protocol为IP时,高级ACL的命令格式为

在高级ACL视图下,通过此命令来配置高级ACL的规则。

当参数protocol为TCP时,高级ACL的命令格式为

在高级ACL视图下,通过此命令来配置高级ACL的规则。

4.4案例二:使用高级ACL限制不同网段的用户互访

配置需求:

某公司通过R1实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址。

现要求R1能够限制两个网段之间互访,防止公司机密泄露。

(1)配置PC

研发部门PC 1:

市场部门PC 2:

(2)配置R1和Internet的接口IP

R1:

sys

sysname R1

undo info-center enable

interface GigabitEthernet0/0/0

 ip address 10.1.1.1 255.255.255.0

 quit

interface GigabitEthernet0/0/1

 ip address 10.1.2.1 255.255.255.0

quit

interface GigabitEthernet0/0/2

 ip address 12.1.1.1 255.255.255.252

quit

Internet:

sys

sysname Internet

undo info-center enable

interface GigabitEthernet0/0/0

 ip address 12.1.1.2 255.255.255.252

 quit

(3)验证网络连通性

PC 1 ping PC 2 和 Internet

(4)配置路由

R1:

ip route-static 0.0.0.0 0 12.1.1.2

Internet:

ip route-static 10.1.1.0 24 12.1.1.1

ip route-static 10.1.2.0 24 12.1.1.1

或配置汇总的静态路由

ip route-static 10.1.0.0 23 12.1.1.1

验证连通性PC1 ping Internet

(5)创建高级ACL 3001并配置ACL规则,拒绝研发部访问市场部的报文:

acl 3001

rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

quit

(6)创建高级ACL 3002并配置ACL规则,拒绝市场部访问研发部的报文:

acl 3002

rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

quit

(7)由于研发部和市场部互访的流量分别从接口GE0/0/0和GE0/0/1进入R1,所以在接口GE0/0/0和GE0/0/1的入方向配置流量过滤:

interface GigabitEthernet 0/0/0

traffic-filter inbound acl 3001

 quit

interface GigabitEthernet 0/0/1

 traffic-filter inbound acl 3002

quit

(8)验证结果

PC 1 访问PC 2

4.5案例三:使用ACL基本命名型和高级命名型做访问控制

配置需求:

PC 1在工作日周一至周五允许访问网络的时间为6:00-23:00;

PC 2 访问PC 1。

(1)R1已完成IP地址和路由的相关配置。

(2)配置PC 1访问网络的时间段

time-range time_to_internet 6:00 to 23:00 working-day

(3)在R1上创建PC 1访问网络的基本命名型ACL,并调用时间规则

acl name PC1_to_internet basic

rule permit source 10.1.1.0 0.0.0.255 time-range time_to_internet

quit

(4)在R1上创建PC 2禁止访问PC 1的高级命名型ACL

acl name deny_PC2_to_PC1 advance

rule deny ip source 10.1.2.2 0 destination 10.1.1.2 0

quit

(5)在R1的G0/0/0和G0/0/1接口的入方向配置流量过滤

int g0/0/0

traffic-filter inbound acl name PC1_to_internet

quit

int g0/0/1

traffic-filter inbound acl name deny_PC2_to_PC1

quit

(6)验证测试

查看所有的ALC

PC 2 访问PC 1

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值