当前位置: 首页 > news >正文

思科模拟器 | 访问控制列表ACL实现网段精准隔绝

在这里插入图片描述

在这里插入图片描述

文章目录

  • 一、ACL工作原理
  • 二、ACL分类初步介绍
  • 三、标准ACL
    • 1、标准ACL的决策过程
    • 2、标通配符掩码关键字
    • 3、标准ACL网络拓扑
    • 4、标准ACL演示
    • 5、实战讲解
  • 四、扩展ACL
    • 1、基础语法明细
    • 2、扩展ACL示例
    • 3、扩展ACL网络拓扑
    • 4、实战讲解
  • 五、总结与提炼

一、ACL工作原理

ACL(Access Control List)是一种网络安全技术,用于控制网络通信和访问权限。它使用规则列表以限制哪些计算机或网络服务可以与另一个计算机或网络服务进行通信,从而为网络提供了一个基本安全机制。

  • 下面是一组有关TCP的会话,很好地体现了ACL的面对外来请求访问的严谨性

在这里插入图片描述

包过滤

ACL还有一个很重要的特性就是包过滤,它可以在网络中可以用于包过滤,可以实现对进入和离开网络的IP数据包进行过滤和控制

ACL包过滤原理:

  1. 当一个网络接口收到一个IP数据包时,设备会检查它的源地址、目的地址、协议类型,以及端口等信息;
  2. 设备会将这些信息与已经配置好的ACL规则(由管理员事先定义)进行比较匹配;
  3. 如果数据包匹配上了ACL规则,则设备执行相应的操作,如允许包通过或者拒绝包进出设备;
  4. 如果数据包没有匹配到任何ACL规则,则根据默认策略(例如允许所有数据包通过或者拒绝所有数据包进出设备)决定是否允许包通过。

下面是一个有关ACL包过滤的实例,ACL面对不同网络的连接,会去查看其是否为80端口,依次来作出permit还是deny
在这里插入图片描述

二、ACL分类初步介绍

  • 标准 ACL

在这里插入图片描述

  • 扩展 ACL
    在这里插入图片描述
    当然,对于ACL来说是不可以乱放的,下面是ACL放置原则

在这里插入图片描述

三、标准ACL

了解了ACL的基本概念后,我们来学习一下标准ACL该如何配置

1、标准ACL的决策过程

在这里插入图片描述

2、标通配符掩码关键字

然后我们通过两个示例来看看ACL的通配符掩码

在这里插入图片描述
在这里插入图片描述

  • 下面这个ACL配置就只允许主机号为192.168.10.10通过

在这里插入图片描述

  • 下面这个ACL呢就允许所有网段通过

在这里插入图片描述

3、标准ACL网络拓扑

在这里插入图片描述

4、标准ACL演示


基本语法:

Router(config)# access-list access-list-number {deny|permit} source [source-wildcard ] 
  • 然后我在路由器R1的地方打了一个标准ACL
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#acc
Router(config)#access-list 10 permit 192.168.10.0 0.0.0.255
Router(config)#ex
Router#
%SYS-5-CONFIG_I: Configured from console by consol
  • 接着使用show access-lists就可以看到我们打ACL的情况
Router#show acc
Router#show access-lists 
Standard IP access list 1010 permit 192.168.10.0 0.0.0.255
Router#

当然,打了ACL后也是可以取消的,那就是使用no access-list

  • 看到我将这个ACL取消后,再去show的话就什么都没有了
Router(config)#no access-list 10
Router(config)#ex
Router#
%SYS-5-CONFIG_I: Configured from console by consoleRouter#show ac
Router#show access-lists 
Router#

看了上面的这些后可能还是比较懵,我再来举几个标准ACL的示例

  1. 访问控制列表2拒绝IP为192.168.10.10的主机进行访问
access-list 2 deny host 192.168.10.10
  1. 访问控制列表2允许192.168.10.0的网段进行访问
access-list 2 permit 192.168.10.0 0.0.0.255
  1. 访问控制列表2允拒绝192.168.0.0的网段进行访问
access-list 2 deny 192.168.0.0 0.0.255.255
  1. 访问控制列表2允许192.0.0.0的网段进行访问
access-list 2 permit 192.0.0.0 0.255.255.255

5、实战讲解

一、配置扩展ACL

  • 在配置模式下,使用命令access-list [编号] [permit/deny] [协议] [源IP地址] [通配符] [目的IP地址] [通配符] [操作符] [端口号]来创建扩展ACL。其中,编号范围为100-199和2000-2699,协议可以是ip、tcp、udp等
  • 若想禁止IP地址为192.168.1.1的主机访问网页,则可以使用以下命令
