业务访问控制-ACL与包过滤

ACL的定义及应用场景

  • ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的;

  • ACL可以应用于诸多场景:

    • 包过滤功能:对数据包进行放通或过滤操作。
    • NAT(Network Address Translation,网络地址转换)
    • 按需拨号
    • Qos流分类ACL:只对数据包进行匹配,或者说对数据包进行流量分类。
    • 路由过滤ACL:对路由进行方向或过滤操作。
    • 路由策略ACL:只对路由进行匹配。

ACL包过滤的工作原理

网络访问控制需求

  • 网络访问控制需求
    • 要求192.168.1.192 - 255 不能访问192.168.2.128 - 255.

在这里插入图片描述

ACL包过滤基本原理

  • ACL包过滤
    • 第一步ACL:每条ACL都由若干条ACL规则条目组成。
      • ACL规则条目:由1个匹配条件和执行动词(permit或deny)组成。
    • 第二步ACL包过滤:讲ACL绑定到设备接口上,进行数据包过滤。
      • 匹配permit规则条目的允许放行。
      • 匹配deny规则条目的拒绝通过。

在这里插入图片描述

  • 设备接口的入方向和出方向
    • 入方向(in):数据包进入设备的方向。
    • 出方向(out):数据包离开设备的方向。
    • 两个方向都可以绑定ACL对数据包进行过滤。

在这里插入图片描述

  • 包过滤ACL绑定:每个接口的每个方向只能绑定1条ACL

在这里插入图片描述

一条ACL可以包含很多条规则条目,在Cisco设备,隐含规则条目会拒绝所有,即没有配置任何ACL规则条目的情况下。在华为和华三的设备没有限制。

思科ACL包过滤基本原理

  • 思科ACL包过滤原理

在这里插入图片描述

  • 思科IP转发流程
    • 入处理执行in方向ACL包过滤
    • 出处理执行out方向ACL包过滤

在这里插入图片描述

入方向处理

在这里插入图片描述

出方向处理

在这里插入图片描述

华为/H3C ACL包过滤基本原理

  • 华为华三ACL包过滤基本原理

在这里插入图片描述

  • 华为华三IP转发流程
    • 入处理执行in方向ACL包过滤
    • 出处理执行out方向ACL包过滤

在这里插入图片描述

ACL的分类及应用

ACL规则条目组成——序号/名字+字段匹配

  • 利用数字序号标识访问控制列表

在这里插入图片描述

  • 可以给访问控制列表指定名称,便于维护

ACL规则条目组成——序号/名字+执行动作+字段匹配

IP数据包字段匹配方法:

  • 数据包中的各个字段
    • 数据包中的各个字段都可以进行匹配
    • 常用匹配五元组:源IP、目标IP、协议、源端口、目标端口

在这里插入图片描述

  • 数据包中的IP地址字段匹配

    • 匹配字段

      • 匹配源IP
      • 匹配目标IP
      • 同时匹配源IP和目标IP
    • 匹配方法

      • IP地址 通配符
        • 通配符32位,按位通配,位为0表示这位不能变,位为1表示这位可变。
    • 匹配案列1

      • 匹配:192.168.1.1 - 192.168.1.254
      • 答案:192.168.1.0 0.0.0.255
    • 匹配案列2

      • 匹配:192.168.2.128 - 192.168.2.254
      • 答案:192.168.2.128 0.0.0.127
    • 匹配案列3

      • 匹配:192.168.1.192
      • 答案:192.168.1.192 0.0.0.0
      • 可以简写为:host 192.168.1.192
    • 匹配案列4

      • 匹配:所有IP地址
      • 答案:0.0.0.0 255.255.255.255
      • 可以简写为:any
    • 匹配案列5

      • 匹配:所有偶数IP地址
      • 答案:192.168.1.1 0.0.0.254
    • 匹配案列6

      • 所有奇数IP地址
      • 答案:192.168.1.0 0.0.0.254
  • TCP/UDP包中的端口字段匹配

    • 匹配字段

      • 匹配源端口
      • 匹配目标端口
      • 同时匹配源端口和目标端口
    • 匹配方法

      • 端口范围操作符、端口号

        操作符全称含义示例作用
        eqequal匹配“等于”某个端口号eq 80:表示 HTTP 服务
        neqnot equal匹配“不等于”某个端口号neq 23:除 Telnet 以外的服务
        gtgreater匹配“大于”某个端口号gt 1023:过滤高位端口
        ltless匹配“小于”某个端口号lt 1024:匹配常用低端口(0-1023)
        range范围匹配“在两个端口之间”的端口range 20 21:FTP数据和控制端口
    • 匹配案例1

      • 匹配:DNS端口
      • 答案:eq 53
    • 匹配案列2

      • 匹配:DHCP服务器端口
      • 答案:eq 67
    • 匹配案例3

      • 匹配:DHCP客户端端口
      • 答案:eq 68
    • 匹配案列4

      • 匹配:80 - 123端口
      • 答案:range 80 123
    • 匹配案例5

      • 匹配:1024及以上的端口
      • 答案:gt 1023
    • 匹配案例6

      • 匹配:1024及以下的端口
      • 答案:lt 1024

