必须要掌握的ACL(Access Control Lists,访问控制列表)技术

一、访问控制列表概述

1.1 访问控制列表

ACL两种作用:

  1. 用来对数据包做访问控制(丢弃或者放行)
  2. 结合其他协议,用来匹配范围

ACL

  • 读取第三层、第四层包头信息;
  • 根据预先定义好的规则对包进行过滤

访问控制列表的四个元素:(也可以是5元素,包含协议)

  • IP报头:
    • 源地址
    • 目标地址
  • TCP报头:
    • 源端口
    • 目标端口

1.2 访问控制列表的工作原理

  • 访问控制列表在接口应用的方向:
    • 出方向:已经过路由器的处理,正离开路由器接口的数据包
    • 入方向:已到达路由器接口的数据包,将被路由器处理
      访问控制列表
      列表应用到接口的方向与数据方向有关
  • 访问控制列表的处理过程
    在这里插入图片描述
    工作原理:当数据包从接口经过时,由于接口启用了acl,此时路由器会对报文进行检查,然后做出相应的处理。

1.3 ACL的种类

  1. 基本ACL(2000-2999):只能匹配源IP地址。
  2. 高级ACL(3000-3999):可以匹配源IP、目标IP、源端口、目标端口等三层和四层的字段。
  3. 二层ACL(4000-4999):根据数据包的源MAC地址、目的MAC地址、802.1q优先级、二层协议类型等二层信息制定规则。

1.3 ACL的应用原则和规则

1.3.1 ACL的应用原则

  1. 基本ACL:尽量用在靠近目的点
  2. 高级ACL:尽量用来靠近源的地方(可以保护带宽和其他资源)

1.3.2 ACL的应用规则

  1. 一个接口的同一个方向,只能调用一个acl;
  2. 一个acl里而可以有多个rule规则,按照规则ID从小到大排序,从上往下依次执行;
  3. 数据包一旦被某rule匹配,就不再继续向下匹配;
  4. 用来做数据包访问控制时,默认隐含放过所有(华为设备)。

1.4 相关命令

//创建acl 2000
[Huawei]acl number 2000 
//拒绝源地址为192.168.1.1的流量,0代表仅此-一台,5是这条规则的序号( 可不加)
[Huawei-acl-basic- 2000]rule 5 deny source 192.168.1.1 0     
//接口出方向调用acl   
[Huawei -Gigabi tEthernet0/0/1]traffic- filter outbound acl 2000     
//###permit代表允许,source代表 来源,掩码部分为反掩码
[Huawei-acl-basic-2001]rule permit source 192.168.1.0 0.0.0.255      
//拒绝所有访问,any代表所有0.0.0.0 255.255.255.255
[Huawei-acl-basic-2001]rule deny source any     

