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

news2024/11/16 13:31:03

在这里插入图片描述

在这里插入图片描述

文章目录

  • 一、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 10
    10 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 console

Router#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可以实现更强大的功能,不仅是可以是可以实现单个网络的隔绝,还可以控制单台主机的接入,各种字段的各种使得我们对网络的互通达到了精准的控制

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

在这里插入图片描述

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

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

相关文章

大数据任务调度和数据同步组件初探

本文个人博客地址 背景 数据从最原始的状态,可能是一个 excel,一个文本,或者是来自业务数据库的数据,格式各种各样,落地到数据仓库、数据湖中,数据的同步过程 是必不可少的 图片来源 传统的数据同步方式…

如何解决IP能ping通但无法上网的问题?

当我们在网络环境中遇到无法上网的问题时,可能会尝试使用ping命令来测试网络连接是否正常。如果ping测试成功,说明我们的IP地址能够和网络中其他设备进行通信,但是无法上网。这种情况下,我们需要采取一些措施来解决这个问题。本文…

软考A计划-重点考点-专题三(操作系统知识)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

springboot 多模块项目

比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。…

【前端知识】Cookie, Session,Token和JWT的发展及区别(三)

【前端知识】Cookie, Session,Token和JWT的发展及区别(三) 7. Token7.1 Token的背景及定义7.1.1 背景7.1.2 定义7.1.3 基于定义的N个思考(1)关于无状态的相关思考(2) 避免查库的思考 7.2 Token的特点&#…

记一次perf实验,检验CPU的分支预测功能

实验介绍 在上一篇文章中,作者通过给Alder Lake(12th gen i5 1240p)安装Ubuntu22.04,终于把PMU用起来了 $ dmesg | grep PMU [ 0.127326] Performance Events: XSAVE Architectural LBR, PEBS fmt4-baseline, AnyThread dep…

明文传输的FTP 是否已慢慢被时代所抛弃?

什么是FTP?FTP即File Transfer Protocol,含FTPS/SFTP,诞生于1971年,是最为古老的网络协议和工具之一,是一种在网络进行文件传输的标准应用层协议,也泛指基于FTP协议实现文件传输的服务端软件和客户端软件&a…

《双向队列》

介绍 双向队列(deque,全名double-ended queue)是一种具有队列和栈性质的数据结构。 对于队列,我们只能在头部删除或在尾部添加元素, 而「双向队列 Deque」更加灵活,在其两端都能执行元素添加或删除操作。…

【笔记】【HTTP】《图解HTTP》第3章 HTTP报文内的HTTP信息

前言 有输入就要有产出,该笔记是本人看完《图解HTTP》后对每章涉及到的知识进行汇总博客将会已书的每章为一篇发布,下一篇博客发布时间不确定笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。…

TCP网络编程-python

OSI七层模型和TCP/IP四层模型 通信时需要用到网络模型来进行数据封装。一层一层封装和拆包。 OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 分层太多,增加了网络工作的复杂性。 简…

锐捷网络,无边光景一时新

绍熙五年,朱熹在除知潭州、荆湖南路安抚,在长沙岳麓山扩建了闻名天下的岳麓书院。他写过这样一句赞美春日的诗:胜日寻芳泗水滨,无边光景一时新。 近一千年后,我们依旧能在长沙感受到“无边光景一时新”魄力雄浑。这次&…

Python自动化测试实战篇(8),pytest 测试用例初始化的五种方法与清洗方法

这些是之前的文章,里面有一些基础的知识点在前面由于前面已经有写过,所以这一篇就不再详细对之前的内容进行描述 1.什么是是自动化测试环境初始化与清除2.自动化测试环境初始化与清除有哪些步骤?3.pytest中如何进行用例初始化与清洗方法1.类…

【JMeter】前端使用JMeter测试JSEncrypt加密登录

前端使用JMeter测试JSEncrypt加密登录 简介:前端开发时会接触到用户登录,登录时为了数据的安全会使用到jsencrypt加密工具,同时我们需要使用jmeter来进行压测,帮助我们了解Web应用程序在高负载情况下的性能表现,从而为…

工业物联网是什么?工业物联网发展前景如何?

工业物联网 (IIoT) 是在工业环境中使用互连的智能设备、传感器和软件来提高运营效率、生产力和安全性。IIoT 系统通常涉及机器、设备和传感器,这些机器、设备和传感器嵌入了相互通信以及与中央系统通信的技术。这允许对工业过程进行实时监控和分析,并能够…

jenkins配置springcloudalibaba流水线加服务器自动构建

参数化构建过程 Extended Choice Parameter Name:project_name Description:请选择需要构建的项目名称 Basic Parameter Types Parameter Type: Hidden Number of Visible Items: 20 Delimiter: , Choose Source for Value value: deerchain-gateway-95…

Linux权限划分的原则

考察的不仅是一个具体的指令,还考察对技术层面的认知。 如果对 Linux 权限有较深的认知和理解,那么完全可以通过查资料去完成具体指令的执行。更重要的是,认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。 权限抽象 一…

MyBatisPlus学习笔记(SpringBoot版)

MyBatisPlus学习笔记(SpringBoot版) 一、MyBatis-Plus简介1、简介2、特性3、支持数据库4、框架结构5、代码及文档地址 二、入门案例1、开发环境2、创建数据库及表2.1 创建表2.2 添加数据 3、创建Spring Boot工程3.1 初始化工程3.2 引入依赖3.3 idea中安装…

【MySQL】绪论 MySQL工作环境

文章目录 实验内容实验步骤实验内容 MySQL命令MySQL 的启动与关闭MySQL 管理备份和还原数据库navicat工具使用实验步骤 1. MySQL命令 (1)查看MySQL基本命令 (2)查看MySQL版本信息 2. MySQL的启动与关闭 (1)启动MySQL服务器 (2)测试服务器启动成功 (3)合法用

MATLAB绘图函数的相关介绍——海底测量、二维与三维图形绘制

系列文章目录 MATLAB求函数极限的简单介绍 文章目录 一、问题引导 1.1、海底曲线绘制问题 1.2、绘制二维与三维图形 二、代码演示 2.2、二维与三维绘图案例 2.2.1、官方对plot函数的解释 总结 一、问题引导 1.1、海底曲线绘制问题 海底测量,低潮时海平面上…

案例研究|萤石网络通过JumpServer解决安全运维难题

杭州萤石网络股份有限公司(以下简称为萤石网络)于2015年在杭州成立,是安全智能生活主流品牌,核心产品包括智能家居摄像头、智能门锁、智能服务机器人等。2021年,萤石网络家用摄像头占国内出货量市场份额的25%&#xff…