ACL分类

在这里插入图片描述

命名ACL

  • 标准ACL与扩展ACL的缺陷(序号)
    • 对任意一条ACL规则条目的删除、修改、插入都需要先删除整个ACL,然后重新配置。

在这里插入图片描述

  • 命名ACL

    • 按序号顺序匹配,可按序号增加、删除、修改、插入规则条目。

    • Cisco设备,如果省略序号,默认开始序号10,默认步长为10。

    • 标准命名ACL

      在这里插入图片描述

    • 扩展命名ACL

      在这里插入图片描述

  • 命名ACL应用案例

    • 可按序号增加、删除、修改、插入规则条目。

在这里插入图片描述

ACL高级应用

基于时间ACL配置案例

  • 需求:上班时间(9:00 - 18:00)不允许员工的主机(172.16.1.0/24)访问Internet,下班时间可以访问Internet上的Web服务。

在这里插入图片描述

自反ACL

  • 单向访问控制需求
    • 只允许内网访问外网,不允许外网访问内网

在这里插入图片描述

  • 自反ACL

    • reeflect name1:
      • 根据流出的数据流动自动产生回程需要的源目反向的ACL规则条目
    • evaluate1 name1
      • 调用自动产生的ACL

在这里插入图片描述

典型ACL包过滤案例

标准ACL

  • 标准ACL应用案例一
    • 只有192.168.1.0-254、192.168.2.0-191能访问192.168.3.0网段。
    • 不允许10.0.0.0/8访问本路由器的网段

在这里插入图片描述

  • 标准ACL应用案例二
    • 只有192.168.3.1-254才能Telnet到RT1。

在这里插入图片描述

扩展ACL

  • 扩展ACL应用案例一
    • 要求192.168.1.192 - 255不能访问192.168.2.128 - 255

在这里插入图片描述

  • 扩展ACL应用案例二
    • 192.168.1.0网段自动获取IP导致,且只能访问192.168.x.x

在这里插入图片描述

放置位总结:**标准靠目标,扩展靠源头;ACL要绑接口,PC是无能手。**即标准ACL放在靠近目标PC的那边的路由器上,因为标准ACL只能看源IP,放在太前面,容易误封。扩展ACL要放在靠近源目标的那边的路由器上,因为扩展ACL能精确的识别IP、各种协议等,放在前面可以节省宽带资源。

交换机IP ACL

  • 思科交换机IP ACL

在这里插入图片描述

✅ 一、ACL包过滤回顾(核心知识)

🔹 ACL(Access Control List)访问控制列表

是一种**基于规则对数据包进行匹配与控制(放行/拒绝)**的技术,应用于:

  • 包过滤(最常见)
  • 路由策略、NAT、防火墙等
  • QoS分类、按需拨号等

🔹 ACL匹配原则

  1. 自上而下按顺序匹配
  2. 一旦匹配成功就不再继续往下匹配
  3. 若没有匹配任何规则,则默认拒绝(Cisco)或看平台默认策略(华为默认放行)

✅ 二、ACL匹配结构

每条ACL规则 = 执行动作 + 匹配条件

例如:

access-list 101 permit tcp any any eq 80

表示:允许任何人访问目的端口为80(HTTP)的主机


✅ 三、ACL端口匹配方式(核心知识点)

ACL在过滤 TCP 或 UDP 协议 时,可以匹配源端口目的端口。这时就要用到你提到的端口范围操作符

操作符含义示例作用
eq等于eq 80匹配特定端口(如HTTP)
neq不等于neq 23除了该端口之外的都匹配
gt大于gt 1023高端口匹配
lt小于lt 1024匹配常见系统端口(如FTP、DNS)
range范围(含头尾)range 20 21匹配一段连续的端口(如FTP)

