2022-01-02 网工基础(十八)ACL原理与配置

访问控制列表(ACL)是网络设备中用于控制流量的关键工具,通过匹配报文规则实现访问控制。ACL包括基本ACL、高级ACL、二层ACL等多种类型,覆盖IP地址、端口、MAC地址等多个层面。配置ACL时需注意规则的顺序和隐含规则,如无明确指定,默认拒绝所有流量。实验展示了如何在不同接口方向上应用ACL,以及如何通过通配符掩码匹配多个IP地址。
摘要由CSDN通过智能技术生成

ACL原理与配置

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

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

一 ACL概述

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

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

二 ACL的基本概念及其工作原理

1 ACL的组成

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

规则的执行顺序从上而下执行,一旦匹配到某一条规则后续规则不再匹配执行,在书写ACL是我们要遵循精确的规则在上。而粗狂的规则在下的书写原则。

ACL的隐示规则(虽然没有配置不显示,除了流量过滤-源IP以外默认为deny拒绝所有),流量过滤只能控制经过的流量,通常不能控制本地始发的流量

2 规则编号与步长

规则编号(Rule ID)

一个ACL中的每一条规则都有一个相应的编号。

步长(Step)

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

Rule ID分配规则

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

3 ACL的分类与标识

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

分类编号范围规则定义描述
基本ACL2000~2999仅使用报文的源IP地址分片信息生效时间段信息来定义规则。
高级ACL3000~3999可使用IPv4报文的源IP地址目的IP地址IP协议类型ICMP类型、TCP源/目的端口号UDP源/目的端口号生效时间段等来定义规则。
二层ACL4000~4999使用报文的以太网帧头信息来定义规则,如根据源MAC地址目的MAC地址二层协议类型等。
用户自定义ACL5000~5999使用报文头偏移位置字符串掩码用户自定义字符串来定义规则。
用户ACL6000~6999既可使用IPv4报文的源IP地址源UCL(User Control List)组,也可使用目的IP地址目的UCL组IP协议类型ICMP类型TCP源端口/目的端口UDP源端口/目的端口号等来定义规则。

基于ACL标识方法的分类

分类规则定义描述
数字型ACL传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。
命名型ACL通过名称代替编号来标识ACL。

相关命令

创建ACL编号

[Huawei]acl ?
  INTEGER<2000-2999>  Basic access-list(add to current using rules)
  INTEGER<3000-3999>  Advanced access-list(add to current using rules)
  INTEGER<4000-4999>  Specify a L2 acl group
  ipv6                ACL IPv6 
  name                Specify a named ACL
  number              Specify a numbered ACL

在ACL编号下创建规则

[Huawei-acl-basic-2000]rule 5 deny source ?
  IP_ADDR<X.X.X.X>  Address of source
  any               Any source

在接口下调用流量过滤的ACL规则

[Huawei-GigabitEthernet0/0/0]traffic-filter ?
  inbound   Apply ACL to the inbound direction of the interface 
  outbound  Apply ACL to the outbound direction of the interface 

查看所有的ACL规则

<Huawei>display acl all

实验一:配置基本ACL(入方向)

 主机配置

 

交换机配置

[AR1]acl 2000     \\创建ACL编号2000

[AR1-acl-basic-2000]rule 5 deny source 192.168.1.5 0     \\拒绝PC1的流量

[AR1-acl-basic-2000]rule 10 deny source 192.168.1.10 0     \\拒绝PC2的流量

[AR1-acl-basic-2000]rule 10000 permit source any     \\允许其他任何流量通过

[AR1-GigabitEthernet0/0/0]ip address 192.168.1.1 24     \\设置IP和掩码

[AR1-GigabitEthernet0/0/0]traffic-filter inbound acl 2000     \\在接口 GE 0/0/0 的输入方向上应用 acl 2000 的规则

测试连通性

 

 

 通过测试,发现主机1和主机2无法ping通路由器,而其他2台主机可以ping通,配置成功。

实验二:配置基本ACL(出方向)

主机配置同上

路由器AR1配置

[AR1-GigabitEthernet0/0/0]undo traffic-filter inbound     \\取消上个实验中在接口 GE 0/0/0的入方向上的ACL规则

[AR1-GigabitEthernet0/0/1]ip address 1.1.1.1 24     \\配置IP和掩码