access-list 101 deny tcp 192.168.1.1 0.0.0.0 any eq 80

二、应用ACL

  • 接口配置模式下,使用命令ip access-group [ACL编号] [in/out]来应用ACL。其中
    • in表示对进入接口的数据包进行过滤
    • out表示 对从接口发出的数据包进行过滤
  • 若想在接口GigabitEthernet0/0/1上应用刚才创建的ACL,则可以使用以下命令进入接口配置模式
interface GigabitEthernet 0/0/1

三、验证配置ACL

  • 可以使用命令show access-lists来查看ACL的配置情况,使用命令show ip access-group来查看ACL在接口下的应用情况
  • 例如,若想查看刚才创建的ACL的配置情况,则可以使用命令show access-lists 101;若想查看接口GigabitEthernet0/0/1上应用的ACL情况,则可以使用命令
show ip access-group interface GigabitEthernet 0/0/1

四、配置结果查看

  • 首先我们来看看ACL的配置情况,它除了deny一条【192.168.1.0】的网段外,对其他的网段全部都是开放的

在这里插入图片描述

  • 通过下图就可以很直观地看出因为我在路由器R1上打了一条ACL,于是192.168.1.0这个网段中的所有主机都过不来了,但是192.168.2.0中的主机都是可以过来的

在这里插入图片描述

  • 想要查看结果的话很简单,我们通过ping一下172.16.1.0网段中的主机PC5即可。可以观察到有一条结果是这下面这样,这表示【不可达】
Destination host unreachable

在这里插入图片描述

  • PC1ping不通了,那我们换另一个网段中的PC3来试试。可以看到是可以ping通的,说明我们打的ACL访问控制起到了作用,限制了固定网段不可访问

在这里插入图片描述

四、扩展ACL

看完了标准 ACL后,我们再来看看的扩展ACL该如何实现

1、基础语法明细

首先来看看扩展ACL的基础语法

在这里插入图片描述

  • 相信上面的这么一大串语句你一定看懵了,没关系可以对照下面的这个表格来进行学习

在这里插入图片描述

2、扩展ACL示例

首先我们要了解一下扩展ACL的过滤条件
① 源地址
② 目的地址
③ 协议
④ 端口号

示例一

  • 我来解释一下第一条:访问列表114允许任何端口号为23的192.168.20.0这个网段中的任何主机通过TCP连接进行访问

在这里插入图片描述
示例二

  • 也是一样把第一条叙述一下:访问列表114允许192.168.20.0这个网段中的任何主机通过TCP连接,然后惊醒Telnet远程登录进行访问

在这里插入图片描述

3、扩展ACL网络拓扑

下面是扩展的ACL拓扑,和标准ACL拓扑是一样的

在这里插入图片描述

4、实战讲解

  • 对于扩展ACL来说,我是在路由器R2中进行设置的,因为它应该尽量靠近过滤源,这样创建的过滤器就不会反过来影响其他接口上的数据流

在这里插入图片描述
然后我一一来解析一下这三句话的含义

10 deny icmp host 192.168.1.1 any echo
  • 首先第一句是禁止任何来源的 ICMP 回显请求(ping)到达 IP 地址为 192.168.1.1 的主机
    • deny】:拒绝访问的策略。也可以是 permit,表示允许访问
    • icmp】:指定规则针对 ICMP 协议
    • host 192.168.1.1】:指定规则作用于 IP 地址为 192.168.1.1 的主机
    • any echo】:指定规则拒绝所有来源的 ICMP Echo 请求(类型值为 8)
    • (10 match(es))】:指定匹配此规则的次数限制为10次
20 permit ip any any (10 match(es))
  • 接下去第二句的意思是:允许所有来源和目标的 IP 通信通过,匹配此规则的次数为10次
    • permit】:允许访问的策略。也可以是 deny,表示禁止访问。
    • ip】:指定规则针对 IP 协议
    • any any】:指定规则作用于所有来源和目标地址,即不限制数据包的源地址、目的地址和端口等信息
