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

访问控制列表

目录

ACL

ACL原理

ACL包过滤方式

ACL通用命令

查看ACL表命令

删除整张表命令

接口配置ACL

ACL分类

标准ACL 

标准ACL的动作与条件

通配符掩码

扩展ACL

扩展ACL的动作与条件

命名ACL

前言

书写方式

ACL

含义:访问控制列表,其是一种包过滤技术,主要实现了对访问资源的控制。

注意:

  • ACL基于IP包头中的IP地址、四层TCP/IP头部的端口号(这里路由器破例可以参与四层工作)
  • ACL在路由器上的接口处配置,也可以在防火墙上配置(在防火墙上配置的一般称为策略)

ACL原理

  • ACL表必须应用到接口的进或出方向才能生效
  • 一个接口的一个方向(进口/出口)仅能应用一张ACL表
  • 进出方向的配置取决于流量控制的总方向
  • ACL表是严格按照自上而下检查每一条策略,所以要注意书写顺序
  • 每一条ACL条目由条件和动作组成,当某流量没有满足某条件,则继续检查下一条
  • 所有ACL策略的末端默认有一条隐藏的拒绝所有策略,这个策略我们不用写。

ACL包过滤方式

当一个包来了之后,该包的特征若和条件特征完全吻合,那么就不会往后继续检查进而执行后面动作(放行或阻止),若有一丁点不吻合,则该条策略不起作用,进而检查下一条策略。

总结:层层过滤,层层放行。

ACL通用命令

查看ACL表命令

进入特权模式

show ip access-list [表号]

注意:这里面可以看到表条目的编号,该编号在命名ACL里面会有用。

删除整张表命令

进入全局模式

no access-list 表号

接口配置ACL

进入接口配置模式

在接口配置ACL:ip access-group 表号 in/out

将ACL从接口取出:no ip access-group 表号 in/out

注意:最后的in/out指明了该表应用在接口的进口还是出口方向上

ACL分类

前言

  • 我们想要在路由器上过滤时,首先我们要在路由器上创建一张ACL表
  • 当在路由器上创建一个标准ACL时,必须要首先指定标准ACL表的名字(表号)
  • ACL表主要有标准ACL和扩展ACL
  • 标准ACL的表号范围为1-99;扩展ACL表号范围为100-199
  • 在一个路由器上表号不能相同,在多个路由器上表号可以相同

进入全局配置模式

ACL语法:access-list 表号 动作与条件

注意:

  • 上面着个语法适用于所有种类ACL
  • 不同ACL编写语法的不同也就是后面的动作与条件书写方式的不同
  • 若路由器没有ACL表则执行以上命令会创建一张表并为表增加该条目,若有了该表,则执行以上命令就会为该表添加一个表条目

标准ACL 

前言:标准ACL只能基于源IP对包进行过滤,其表号范围为1-99.

标准ACL的动作与条件

语法:动作 源IP/源网段范围

动作

  • 允许:permit
  • 否决:deny

源IP/源网段范围

  • host IP地址:仅对某一个主机的源IP进行匹配(类似于——IP地址 0.0.0.0)
  • 源IP/源网段 通配符掩码:匹配某一网段的范围或IP地址的数据包
  • any:所有的范围的源IP进行匹配(类似于——IP地址 255.255.255.255)

通配符掩码

通配符掩码作用:用来匹配网段或IP地址,与0对应的需要严格匹配,与1对应的忽略,其主要用于控制该网段或IP地址包的过滤。

具体案例

源IP为10.1网段的包都进行阻止:access-list 1 deny 10.1.3.1 0.0.255.255

源IP为10.1.3.1IP地址的包都进行放行

  • 普通写法:access-list 1 permit 10.1.3.1 0.0.0.0
  • 简化写法:access-list 1 permit host 10.1.3.1

所有数据包都进行阻止

  • 普通写法:access-list 1 deny 10.1.3.1 255.255.255.255
  • 简化写法:access-list 1 deny any

扩展ACL

前言:扩展ACL可以基于源IP、目标IP、目标端口号、协议等来对包进行过滤,其表号范围为100-199

扩展ACL的动作与条件

语法:动作 协议 源IP/源网段范围 目标IP/目标网段范围 [逻辑符号 目标端口号]

动作

  • 允许:permit
  • 否决:deny

