数据通信——网络层(ACL)

news2025/1/12 23:14:18

引言

在网络中会区分三个区域:(Trust)内网,(UnTrust)外网,(DM2)非军事化区域

防火墙在网络中可以阻止DM2对Trust的访问。同理,从Trust到UnTrust或者UnTrust到Trust都过不去。

我们通过ACL可把路由器当防火墙使用。

ACL(Access Control List)访问控制列表工具,多用在三层设备。这里主要针对IPV4的ACL。ACL是可以对发来的数据进行访问控制的,它由匹配规则和匹配顺序的编号组成,不同的ACL访问控制的范围也不一样。它的用处是阻止某些流量向我们发送数据或者过滤一部分流量。

ACL分类

ACL分为基本ACL和高级ACL。

基本ACL:编号范围在2000-2999之间仅能关心流量是谁发的?比如A发出任何流量全部过滤。(因此抓取流量经常使用基本ACL)

(基本ACL主要针对IP报文的源IP地址进行匹配)

高级ACL:编号范围在3000-3999可通过选择性进行过滤(访问某些设备的某些访问),我可通过源目流量的来源和流量类型进行识别。

(高级ACL主要针对源IP地址、目的报文IP地址、协议类型和TCP或UDP的源目端口号进行匹配)

ACL由数个ACE组成,ACE(Access Control Entry 访问控制条目),ACE在ACL中属于一个策略语句。

除他们之外还有其它的ACL,但是比较常用或着说有代表意义的就是它们两个。

 

ACL规则编号

每一个ACL中的每一个规则都有一个规则编号

默认的匹配规则编号顺序是由序列号决定(Sequence)默认以5为一个长度:5,10,15,20等等。小的在前,大的在后,自顶而下匹配流程,一经匹配立刻执行策略。

步长

系统自动为ACL规则分配编号的时候,每个相邻的规则编号之间的差值就是步长,默认为长度5。这样方便在后续就规则中向其中插入新规则

分配原则:首条未指定的编号规定为5,也就是起始值。为后续规则分配编号的时候,使用当前ACL内最大的规则编号且是步长整数倍的最小整数作为规则编号

步长可以调整,如果值设为2,那么后续就是:2,4,6,8。。。。。

ACL匹配机制

配置ACL的设备接收到报文后,会将该报文与ACL中的规则逐条进行匹配,如果匹配不上,就会继续尝试去匹配下一条规则。一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。

大概就是这样的逻辑:

如果ACL不存在,则返回ACL匹配结果为:不匹配。

如果ACL存在,则查找设备是否配置了ACL的规则。

如果规则不存在,则返回匹配结果:不匹配。

如果规则存在,则系统会从ACL编号中的最小编号开始查找。

如果查找到,匹配后执行结束。

ACL使用

ACL可以进行流量的过滤放行或者进行一些数据报文的抓取。

ACL由一系列的Permit/deny语句组成的有序规则的列表。ACL为一个匹配工具,可对保温进行匹配和区分。Permit(放行),deny(拒绝)。我们抓取流量时就是根据前面两个字段进行操作的。

ACL可对IP Header与TCP/UDP Header的内容进行操作。

例:acl number 2000

rule 5 permit source 1.1.1.0 0.0.0.255 //规则编号为5,动作为放行,匹配项为(源ip地址)

注:这样的标准ACL太粗略了,应该尽可能地靠近流量目的地进行部署

例如:阻止PC1----R1----R2----R3----PC2的访问。那么我可以在R1,R2,R3的两侧进行入项调用或者出项调用。但是最好在R3右侧调用,因为可以保障R1,R2能够访问(代表中途设备可以访问)但是目的地址PC2无法访问。

注:我们在ACL配置的时候需要使用反码(通配符掩码 wild mark)高位为0,低位为1。反码的0为精准匹配,1是任意匹配。比如:10.0.0.0 0.0.0.255代表可匹配的范围是10.0.0.0 10.0.0.255都可以匹配。反码在网络中确定了地址的IP范围

因为可以让流量通过其他设备,所以基本ACL最好在目的地址处进行配置,而因为为了节约资源,所以高级ACL最好在信源处配置。

ACL不能过滤自己配置所在的路由器的流量,只能过滤其他的

 后续

ACL没有太多好说的,主要还是实际应用,无论是网络安全还是路由交换对ACL的掌握是必须的,到时候我会在实验中进行ACL配置

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

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

相关文章

STM32 CubeMX (uart_IAP串口)简单示例

STM32 CubeMX [TOC]( STM32 CubeMX (uart_IAP串口)简单示例) 前言 单片机flash有两部分1.IAP程序和2.APP程序;IAP是烧录工具烧录的,App是串口烧录的 #1.IAP程序设置,程序地址 #2.APP程序设置,程序地址 生成bin文件 fromelf.exe --bin -o …

2023高教社杯数学建模A题 B题C题 D题 E题思路代码分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

指针的进阶--从入门到入土

