HCIA项目实践---ACL访问控制列表相关知识和配置过程

news2025/3/13 11:35:37

十 ACL访问控制列表

1 策略的概念

在网络连通之后, 把所有为了追求控制而实现的技术都叫策略

2 访问控制

在路由器流量流入或者流出的接口上,匹配流量,执行相应的动作。(流量流入或者流出的接口并不是一个固定的概念而是一个相对的概念)

用permit允许,deny表示拒绝。

3 匹配感兴趣流

ACL可以和其他的技术或协议结合使用,ACL只负责匹配流量,而其他技术来完成执行的动作。

4 ACL的匹配规则

自上而下,逐一匹配,如果没有匹配上,则继续向下匹配;如果匹配上了,就执行对应的动作,不再向下匹配。

5 不同厂商的匹配规则不同

思科设备:在ACL列表末尾隐含一条拒绝所有的规则。(写允许命令方便)

华为设备:在ACL列表末尾没有隐含规则。(写拒绝命令方便)

6 ACL的分类

基础ACL:仅关注数据包的源IP地址

基础ACL的位置原则:因为它只关心源IP,所以,应该放在越靠近目标的位置,避免对其他网段造成误伤。

高级ACL:不仅关注数据包中的源IP地址,还关注目标IP地址、协议以及端口号。

高级ACL列表的位置原则:因为高级ACL是精准匹配,所以不会出现“误伤”的情况,越靠近源越好,因为可以节约链路资源。

7 ACL的配置

(1)实验环境如下图所示:

用于实现需求一和需求二的拓扑图

A:配置路由器的IP地址
 # 配置R1接口的IP地址
 <Huawei>sys
 [Huawei]sysname r1
 [r1]int g 0/0/0
 [r1-GigabitEthernet0/0/0]ip add 192.168.1.1 24
 [r1-GigabitEthernet0/0/0]int g 0/0/1
 [r1-GigabitEthernet0/0/1]ip add 192.168.2.1 24
 [r1-GigabitEthernet0/0/1]

 #配置R2接口的IP地址
 <Huawei>sys 
 [Huawei]sysname r2
 [r2]int g 0/0/0
 [r2-GigabitEthernet0/0/0]ip add 192.168.2.2 24
 [r2-GigabitEthernet0/0/0]
 [r2-GigabitEthernet0/0/0]int g 0/0/1
 [r2-GigabitEthernet0/0/1]ip add 192.168.3.1 24 
 [r2-GigabitEthernet0/0/1]

B:配置电脑的IP地址
 PC1: 192.168.1.2 掩码:255.255.255.0 网关:192.168.1.1
 PC2: 192.168.1.3 掩码:255.255.255.0 网关:192.168.1.1
 PC3: 192.168.3.2 掩码:255.255.255.0 网关:192.168.3.1
 PC4: 192.168.3.3 掩码:255.255.255.0 网关:192.168.3.1

C:现在需要网络能通(可以写静态,RIP或者OSPF)
 # 用静态路由让网络可达
 [r1]ip route-static 192.168.3.0 24 192.168.2.2
 [r2]ip route-static 192.168.1.0 24 192.168.2.1

检测网络是否可达:

 PC>ping 192.168.3.3
 Ping 192.168.3.3: 32 data bytes, Press Ctrl_C to break
 From 192.168.3.3: bytes=32 seq=1 ttl=126 time=63 ms
 From 192.168.3.3: bytes=32 seq=2 ttl=126 time=78 ms
 From 192.168.3.3: bytes=32 seq=3 ttl=126 time=78 ms
 From 192.168.3.3: bytes=32 seq=4 ttl=126 time=78 ms
 From 192.168.3.3: bytes=32 seq=5 ttl=126 time=78 ms

D:在网络可达的基础上,做一些控制

需求一: PC1可以访问192.168.3.0/24网段,但是PC2不行

经过分析可知: (1)我们用基础ACL就可以搞定,因为基础ACL只关心“你”是谁,也就是只关心源IP,PC1发送的让通过,PC2发送的不让通过,不需要刚关注PC1或PC2访问的是谁。

(2)如果在R1的0/0/1接口做,需求一虽然能实现,但是如果拓扑图连的后面的更多路由器的话,会造成PC2不能访问后面的所有网段,这就是所谓的”误伤“。