IP/网段范围

  • host IP地址:仅对某一个主机的IP进行匹配(类似于——IP地址 0.0.0.0)
  • IP/网段 通配符掩码:匹配某一网段的范围或IP地址的数据包
  • any:所有的范围的IP进行匹配(类似于——IP地址 255.255.255.255)

注意:

  • 协议类型:tcp/udp/icmp/ip(若后面加端口号,则前面协议仅有2个选择——tcp/udp)
  • 逻辑符号:(eq:等于、gt:大于:lt:小于)主要用来匹配范围端口
  • 目标端口号可以不写,但其他的条件必须写
  • 若只满足其中的一点条件,那么不叫满足这个条件,只有来的数据包所有特征和这里面的条目完全吻合,才被称为满足条件,才会执行相应的动作

具体案例

10.1.1.1访问20.1.1.3中80端口的tcp数据都放行

access-list 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80

放行所有ip数据包

access-list 100 permit ip any any

命名ACL

前言

  • 一般情况下,标准或扩展ACL一旦编写好,那么就无法修改某一条,也无法删除某一条,甚至无法修改顺序,只能一直在最后添加新的条目。
  • 在标准或扩展ACL中若想修改、插入、删除,只能删除整张表
  • 之前我们通过表号对ACL进行命名,但是当我们在一台设备上起的表非常多的时候,我们不能很快的通过表号判断该表的作用,这就用到了命名ACL

命名ACL作用:可以对标准/扩展ACL进行自定义命名,也可以通过命名ACL对标准/扩展ACL进行条目的增删改操作。

优点:

  • ACL自定义命名更容易辨认,也便于记忆
  • 可以任意修改某一条,或删除某一条,也可以往中间插入某一条

书写方式

进入全局配置模式

创建/进入一张ACL表:ip access-list 表类型 ACL表名称

进入了扩展ACL配置模式

在扩展ACL配置模式下书写动作与条件

删除ACL条目:no ACL条目编号

插入ACL条目:ACL条目编号 动作与条件

表类型

  • standred:标准ACL
  • extended:扩展ACL

ACL条目编号

前言:下面的10、20、30就是ACL条目编号(在其中可以插入个位级的条目编号)

注意:

  • 在创建ACL表时,表名称可以随意书写。
  • 在特定的表类型的情况下仅能书写特定的动作与条件
  • 命名ACL可以修改已经创建好ACL表的标准或扩展ACL,只需要通过表号作为表名称进入该表即可
  • 命名ACL不属于ACL分类中的一种

相关文章:

访问控制列表

目录 ACL ACL原理 ACL包过滤方式 ACL通用命令 查看ACL表命令 删除整张表命令 接口配置ACL ACL分类 标准ACL 标准ACL的动作与条件 通配符掩码 扩展ACL 扩展ACL的动作与条件 命名ACL 前言 书写方式 ACL 含义:访问控制列表,其是一种包过滤…...

java入坑之类加载器

一、类加载机制 1.1类加载过程 类加载是Java虚拟机将类的字节码数据从磁盘或网络中读入内存,并转换成在JVM中可以被执行的Java类型的过程。类加载器是Java虚拟机的重要组成部分,负责加载和解析类的字节码,将其转换成Java虚拟机中的类对象&am…...

登录Tomcat控制台,账号密码输入正确但点击登录没反应不跳转到控制台页面

在tomcat-users.xml里面可以查看登录tomcat控制台的账号密码,如果账号密码输入正确还是登录不进去,则很有可能是tomcat的账号被锁了(可在catalina.xxx.log里面查看)。tomcat账号被锁定后默认情况是不访问控制台后5分钟自动解锁&am…...

[黑马程序员Pandas教程]——Pandas缺失值处理

目录: 学习目标空值和缺失值查看缺失值 加载数据并通过info函数初步查看缺失值情况df.isnull().sum()空值数量统计Missingno库对缺失值的情况进行可视化探查 安装missingno库missingno.bar(df)缺失值数量可视化missingno.matrix(df)缺失值位置的可视化missingno.he…...

Mysql进阶-视图篇

介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。…...

一种libuv实现websockets服务的解决方案

方法是libuv用多事件循环来驱动。说起来容易,做起来还是比下面的方法更容易: 上图是某位网友的方法代表子大部分网络资料。此方法对部署不友好,因为软件仓库提供的libwebsockets是不能用了。如何简化部署,利用好现有的软件仓库呢&…...