//拒绝tcp为高级控制,所以3000起
[Huawei]acl nmuber 3000        
// 拒绝Ping,ping命令属于ICMP协议
[Huawei-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0    
//destination代表目的地地址,destination-port代表目的端口号,80可用www代替
[Huawei-acl-adv-3000]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq 80
// 拒绝源地址192.168.10.0网段访问FTP服务器12.0.0.2
[Huawei-acl-adv-3000]rule deny tcp source 192.168.10.0 0.0.0.255 destination 12.0.0.2 destination-port eq 21      
//在接口入方向应用acl
[Huawei-Gigabi tEthernet0/0/0] traffic- filter inbound acl 3000    
//在接口.上取消acl的应用
[Huawei-GigabitEthernet0/0/1]undo traffic-filter inbound

[Huawei] display acl 3000     ###显示acl配置
[Huawei-acl-adv-3000]dis this     ###查看规则序号
[Huawei-acl-adv-3000]undo rule 5   ###删除一条acl语句
[Huawei]undo acl number 3000     ###删除整个ACL

1.5 相关实验

要求1:完成相关配置,仅允许PC1可以和PC3实现互通

在这里插入图片描述
R1 配置如下:

The device is running!
//进行管理模式
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
//修改名称为R1 
[Huawei]sys R1
//关闭信息提示
[R1]un in en
Info: Information center is disabled.
//进入R1的接口0/0/0
[R1]int g0/0/0
//添加IP地址为192.168.1.254 子网掩码位24
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
//进入R1的接口0/0/1
[R1-GigabitEthernet0/0/0]int g0/0/1
//添加IP地址为192.168.3.254 子网掩码位24
[R1-GigabitEthernet0/0/1]ip address 192.168.3.254 24
//进入R1的接口0/0/2
[R1-GigabitEthernet0/0/1]int g0/0/2
//添加IP地址为192.168.2.254 子网掩码位24
[R1-GigabitEthernet0/0/2]ip address 192.168.2.254 24
//退出接口模式
[R1-GigabitEthernet0/0/2]q
//创建acl2000
[R1]acl 2000
//设置仅允许IP为192.168.1.1的一台主机访问
[R1-acl-basic-2000]rule permit source 192.168.1.1 0
//拒绝所有其他网络访问,因为华为交换机默认是允许所有,所以要拒绝所有
[R1-acl-basic-2000]rule deny source any 
//退出acl模式
[R1-acl-basic-2000]q
//再次今天R1的0/0/0接口
[R1]int g0/0/2
//接口出方向调用acl 2000
[R1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000

各主机配置如下:
在这里插入图片描述
测试结果如下:实现了需求
在这里插入图片描述

要求2:禁止192.168.1.0/24网段的设备ping Web服务器

分析:
1)禁止ping命令属于ICMP协议,所以要使用高级ACL
2)前面做要求一的时候,将acl2000配置为只允许pc1通过,所以这里需要新增一条规则。
R1新增配置如下:

//因为需要禁止ICMP中的ping命令,所以选择高级acl
[R1]acl 3000
//配置拒绝192.168.1.0网段可以和目标网段使用ICMP协议(此处就代表ping命令)
[R1-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0
//进入接口0/0/0
[R1-acl-adv-3000]int g0/0/0
//接口入方向调用acl 3000
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
//退出接口
[R1-GigabitEthernet0/0/0]q
//进入ACL 2000重新配置
[R1]acl 2000
//添加一条规则,允许192.168.3.0网段通过,此处优先级我选择的是7,其他也可以
[R1-acl-basic-2000]rule 7 permit source 192.168.3.0 0.0.0.255 
//查看规则是否配置成功,以及其他规则是否正确
[R1-acl-basic-2000]dis this
[V200R003C00]
#
acl number 2000  
 rule 5 permit source 192.168.1.1 0 
 rule 7 permit source 192.168.3.0 0.0.0.255 
 rule 10 deny 
#
return

测试结果如下:
pc1和client属于192.168.1.0网段,所以都ping不通
pc2不在限制网段,所以可以ping通
在这里插入图片描述
ICMP协议禁止后,但是还是可以正常访问的,这里我们开启server的80端口,放入test文件测试后可以发现,client主机还是可以正常访问server服务器的。
在这里插入图片描述

要求3:仅允许client1访问server的www服务

分析:
1)直接配置允许client1访问服务器,然后拒绝其他所有即可
2)由于一个接口只允许一个acl所以这里要在另一个接口调用acl
R1新增配置如下:

//新增acl  3001
[R1]acl 3001
//允许192.168.1.3通过TCP协议访问服务器的wwww服务
[R1-acl-adv-3001]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 
destination-port eq 80
//拒绝其他所有
[R1-acl-adv-3001]rule deny tcp source any 
//进入接口0/0/1,因为0/0/0接口调用了acl3000
[R1-acl-adv-3001]int g0/0/1
//在接口出方向调用acl3001
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 3001

测试结果如下:client1可以正常访问服务器,如果删除此项,便无法访问
在这里插入图片描述
关闭rule 5(也就是上面设置的允许访问协议)进行测试

[R1-acl-adv-3001]undo rule 5

测试结果如下:访问失败
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码海小虾米_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值