(3)所以,做基础ACL的话,越靠近目标网段越好。

 # 完成需求一的配置命令:
 ​
 #一:创建ACL列表
 [r2]acl 2000
 [r2-acl-basic-2000]
 ​
 #二:创建规则
 [r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0
 (0.0.0.0是通配符,由0和1组成,0对应的位置不可变,1对应的位置可变)
 (0.0.0.255的意思:只要是192.168.1.几来的信息都会被抓)
 (通配符不是由连续的1,0组成)
 ​
 #补充:
 #查看acl列表里规则的命令:
 [r2-acl-basic-2000]rule permit source any  ---允许所有
 [r2]disp    
 [r2]display acl 2000
 Basic ACL 2000, 2 rules
 Acl's step is 5
  rule 5 deny source 192.168.1.3 0 
  rule 10 permit 
 ​
  #为什么ACL列表里面是5,10而不是连续数字?
  注意:华为设备的ACL规则默认以5为步调自动添加序号,目的是为了方便插入或者删除规则
 [r2]acl 2000
 [r2-acl-basic-2000]rule 7 deny source 192.168.1.2 0.0.0.0
 [r2-acl-basic-2000]disp 
 [r2-acl-basic-2000]display acl 2000
 Basic ACL 2000, 3 rules
 Acl's step is 5
  rule 5 deny source 192.168.1.3 0 
  rule 7 deny source 192.168.1.2 0 
  rule 10 permit 
  
  如果想删除那个规则,可以用:
 [r2-acl-basic-2000]undo rule 7
 [r2-acl-basic-2000]display acl 2000
 Basic ACL 2000, 2 rules
 Acl's step is 5
  rule 5 deny source 192.168.1.3 0 
  rule 10 permit 
  
 # 三:调用 
 [r2]int g 0/0/1
 [r2-GigabitEthernet0/0/1]traffic-fil    
 [r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000

四:测试

PC1可以通:

PC2不可以通:

需求二:PC1可以正常访问PC3,但是不能访问PC4

经过分析可知:这个实验需要用高级ACL做,因为不仅关心你是“谁”(源IP),而且关心目标IP(你要去哪)、协议以及端口号。

高级ACL不会产生“误伤”的情况下,越靠近源IP越好,可节省链路资源。

 # 配置需求二的命令
 ​
 #一、创建高级ACL列表
 [r1]acl name xuqiuer 3000
 [r1-acl-adv-xuqiuer]
 ​
 #二:创建规则
 选协议的时候:目的是想让PC1和PC4彻底断开联系,因为很多协议都是基于IP之上的,所以控制IP就可以。
 [r1-acl-adv-xuqiuer]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.
 3.3 0.0.0.0
 [r1-acl-adv-xuqiuer]
 ​
 #三、调用
 [r1]int g 0/0/0
 [r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xuqiuer
 [r1-GigabitEthernet0/0/0]

四、测试

需求三 :PC1可以ping通R2,但是不能telnetR2

此时用一台路由器代替PC

 # 实现需求三的配置
 ​
 # 一、开启PC2的Telnet服务功能
 [r2]aaa
 [r2-aaa]local-user zhenzhen privilege level 15 password cipher 202419 ---创建用户名和密码
 Info: Add a new user.
 [r2-aaa]local-user zhenzhen service-type telnet ---添加telnet服务类型
 [r2-aaa]
 ​
 [r2-aaa]q
 [r2]user-interface vty 0 4 ---开启0到4五个vty虚拟登录端口
 [r2-ui-vty0-4]authentication-mode aaa ---按照aaa的方式进行认证
 [r2-ui-vty0-4]
 ​
 # 二、为了显示效果,用路由器模拟一台电脑
 [zhenzhen]int g 0/0/0
 [zhenzhen-GigabitEthernet0/0/0]ip add 192.168.1.10 24 ---配置IP地址
 [zhenzhen-GigabitEthernet0/0/0]
 ​
 # 三、由于没有路由,所以需要写一条缺省路由,不限制目标,把数据包给R1,让它帮忙转发。(跨网段通信)
 [zhenzhen]ip route-static 0.0.0.0 0 192.168.1.1
 (做完缺省,此时就可以通了)
 ​
 # 四、开始远程登录操作
 <zhenzhen>telnet 192.168.2.2
   Press CTRL_] to quit telnet mode
   Trying 192.168.2.2 ...
   Connected to 192.168.2.2 ...
 ​
 Login authentication
 ​
 Username:zhenzhen
 Password:
   
 # 五、拒绝PC1的telnet服务
 注意:telnet协议是基于tcp的,实现需求三不能telnet服务,策略上也是利用高级ACL
 r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23
 不是1.10给2.2发送的所有tcp流量都取消,而是取消tcp里面的telnet流量,所以后面的目标端口号要写,并且eq表示等于目标端口号。
 ​
 # 六、调用(一个接口的一个方向只能调用一张ACL列表,为了做这个实验先牺牲一下上面的ACL列表)
 [r1]int g 0/0/0
 [r1-GigabitEthernet0/0/0]undo traffic-filter inbound
 [r1-GigabitEthernet0/0/0]traffic-filter inbound acl 3001
 ​
 # 七、不能进行telnet服务,但是能ping通
 <zhenzhen>telnet 192.168.2.2
   Press CTRL_] to quit telnet mode
   Trying 192.168.2.2 ...
   Error: Can't connect to the remote host
   
   <zhenzhen>ping 192.168.2.2
   PING 192.168.2.2: 56  data bytes, press CTRL_C to break
     Reply from 192.168.2.2: bytes=56 Sequence=1 ttl=254 time=70 ms
     Reply from 192.168.2.2: bytes=56 Sequence=2 ttl=254 time=50 ms
     Reply from 192.168.2.2: bytes=56 Sequence=3 ttl=254 time=50 ms
     Reply from 192.168.2.2: bytes=56 Sequence=4 ttl=254 time=70 ms
     Reply from 192.168.2.2: bytes=56 Sequence=5 ttl=254 time=50 ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2300446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

细说STM32F407单片机RTC入侵检测和时间戳的原理及使用方法

目录 一、入侵检测的功能 二、示例功能 三、项目设置 1、晶振、DEBUG、CodeGenerator、USART6、KEYLED 2、RTC &#xff08;1&#xff09;设置RTC的模式。 &#xff08;2&#xff09;General、Time、Date\Wake Up分组 &#xff08;3&#xff09;Tamper分组 1&#xff…

搜狗浏览器卸载教程

需求背景 今天发现geek居然无法卸载搜狗浏览器&#xff0c;作为一个老司机&#xff0c;这是不允许的。如果你使用geek或者windows的卸载&#xff0c;或者直接在它的安装包的Uninstall.exe中卸载&#xff0c;他走到100%就一直不动了。那玩意是假的。 卸载教程 结束 -----华丽的…

音视频入门基础:RTP专题(9)——FFmpeg接收RTP流的原理和内部实现

一、引言 由《音视频入门基础&#xff1a;RTP专题&#xff08;2&#xff09;——使用FFmpeg命令生成RTP流》可以知道&#xff0c;推流端通过下面FFmpeg命令可以将一个媒体文件转推RTP&#xff0c;生成RTP流&#xff1a; ffmpeg -re -stream_loop -1 -i input.mp4 -vcodec cop…

STM32 串口转 虚拟串口---实现USB转串口功能

一&#xff0c;USART与UART 区别 USART&#xff08;Universal Synchronous/Asynchronous Receiver/Transmitter&#xff09;通用同步/异步串行接收/发送器 相较于UART&#xff1a;通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;多了…

【进程与线程】Linux 线程、同步以及互斥

每个用户进程有自己的地址空间。 线程是操作系统与多线程编程的基础知识。 系统为每个用户进程创建一个 task_struct 来描述该进程&#xff1a;该结构体中包含了一个指针指向该进程的虚拟地址空间映射表&#xff1a; 实际上 task_struct 和地址空间映射表一起用来表示一个进程…

胶囊网络动态路由算法:突破CNN空间局限性的数学原理与工程实践

一、CNN的空间局限性痛点解析 传统CNN的瓶颈&#xff1a; 池化操作导致空间信息丢失&#xff08;最大池化丢弃85%激活值&#xff09;无法建模层次空间关系&#xff08;旋转/平移等变换不敏感&#xff09;局部感受野限制全局特征整合 示例对比&#xff1a; # CNN最大池化示例…

当pcie设备变化时centos是否会修改网络设备的名称(AI回答)

当pcie设备变化时centos是否会修改网络设备的名称 在CentOS&#xff08;以及其他基于Linux的操作系统&#xff09;中&#xff0c;网络接口的命名通常遵循特定的规则&#xff0c;尤其是在使用PCIe设备&#xff08;如网络适配器&#xff09;时。网络接口的命名通常基于设备的物理…

【做一个微信小程序】校园地图页面实现

前言 上一个教程我们实现了小程序的一些的功能&#xff0c;有背景渐变色&#xff0c;发布功能有的呢&#xff0c;已支持图片上传功能&#xff0c;表情和投票功能开发中&#xff08;请期待&#xff09;。下面是一个更高级的微信小程序实现&#xff0c;包含以下功能&#xff1a;…

Web后端 - Maven管理工具

一 Maven简单介绍 Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 Maven的作用 二 Maven 安装配置 依赖配置 依赖传递 依赖范围 生命周期 注意事项&#xff1a;在同一套生命周期中&#xff0c;当运行后面的阶段时&#xff0c;前面的阶段都…

20250217-POMO笔记

文章目录 前言一、伪代码一&#xff1a;POMO Training二、伪代码二&#xff1a;POMO Inference三、POMO注意力模型3.1、自注意力机制3.2、AM模型 前言 以下主要讲解两个算法的伪代码以及注意力模型。 一、伪代码一&#xff1a;POMO Training POMO Training是POMO模型训练的伪…

JavaEE-SpringBoot快速入门

文章目录 本节目标Maven什么是Maven创建一个Maven项目maven项目功能maven的依赖管理全球仓库, 私服, 本地服务器, 配置国内镜像 第一个SpringBoot项目创建项目运行SpringBoot程序 SpringBoot原理初步Web服务器 总结 本节目标 了解什么是maven, 配置国内源使用Springboot创建项…

游戏引擎学习第107天

仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾我们之前停留的位置 在这段内容中&#xff0c;讨论了如何处理游戏中的三维效果&#xff0c;特别是如何处理额外的“Z层”。由于游戏中的艺术资源是位图而不是3D模型&#xff0c;因此实现三维效果变得非常具有挑战性。虽然可…

ComfyUI流程图生图原理详解

一、引言 ComfyUI 是一款功能强大的工具&#xff0c;在图像生成等领域有着广泛应用。本文补充一点ComfyUI 的安装与配置过程遇到的问题&#xff0c;并深入剖析图生图过程及相关参数&#xff0c;帮助读者快速入门并深入理解其原理。 二、ComfyUI 的安装与配置中遇到的问题 &a…

使用右侧值现象来处理一个word导入登记表的需求

需求也简单&#xff0c;导word文件用户登记表&#xff0c;有各部门的十几个版本&#xff08;为什么这么多&#xff1f;不知道&#xff09;。这里说下谈下我的一些代码做法&#xff1a; 需求分析&#xff1a; 如果能解决java字段和各项填的值怎么配对的问题&#xff0c;那么就…

《open3d pyqt》Alpha重建

《open3d pyqt》Alpha重建 一、效果展示二、qt设置2.1 主界面添加动作2.2 dialog 界面、布局如下:三、核心代码一、效果展示 二、qt设置 2.1 主界面添加动作 2.2 dialog 界面、布局如下: 并生成py文件,参考前述章节 三、核心代码 main.py文件增加 from Su

小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)