指针--变态加强版 前言面试题字符指针指针数组数组指针函数指针函数指针数组指向函数指针数组的指针面试题解析结语 前言 掌握指针这块知识的重要性不言而喻,当你觉得自己已经差不多掌握指针的时候,不妨看看下面8道面试题(题目从简单到困难&…

三级城市展示省市区树

展示效果 数据库展示 业务代码 /*** 省市区树*/VLicenseApiOperation("查询经纬度")ApiImplicitParam(name "FnCity", value "省市区树", dataType "FnCity")GetMapping("/districtlist")public AjaxResult districtlist…

STM32F429IGT6使用CubeMX配置IIC通信(AT2402芯片)

1、硬件电路 写地址:0xA0 读地址:0xA1 存储容量:256Byte 2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz 3、配置IIC 4、生成工程配置 5、部分代码 #define IIC_WRITE_ADDR 0xA0 // IIC写地址 #define IIC_READ_ADDR 0xA1 …

数据结构----哈夫曼树

这里写目录标题 基本概念引子基本概念各种路径长度各种带权路径长度结点的带权路径长度树的带权路径长度哈夫曼树 哈夫曼树的构造理论基础构造思想总结 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录…

exec族函数

本节学习exec族函数,并大量参考了以下链接: linux进程---exec族函数(execl, execlp, execle, execv, execvp, execvpe)_云英的博客-CSDN博客 exec族函数函数的作用 我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程…

从零构建深度学习推理框架-8 卷积算子实现

其实这一次课还蛮好理解的&#xff1a; 首先将kernel展平&#xff1a; for (uint32_t g 0; g < groups; g) {std::vector<arma::fmat> kernel_matrix_arr(kernel_count_group);arma::fmat kernel_matrix_c(1, row_len * input_c_group);for (uint32_t k 0; k < k…

【leetcode】前缀和

内容摘抄自&#xff1a; 小而美的算法技巧&#xff1a;前缀和数组 | labuladong 的算法小抄 一维数组的前缀和 看这个 preSum 数组&#xff0c;若想求索引区间 [1, 4] 内的所有元素之和&#xff0c; 就可以通过 preSum[5] - preSum[1] 得出。 class NumArray {private:// 前缀…

软件测试基础篇——Docker

1、docker技术概述 docker描述&#xff1a;docker是一项虚拟化的容器技术&#xff08;类似于虚拟机&#xff09;&#xff0c;docker技术给使用者提供一个平台&#xff0c;在该平台上可以利用提供的容器&#xff0c;对每一个应用程序进行单独的封装隔离&#xff0c;每一个应用程…

记录--用css画扇形菜单

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 1、效果图 用手机录屏再用小程序转换的gif&#xff0c;可能精度上有点欠缺。 2、实现过程 1、观察及思考 开始编码前我们首先观察展开后的结构&#xff1a;两个四分之一的圆加三个圆形菜单项。 文章名…

阿里云服务器部署Drupal网站教程基于CentOS系统

阿里云百科分享如何在CentOS 7操作系统的ECS实例上搭建Drupal电子商务网站。Drupal是使用PHP语言编写的开源内容管理框架&#xff08;CMF&#xff09;&#xff0c;它由内容管理系统&#xff08;CMS&#xff09;和PHP开发框架&#xff08;Framework&#xff09;共同构成。它用于…

【博客692】grafana如何解决step动态变化时可能出现range duration小于step

grafana如何解决step动态变化时可能出现range duration小于step 1、grafana中的step和resolution grafana中的 “step” grafana本身是没有提供step参数的&#xff0c;因为仪表盘根据查询数据区间以及仪表盘线条宽度等&#xff0c;对于不同查询&#xff0c;相同的step并不能…

编译redis-5.0.9报错zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录问题解决

上图 解决&#xff1a; make && make install MALLOClibc原因: 原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。

RedisDesktopManage

RDM 简介下载安装 简介 RedisDesktopManager&#xff08;RDM&#xff09;是一个开源的跨平台图形界面工具&#xff0c;用于管理和操作 Redis 数据库。它提供了一个用户友好的界面&#xff0c;使用户能够轻松地连接、浏览、查询和修改 Redis 数据&#xff0c;而无需使用命令行界…

bug解决:AssertionError: No inf checks were recorded for this optimizer.

这真的是最恶心的一个error&#xff08;比网络回传找哪层没有传播到还要恶心&#xff01;&#xff09;&#xff0c;找了好久的问题所在之处&#xff0c;最后偶然发现了这篇文章&#xff1a; 解决pytorch半精度amp训练nan问题 - 知乎 然后发现自己用的混合精度训练&#xff0c;发…

CGLIB原理简析-前篇

CGLIB&#xff08;Code Generation Library&#xff09;是实现动态代理的一种方案。动态代理的内容一般都包含三个部分&#xff1a;① 代理类的生成&#xff1b;② 代理类的实例化&#xff1b;③ 代理类的使用。 本文作为CGLIB文章的前篇&#xff0c;将通过与使用者直接相关入手…

Java AWT Swing(图形化界面编程)(一)

目录 1.简介 2.Java中的图像化界面----Awt与Swing 一、AWT编程 1.简介 2.AWT的继承体系 3.container容器 3.1container继承体系 3.2.常见API 3.3容器演示一 3.4容器演示二 3.5容器演示三 1.简介: 通常情况下&#xff0c;java语言一般是用来开发后台程序的&#xff0…

mysql数据库第十二课------mysql语句的拔高2------飞高高

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

图论——最短路算法

引入&#xff1a; 如上图&#xff0c;已知图G。 问节点1到节点3的最短距离。 可心算而出为d[1,2]d[2,3]112,比d[1,3]要小。 求最短路径算法&#xff1a; 1.Floyd(弗洛伊德) 是一种基于三角形不等式的多源最短路径算法。边权可以为负数 表现为a[i,j]a[j,k]<a[i,k]。 …