MobaXterm配置SSHTunnel

本地与远程服务器之间存在防火墙,防火墙只允许SSH端口通过,为访问远程服务器,我们可以借助MobaXterm来与SSH服务器建立隧道,使得防火墙外的用户能够访问远程服务器 配置 打开SSHTunnel 新建SSH tunnel 点击开启就生效了&…...

MySQL中的datetime和timestamp有什么区别

相同点: 存储格式相同 datetime和timestamp两者的时间格式都是YYYY-MM-DD HH:MM:SS 不同点: 存储范围不同. datetime的范围是1000-01-01到9999-12-31. 而timestamp是从1970-01-01到2038-01-19, 即后者的时间范围很小. 与时区关系. datetime是存储服务器当前的时区. 而timesta…...

如何开发一个求职招聘小程序?详细步骤解析与教程

一、确定需求和功能 在开发求职招聘小程序之前,需要明确需求和功能。通过对市场和用户需求的调研和分析,确定小程序需要具备哪些功能,如职位发布、简历投递、在线沟通、面试安排等。 二、选择开发方式 求职招聘小程序的开发方式有多种选择…...

安克创新音频算法工程师(应届生)招聘

职位描述: 负责音频处理算法的研发和优化,包括但不限于噪声抑制、回声消除、声反馈抑制、音效、声纹、唤醒、指令词识别等。 持续跟进国际前沿技术方向,预研端侧可落地的音频技术,打造技术影响力。 对音频处理系统进行模拟和实验…...

Ubuntu 22.04.3 LTS中安装singularity

文章目录 概要背景知识什么是singularity ? 安装流程1. 安装Go2. 下载Singularity3. 编译Singularity源代码 4. 验证安装是否成功singularity的使用安装open structure 小结 概要 这里主要记录singularity的安装和使用,安装过程中会出现相关的错误,所以…...

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后,执行:nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。 所在位置 …...

路由器基础(十一):ACL 配置

访问控制列表 (Access Control List,ACL) 是目前使用最多的访问控制实现技术。访问控制列表是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk 等。访问控制列表可以分为基本访问控制列表和高级访问控制…...

【今日文章】:如何用css 实现星空效果

【今日文章】:如何用css 实现星空效果 需求实现tips: 需求 用CSS 实现星空效果的需求: 屏幕上有“星星”,且向上移动。移动的时候,动画效果要连贯,不能出现闪一下的样子。 实现 这里我们需要知道,“星星”是…...

HackTheBox-Starting Point--Tier 1---Three

文章目录 一 题目二 实验过程 一 题目 Tags Web、Cloud、Custom Applications、AWS、AWS、Reconnaissance、Web Site Structure Discovery、Bucket Enumeration、Arbitrary File Upload、Anonymous/Guest Access译文:Web、云、定制应用程序、AWS、AWS、侦察、网站…...

Linux Alsa声卡驱动(2):Machine驱动

一:Simple Card Simple Card是ASoC通用的machine driver,可支持大部分标准声卡。 驱动:kernel/sound/soc/generic/simple-card.c compatible = "simple-audio-card"; 1、设备树属性 (1)协议 属性协议格式描述simple-audio-card,format i2si2s标准格式right_j…...

某综合性能源集团绩效考核设计项目纪实

——设置分层分类的考核指标、建立多维度评价体系,增加考核结果信服力 【客户行业】能源行业 【问题类型】薪酬管理 【客户背景】 某综合性能源跨国集团是一家专注于能源加工行业的民营跨国企业,业务覆盖能源工程建设、高端装备制造、能源勘探开发、专…...

ubuntu18.04 通过创建服务实现开机自启, 启动指定脚本

下面是具体的操作过程 切换目录到root cd /root/ 新建一个脚本 vi myscript.sh 添加内容:设置指定网卡的ip地址 (这里根据自己需要修改) #!/bin/bash ifconfig enp0s3 10.20.60.113 赋予执行权限 chmod x myscript.sh 新建一个服务 vi /etc/systemd/system/myscr…...

Tomcat 9.0.x 源码编译

文章目录 一、克隆源码二、构建 Maven1)在项目根目录中新建 pom.xml 文件2)然后 Add Maven Projects 三、在目录中增加 home 目录四、增加启动配置五、其它问题1)控制台乱码解决 2)启动后访问 localhost:8080 报错解决 一、克隆源…...

基于SSM的旅游管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...