文章标题 01 功能说明02 效果预览2.1 横版2.2 竖版 03 使用方式04 横向签名组件源码4.1 html 代码4.2 业务 Js4.3 样式 Css 05 竖向签名组件源码5.1 布局 Html5.2 业务 Js5.3 样式 Css 01 功能说明 技术栈&#xff1a;uniapp、vue、canvas 2d 需求&#xff1a; 实现横版的全…

MoE演变过程

MoE演变过程 1 MoE1.1 BasicMoE1.2 SparseMoE1.2.1 实现 1.3 Shared Expert SparseMoE 1 MoE 参考&#xff1a;https://huggingface.co/blog/zh/moe 1.1 BasicMoE 用router给出各专家的权重&#xff0c;然后让输入过每一个专家&#xff0c;然后做加权求和。 1.2 SparseMoE …

【实战项目】BP神经网络识别人脸朝向----MATLAB实现

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

【1.8w字深入解析】从依赖地狱到依赖天堂:pnpm 如何革新前端包管理?

目录 前言npm 的诞生与发展嵌套依赖模型存在的问题npm3架构与yarnYarn 的诞生与局限Yarn 的诞生背景Yarn 仍然存在的问题 何为幽灵依赖依赖结构的不确定性pnpm王牌登场 -- 网状平铺结构安装包速度快依赖管理软链接 和 硬链接 机制 幽灵依赖产生的根本原因包管理工具的依赖解析机…

137,【4】 buuctf web [SCTF2019]Flag Shop

进入靶场 都点击看看 发现点击work会增加&#xffe5; 但肯定不能一直点下去 抓包看看 这看起来是一个 JWT&#xff08;JSON Web Token&#xff09;字符串。JWT 通常由三部分组成&#xff0c;通过点&#xff08;.&#xff09;分隔&#xff0c;分别是头部&#xff08;Header&…