[AR1-GigabitEthernet0/0/1]traffic-filter outbound acl 2000     \\在接口 GE 0/0/1 的出方向上应用ACL规则

路由器AR2配置

[AR2]ip route-static 0.0.0.0 0 1.1.1.1     \\配置静态默认路由

[AR2-GigabitEthernet0/0/1]ip address 1.1.1.2 24     \\配置IP和掩码

连通性测试

 

通过测试发现,主机1和主机2虽然可以ping通路由器AR1的GE 0/0/1接口,但是不能ping通路由器AR2的GE 0/0/0接口,而其他主机都可以ping通路由器AR2的GE 0/0/0接口。

实验三:配置高级ACL(基于目标IP地址)

主机配置同上

路由器AR1配置

[AR1]acl 3000


[AR1-acl-adv-3000]rule 5 deny ip destination 1.1.1.2 0


[AR1-acl-adv-3000]rule 10000 permit ip source any destination any


[AR1-GigabitEthernet0/0/1]undo traffic-filter outbound


[AR1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000

连通性测试

 

 

通过测试可以看出,四台主机都能ping通1.1.1.1,但是不能ping通1.1.1.2,实验成功。

实验四:配置高级ACL(基于协议)

路由器AR2配置

[AR2]user-interface vty 0 4     \\进入用户VTY 0 4接口

[AR2-ui-vty0-4]authentication-mode password     \\修改认证模式为密码方式

[AR2-ui-vty0-4]set authentication password cipher 123456     \\设置密文密码123456

[AR2-ui-vty0-4]user privilege level 15     \\配置用户权限等级为15

[AR2-ui-vty0-4]protocol inbound telnet     \\开启telnet方式登录

[AR2]acl 3100     \\创建ACL编号3100

[AR2-acl-adv-3100]rule 5 deny icmp     \\拒绝ICMP流量

[AR2-acl-adv-3100]rule 20 permit tcp     \\允许TCP流量

[AR2-GigabitEthernet0/0/0]traffic-filter inbound acl 3100     \\在接口GE 0/0/0的入方向应用ACL3100规则

在路由器AR1上测试效果

 

测试发现ping(ICMP)不通,但是telnet(TCP)没问题,实验成功。

三 通配符掩码(Wildcard)

通配符掩码是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配,用于匹配多个特定的IP地址、或者一段连续的IP地址

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

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

严格匹配:意思是对应的IP地址中的这一位不发生变化

任意:意思是对应的IP地址中的这一位既可以是0也可以是1

举例一:匹配两个地址

192.168.1.5     0.0.0.1

首先将IP地址和通配符掩码转换为二进制

11000000‭10101000‬000000010000‭0101‬
00000000000000000000000000000001

分析:通配符掩码的前面31位都是0,那么IP地址对应的前面31位都不可以发生变化,而最后位是1,那么IP地址中的最后位既可以是0,也可以是1。计算后,它匹配的是192.168.1.4和192.168.1.5这2个地址

举例二:匹配多个地址

192.168.1.5     0.0.0.3

11000000‭10101000‬000000010000‭0101‬
00000000000000000000000000000011

分析:通配符掩码的前面30位都是0,那么IP地址对应的前面30位都不可以发生变化,而最后2位是1,那么IP地址中的最2位既可以是0,也可以是1。计算后,它匹配的是192.168.1.4 --- 192.168.1.7这4个地址

举例三:匹配整个网段

192.168.1.5     0.0.0.255

11000000‭10101000‬000000010000‭0101‬
00000000000000000000000011111111

分析:通配符掩码的前面24位都是0,那么IP地址对应的前面24位都不可以发生变化,而最后8位是1,那么IP地址中的最8位既可以是0,也可以是1。计算后,它匹配的是192.168.1.0 --- 192.168.1.255,也就是192.168.1.0/24这个网段

举例四:匹配多个不连续的地址

192.168.1.5     0.0.0.254

11000000‭10101000‬000000010000‭0101‬
00000000000000000000000011111110

分析:通配符掩码的前面24位和第32位都是0,那么IP地址对应的前面24位和第32位都不可以发生变化,而第25位到31是1,那么IP地址中的第25位到31既可以是0,也可以是1。计算后,它匹配的是192.168.1.1、192.168.1.3、192.168.1.5、192.168.1.7、192.168.1.9、192.168.1.11~~~~~~,也就是192.168.1.0/24这个网段中所有的奇数

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅一只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值