30 permit tcp host 192.168.1.1 any eq telnet
  • 接下去第三句的意思是:允许来自 IP 地址为192.168.1.1的主机发起的 TCP 协议 Telnet 连接到本防火墙或本防火墙向外连接到其他任何 IP 主机的 Telnet 服务
    • permit】:表示允许访问
    • tcp】:指定规则针对 TCP 协议
    • host 192.168.1.1】:指定源地址为192.168.1.1的主机
    • any eq telnet】:指定目标端口为 Telnet 端口(23),any代表目标地址可以是任何一个IP地址 或 网络,eq表示匹配TCP报文段的目标端口号与telnet精确相等

配置结果查看

  • 可以看到,PC1去ping路由器R2的话是会unreachable的,就是因为最前面的deny icmp host 192.168.1.1这句话

在这里插入图片描述

  • 但PC4去ping的话就可以ping通了,原因就是第二句话permit ip any any,除了192.168.1.1的主机外其他主机都是可以过来的

在这里插入图片描述

  • 不过呢,因为我们在上面由给路由器R2打了一条Telnet远程终端服务permit tcp host 192.168.1.1 any eq telnet,此时我们可以在PC1处通过Telnet远程终端服务来进行一个访问,通过下图可以看出虽然PC1【ping】的时候确实是不可达,但上帝👑为其关了一扇门,也会为其开一扇窗
  • 通过我们先前的一些设置,此时只需要输入用户访问密码就可以成功连通了!

在这里插入图片描述

五、总结与提炼

最后来总结一下本文所学习的内容📖

  • 首先我们介绍了ACL是什么,以及它工作的基本原理,初步知道了该如何去打造一个ACL
  • 然后我们认识了标准ACL,它可以实现阻绝一个网段的接入,而允许其他网段连入
  • 进一步加强,扩展ACL可以实现更强大的功能,不仅是可以是可以实现单个网络的隔绝,还可以控制单台主机的接入,各种字段的各种使得我们对网络的互通达到了精准的控制

以上就是本文要介绍的所有内容,感谢您的阅读🌹

在这里插入图片描述

相关文章:

思科模拟器 | 访问控制列表ACL实现网段精准隔绝