✅ 四、常见端口匹配案例

场景命令
匹配 DNS 服务eq 53
匹配 DHCP 服务器端口eq 67
匹配 DHCP 客户端端口eq 68
匹配 Web 服务eq 80
匹配 HTTPS 服务eq 443
匹配 FTP 控制端口eq 21
匹配 FTP 数据端口eq 20
匹配 80–123 之间的服务range 80 123
匹配 1024及以上端口gt 1023
匹配 1024以下端口lt 1024

✅ 五、完整ACL配置示例(Cisco)

🎯 示例1:允许访问HTTP和HTTPS,禁止其他访问

access-list 110 permit tcp any any eq 80
access-list 110 permit tcp any any eq 443
access-list 110 deny ip any any
interface f0/0
ip access-group 110 in

🎯 示例2:仅允许FTP服务端口范围

access-list 120 permit tcp any any range 20 21
access-list 120 deny ip any any

✅ 六、补充注意事项

  1. ACL分类
    • 标准ACL:只过滤源IP
    • 扩展ACL:支持源IP + 目的IP + 协议 + 端口号(最常用于端口匹配)
  2. 接口方向绑定
    • in:进接口方向(数据进入设备时)
    • out:出接口方向(数据从设备出去时)
  3. 一个接口一个方向只能绑定一条ACL
  4. 端口匹配只能用于 TCP / UDP 协议,不能用于 ICMP、GRE 等非端口协议。

✅ 七、额外练习(你可以尝试写写)

❓问题1:

只允许 192.168.1.0/24 访问 DNS 服务?

✅ 答案:

access-list 150 permit udp 192.168.1.0 0.0.0.255 any eq 53

❓问题2:

禁止任意主机 telnet 到本设备(23端口)?

✅ 答案:

access-list 160 deny tcp any any eq 23

命令解释:

✅ 示例1:允许访问 HTTP 和 HTTPS,禁止其他访问

access-list 110 permit tcp any any eq 80
access-list 110 permit tcp any any eq 443
access-list 110 deny ip any any
interface f0/0
ip access-group 110 in

🔍 第1行:

access-list 110 permit tcp any any eq 80
📖 解释:
  • access-list 110:定义一条编号为110的 扩展ACL(扩展ACL编号是100–199或2000–2699)
  • permit:表示 允许 匹配的流量通过
  • tcp:只作用于 TCP协议
  • any any
    • 第一个 any:表示任何源IP地址
    • 第二个 any:表示任何目标IP地址
  • eq 80:表示 目标端口等于80(即 HTTP 服务)
✅ 结果:

允许所有主机访问任意主机的 HTTP 服务


🔍 第2行:

access-list 110 permit tcp any any eq 443
📖 解释:
  • 跟上面结构一样,只是目标端口变为 eq 443,即 HTTPS(加密网页服务)
✅ 结果:

允许所有主机访问任意主机的 HTTPS 服务


🔍 第3行:

access-list 110 deny ip any any
📖 解释:
  • deny:拒绝匹配的流量
  • ip:表示匹配所有 IP 协议(包含 TCP、UDP、ICMP 等)
  • any any:任意源IP → 任意目标IP
✅ 结果:

拒绝所有非 HTTP/HTTPS 的 IP 流量(如 FTP、Telnet、DNS 等)

⚠️ 注意:这一条也起到了“兜底”的作用,拦截其它未明确放行的流量。


🔍 第4、5行:

interface f0/0
ip access-group 110 in
📖 解释:
  • interface f0/0:进入接口配置模式,表示在 f0/0 接口上应用ACL
  • ip access-group 110 in
    • 表示将 ACL 编号 110 绑定到该接口
    • 方向是 in(表示进入接口的数据包要被检查)

🧠 总体结果:

  • 接口 f0/0 接收到的数据包中:
    • 如果是 TCP 且目标端口是 80 或 443 → 放行
    • 否则(所有其它服务/协议)→ 拒绝

✅ 示例2:只允许FTP(控制+数据端口)

access-list 120 permit tcp any any range 20 21
access-list 120 deny ip any any

🔍 第1行:

access-list 120 permit tcp any any range 20 21
📖 解释:
  • permit tcp:允许 TCP 协议流量
  • any any:任意源IP、任意目标IP
  • range 20 21:目的端口号在 20~21 范围内(包含20和21)