文章目录 一、ACL工作原理二、ACL分类初步介绍三、标准ACL1、标准ACL的决策过程2、标通配符掩码关键字3、标准ACL网络拓扑4、标准ACL演示5、实战讲解 四、扩展ACL1、基础语法明细2、扩展ACL示例3、扩展ACL网络拓扑4、实战讲解 五、总结与提炼 一、ACL工作原理 ACL(A…...

Python os模块详解

1. 简介 os就是“operating system”的缩写,顾名思义,os模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面页也可以极大增强代码的可移植性。如果该模块中相…...

Oracle PL/SQL基础语法学习13:比较运算符

系列文章目录 Oracle PL/SQL基础语法学习12:短路求值 Oracle PL/SQL基础语法学习13:比较运算符 Oracle PL/SQL基础语法学习14:BOOLEAN表达式 文章目录 系列文章目录Oracle PL/SQL基础语法学习13:比较运算符比较运算符介绍官方文档…...

金仓数据库适配记录

金仓数据库适配记录 人大金仓数据库管理系统KingbaseES(简称:金仓数据库或KingbaseES)是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。 金仓数据库主要面向事务处理类应用,兼顾各类数据分析类应用,可用做管理信息系统、…...

ElasticSearch 学习 ==ELK== 进阶

二、ElasticSearch 学习 ELK 进阶 (1)文档局部更新 我们也说过文档是不可变的——它们不能被更改,只能被替换。 update API必须遵循相同的规则。表面看来,我们似乎是局部更新了文档的位置,内部却是像我们之前说的一样…...

【数据结构 -- C语言】 双向带头循环链表的实现

目录 1、双向带头循环链表的介绍 2、双向带头循环链表的接口 3、接口实现 3.1 开辟结点 3.2 创建返回链表的头结点 3.3 判断链表是否为空 3.4 打印 3.5 双向链表查找 3.6 双向链表在pos的前面进行插入 3.6.1 头插 3.6.2 尾插 3.6.3 更新头插、尾插写法 3.7 双向链…...

自然语言处理与其Mix-up数据增强方法报告

自然语言处理与其Mix-up数据增强方法 1绪论1.课题背景与意义1.2国内外研究现状 2 自然语言经典知识简介2.1 贝叶斯算法2.2 最大熵模型2.3神经网络模型 3 Data Augmentation for Neural Machine Translation with Mix-up3.1 数据增强3.2 对于神经机器翻译的软上下文的数据增强3.…...

Vue(组件化编程:非单文件组件、单文件组件)

一、组件化编程 1. 对比传统编写与组件化编程(下面两个解释图对比可以直观了解) 传统组件编写:不同的HTML引入不同的样式和行为文件 组件方式编写:组件单独,复用率高(前提组件拆分十分细致) 理…...

【MATLAB数据处理实用案例详解(22)】——基于BP神经网络的PID参数整定

目录 一、问题描述二、算法仿真2.1 BP_PID参数整定初始化2.2 优化PID2.3 绘制图像 三、运行结果四、完整程序 一、问题描述 基于BP神经网络的PID控制的系统结构如下图所示: 考虑仿真对象,输入为r(k)1.0,输入层为4,隐藏层为5&…...

第11章 项目人力资源管理

文章目录 项目人力资源管理 过程11.2.1 编制项目人力资源计划的工具与技术(1)层次结构图(工作、组织、资源 分解结构)(2)矩阵图(责任分配矩阵,RAM)(3&#xf…...

07-Vue技术栈之(组件之间的通信方式)

目录 1、组件的自定义事件1.1 绑定自定义事件:1.1.1 第一种方式1.1.2 第二种方式1.1.3 自定义事件只触发一次 1.2 解绑自定义事件1.3绑定原生DOM事件1.4 总结 2、全局事件总线(GlobalEventBus)2.1 应用全局事件总线 3、 消息订阅与发布&#…...

度量学习Metirc Learning和基于负例的对比学习Contrastive Learning的异同点思考

参考:对比学习(Contrastive Learning):研究进展精要 - 知乎 参考:对比学习论文综述【论文精读】_哔哩哔哩_bilibili 参考:度量学习DML之Contrastive Loss及其变种_对比损失的变种_胖胖大海的博客-CSDN博客 参考&…...

3.编写油猴脚本之-helloword

3.编写油猴脚本之-helloword Start 通过上一篇文章的学习,我们安装完毕了油猴插件。今天我们来编写一个helloword的脚步,体验一下油猴。 1. 开始 点击油猴插件>添加新脚本 默认生成的脚本 // UserScript // name New Userscript // name…...

openwrt的openclash提示【更新失败,请确认设备闪存空间足够后再试】

网上搜索了一下,问题应该是出在“无法从网络下载内核更新包”或者“无法识别内核的版本号” 解决办法:手动下载(我是只搞了DEV内核就搞定了TUN和Meta没有动) --> 上传到路由器上 --> 解压缩 --> 回到openclash界面更新配…...

torch.nn.Module

它是所有的神经网络的根父类! 你的神经网络必然要继承 可以看一下这篇文章...

论文解析-基于 Unity3D 游戏人工智能的研究与应用

1.重写 AgentAction 方法 1.1 重写 AgentAction 方法 这段代码是一个重写了 AgentAction 方法的方法。以下是对每行代码解释: ①public override void AgentAction(float[] vectorAction) 这行代码声明了一个公共的、重写了父类的 AgentAction 方法的方法。它接受…...

6、Flutterr聊天界面网络请求

一、准备网络数据 1.1 数据准备工作 来到网络数据制造的网址,注册登录后,新建仓库,名为WeChat_flutter;点击进入该仓库,删掉左侧的示例接口,新建接口. 3. 接着点击右上角‘编辑’按钮,新建响应内容,类型为Array,一次生成50条 4. 点击chat_list左侧添加按钮,新建chat_list中的…...

Java 8 腰斩!Java 17 暴涨 430%!!(文末福利)

New Relic 最新发布了一份 “2023 年 Java 生态系统状况报告”,旨在提供有关当今 Java 生态系统状态的背景和见解。该报告基于从数百万个提供性能数据的应用程序中收集的数据,对生产中使用最多的版本、最受欢迎的 JDK 供应商、容器的兴起等多方面进行了调…...

如何手写一个支持H.265的高清播放器

概述 音视频编解码技术在当前的互联网行业中十分热门,特别是高清视频播放器的开发,其中包括4K、8K等超高清分辨率的播放器,具有极高的市场需求和广泛的应用场景。H265编码技术更是实现高清视频压缩的重要手段之一。如果想要掌握音视频编解码…...

Day 1 认识软件测试——(软件测试定义、目的、原则)

Day 1 认识软件测试——(软件测试定义、目的、原则) 文章目录 Day 1 认识软件测试——(软件测试定义、目的、原则)软件测试的定义软件测试的目的软件测试的经济学问题黑盒测试白盒测试软件测试原则小结所谓软件测试,就是一个过程或一系列过程,用来确定计算机代码完成了其…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...