📌 说明:

  • 端口20是 FTP 数据端口
  • 端口21是 FTP 控制端口
✅ 结果:

允许所有主机访问 FTP 服务(仅 FTP)


🔍 第2行:

access-list 120 deny ip any any

拒绝除 FTP 以外的所有 IP 流量


✅ 示例3:只允许 192.168.1.0/24 使用 DNS 服务

access-list 150 permit udp 192.168.1.0 0.0.0.255 any eq 53

🔍 解释:

  • permit udp:允许 UDP 协议流量
  • 192.168.1.0 0.0.0.255:源IP范围是 192.168.1.0 ~ 192.168.1.255
  • any:目标IP可以是任意
  • eq 53:目标端口为 53(DNS服务)
✅ 结果:

只允许 192.168.1.X 的主机访问 DNS 服务(UDP 53端口)


🧠 最后补充:ACL执行流程图简化版

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

穿梭时空的智慧向导:Deepoc具身智能如何赋予导览机器人“人情味”

穿梭时空的智慧向导:Deepoc具身智能如何赋予导览机器人“人情味”清晨,当第一缕阳光透过高大的彩绘玻璃窗,洒在博物馆光洁的地板上,一位特别的“馆员”已悄然“苏醒”。它没有制服,却有着清晰的指引;它无需…

PostgreSQL 查询库中所有表占用磁盘大小、表大小

SELECTn.nspname AS schema_name,c.relname AS table_name,-- 1️⃣ 总大小(表 toast 索引)pg_size_pretty(pg_total_relation_size(c.oid)) AS total_size,-- 2️⃣ 表不包含索引(含 TOAST)pg_size_pretty(pg_total_relation_s…

日记-生活随想

最近鼠鼠也是来到上海打拼(实习)了,那么秉持着来都来了的原则,鼠鼠也是去bw逛了逛,虽说没票只能在外场看看😭。可惜几乎没有多少我非常喜欢的ip,不由感慨现在的二次元圈已经变样了。虽说我知道内…

串口A和S的含义以及RT的含义

A async 异步S sync 同步RT 收发U A RT 异步U SA RT 同步/异步

spring cloud负载均衡分析之FeignBlockingLoadBalancerClient、BlockingLoadBalancerClient

本文主要分析被 FeignClient 注解的接口类请求过程中负载均衡逻辑&#xff0c;流程分析使用的依赖版本信息如下&#xff1a;<spring-boot.version>3.2.1</spring-boot.version><spring-cloud.version>2023.0.0</spring-cloud.version><com.alibaba.…

ref 和 reactive

文章目录ref 和 reactive一、差异二、能否替代的场景分析&#xff08;1&#xff09;基本类型数据&#xff08;2&#xff09;对象类型数据&#xff08;3&#xff09;数组类型数据&#xff08;4&#xff09; 需要整体替换的场景三、替代方案与兼容写法1. 用 reactive 模拟 ref2. …

BatchNorm 与 LayerNorm:原理、实现与应用对比

BatchNorm 与 LayerNorm&#xff1a;原理、实现与应用对比 Batch Normalization (批归一化) 和 Layer Normalization (层归一化) 是深度学习中两种核心的归一化技术&#xff0c;它们解决了神经网络训练中的内部协变量偏移问题&#xff0c;大幅提升了模型训练的稳定性和收敛速度…

OcsNG基于debian一键部署脚本

&#x1f914; 为什么有了GLPI还要部署OCS-NG&#xff1f; 核心问题&#xff1a;数据收集的风险 GLPI直接收集的问题&#xff1a; Agent直接向GLPI报告数据时&#xff0c;任何收集异常都会直接影响资产数据库网络问题、Agent故障可能导致重复资产、错误数据、资产丢失无法对收集…

001_Claude开发者指南介绍

Claude开发者指南介绍 目录 Claude简介Claude 4 模型开始使用核心功能支持资源 Claude简介 Claude 是由 Anthropic 构建的高性能、可信赖和智能的 AI 平台。Claude 具备出色的语言、推理、分析和编程能力&#xff0c;可以帮助您解决各种复杂任务。 想要与 Claude 聊天吗&a…

004_Claude功能特性与API使用

Claude功能特性与API使用 目录 API 基础使用核心功能特性高级功能开发工具平台支持 API 基础使用 快速开始 通过 Anthropic Console 获取 API 访问权限&#xff1a; 在 console.anthropic.com/account/keys 生成 API 密钥使用 Workbench 在浏览器中测试 API 认证方式 H…

ReAct论文解读(1)—什么是ReAct?

什么是ReAct&#xff1f; 在大语言模型&#xff08;LLM&#xff09;领域中&#xff0c;ReAct 指的是一种结合了推理&#xff08;Reasoning&#xff09; 和行动&#xff08;Acting&#xff09; 的提示方法&#xff0c;全称是 “ReAct: Synergizing Reasoning and Acting in Lan…

【云服务器安全相关】服务器防火墙常见系统日志信息说明

目录✅ 一、防火墙日志是做什么的&#xff1f;&#x1f6e0;️ 二、常见防火墙日志信息及说明&#x1f9ea; 三、典型日志示例解析1. 被阻断的访问&#xff08;DROP&#xff09;2. 被允许的访问&#xff08;ACCEPT&#xff09;3. 被拒绝的端口访问4. 可疑端口扫描行为&#x1f…

011_视觉能力与图像处理

视觉能力与图像处理 目录 视觉能力概述支持的图像格式图像上传方式使用限制最佳实践应用场景API使用示例视觉能力概述 多模态交互 Claude 3 系列模型具备强大的视觉理解能力,可以分析和理解图像内容,实现真正的多模态AI交互。这种能力使Claude能够: 图像内容分析:理解图…

ansible自动化部署考试系统前后端分离项目

1. ✅ansible编写剧本步骤1️⃣创建roles目录结构2️⃣在group_vars/all/main.yml中定义变量列表3️⃣在tasks目录下编写tasks任务4️⃣在files目录下准备部署文件5️⃣在templates目录下创建j2模板文件6️⃣在handlers目录下编写handlers7️⃣在roles目录下编写主playbook8️⃣…

【AI论文】GLM-4.1V-Thinking:迈向具备可扩展强化学习的通用多模态推理

摘要&#xff1a;我们推出GLM-4.1V-Thinking&#xff0c;这是一款旨在推动通用多模态推理发展的视觉语言模型&#xff08;VLM&#xff09;。在本报告中&#xff0c;我们分享了在以推理为核心的训练框架开发过程中的关键发现。我们首先通过大规模预训练开发了一个具备显著潜力的…

Linux进程通信——匿名管道

目录 1、进程间通信基础概念 2、管道的工作原理 2.1 什么是管道文件 3、匿名管道的创建与使用 3.1、pipe 系统调用 3.2 父进程调用 fork() 创建子进程 3.3. 父子进程的文件描述符共享 3.4. 关闭不必要的文件描述符 3.5 父子进程通过管道进行通信 父子进程通信的具体例…

sql:sql在office中的应用有哪些?

在Office软件套件中&#xff0c;主要是Access和Excel会用到SQL&#xff08;结构化查询语言&#xff09;&#xff0c;以下是它们在这两款软件中的具体应用&#xff1a; 在Access中的应用 创建和管理数据库对象&#xff1a; 创建表&#xff1a;使用CREATE TABLE语句可以创建新的数…

零基础完全理解视觉语言模型(VLM):从理论到代码实践

本文是《从LLM到VLM&#xff1a;视觉语言模型的核心技术与Python实现》的姊妹篇&#xff0c;主要面向零基础的读者&#xff0c;希望用更通俗易懂的语言带领大家入门VLM。本教程的完整代码可以在GitHub上找到&#xff0c;如果你有任何问题或建议&#xff0c;欢迎交流讨论。 写在…

数据结构 Map和Set

文章目录&#x1f4d5;1. 二叉搜索树✏️1.1 查找操作✏️1.2 插入操作✏️1.3 删除操作&#x1f4d5;2. Map的使用✏️2.1 Map的常用方法✏️2.2 TreeMap和HashMap的区别✏️2.3 HashMap的底层实现&#x1f4d5;3. Set的使用✏️3.1 Set的常用方法✏️3.2 TreeSet和HashSet的区…

树莓派5-系统 Debian 12 开启VNC远程访问踩坑记录

简单记录一下踩坑&#xff0c;安装vnc远程访问服务并设置开机自启1.查看系统版本&#xff0c;我这里的系统版本是 12cat /etc/os-release2.安装VNC服务sudo apt install realvnc-vnc-server realvnc-vnc-viewer -y3.创建服务单元文件&#xff1a;sudo nano /etc/systemd/system…