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

ACL与Prefix List(前缀列表)

匹配工具一般搭配其他操作,可实现NAT,路由策略,策略路由,MQC,流量过滤等操作

通配符掩码

我们都知道子网掩码的1是精确匹配,1是大致匹配,1必须连续

我们也知道反掩码的1是大致匹配,0是精确匹配,0必须连续

那么通配符掩码其实和反掩码很像,ta的

0也是精确匹配,1也是大致匹配,但与前两者不同的是,1可以不连续

ACL(访问控制列表)

ACL作为一种匹配工具,有5种类型,可在接口的入方向和出方向调用,一般用于实现流量过滤和NAT操作

相关概念

ACL编号(2000~6031):用于表示ACL

rule规则:ACL的匹配判断条件,后跟编号,可取0~4294967294,默认步长为5

动作:permit/deny,允许或者拒绝

匹配项:要判断的内容

匹配原则

  1. 检测是否存在ACL,存在进入ACL匹配,不存在ACL不匹配,按系统默认操作
  2. 检测ACL是否有规则,如果有开始匹配,反之ACL不匹配,按系统默认处理
  3. 开始分析,从第一条开始分析,一旦命中立即结束,按照ACL规则中匹配允许/拒绝,如果未命中,分析下一条rule
  4. 如果已无rule,则ACL匹配结果为不匹配

fd9b0b09703e44a78eddc2f55dcaa453.png

 

类型

基本ACL(2000-2999)

基于源IP,分片信息和生效时间信息定义规则

常见应用有NAT

高级ACL(3000-3999)

可基于源目IP,TCP/UDP源目端口号,ICMP报文,IP协议类,生效时间等信息定义规则

常见应用有流量过滤,主机间禁止通信

二层ACL(4000-4999)

基于以太网帧头信息,比如源目MAC地址,二层协议定义规则

常见应用有两个VLAN间禁止访问

用户自定义ACL(5000-5999)

基于报文头,偏移位置,字符串掩码和用户自定义字符串定义规则

常见应用有敏感词过滤

用户ACL(6000-6031)

基于源目IP地址或源目UCL组,IP协议类型,ICMP类型,TCP/UDP源/目的端口号等定义规则

常见应用有限制用户组上网访问和某些功能

匹配顺序

配置匹配

人为手动,按照配置规则编号依次向下检测

自动匹配

采用深度优先,自动排序为从上到下精确度越来越低

比较原则

1.比较二层通配符,1多优先

2.比较源MAC,1多优先

3.比较目MAC,1多优先

(因为MAC地址的通配符与IP相反,1是精确匹配,0是大致匹配,不指定默认为全f,即范围内只有一个MAC地址)

4.IP类协议优先

5.源IP地址范围,通配符0多优先

6.目IP地址范围,通配符0多优先

7.比较端口号范围,小的优先

8.编号小的优先

总之,从底层往上比较,比较二层,然后三层,最后四层;先检测源再检测目;最后看标号

Prefix List(前缀列表)

可理解为高级ACL,主要用于路由过滤和策略控制,相较与ACL,前缀列表更简单,更高效,更精确

相关概念

index:索引号,默认步长为15

ip-address:ip地址,即要匹配的网段

mask-length:掩码长度

greater-equal:大于等于掩码长度

less-equal:小于等于掩码长度

动作:permit/deny允许/拒绝

匹配原则

1.前缀列表中的规则按照索引号从小到大的顺序进行匹配

2.一旦路由与某个规则匹配成功,路由器就不会再尝试匹配其他规则,立即退出匹配

3.如果路由没有与任何规则匹配,那么它会被默认拒绝通过前缀列表

总结

ACL功能多,可配置内容多但在路由控制这块效率偏低,且操作繁琐,不适用大型网络,而前缀列表正好可以解决ACL路由控制和策略管理的缺陷

 

 

 

 

http://www.lryc.cn/news/502109.html

相关文章:

  • OpenSSH和OpenSSL升级
  • 数据库继续学习
  • 车载以太网-UDPNM
  • 网页核心页面设计(第8章)
  • 在PowerShell下运行curl命令出现错误:Invoke-WebRequest : 无法处理参数,因为参数名称“u”具有二义性
  • 医疗花费预测——协方差矩阵和热力图
  • react antd tabs router 基础管理后台模版
  • 【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
  • 【数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】
  • GIT CLONE ERROR: remote: [session-ec426a86] Access denied
  • GitHub 正式收录 MoonBit 作为一门通用编程语言!核心用户突破三万!
  • PHP中GD库的使用
  • docker安装Elasticsearch和Kibana
  • 【Linux】文件管理必备知识和基本指令
  • 欢迪迈手机商城设计与实现
  • 量化交易系统开发-实时行情自动化交易-3.4.2.3.数字货币市场深度数据
  • 有序集合ZSET【Redis对象篇】
  • 力扣-图论-9【算法学习day.59】
  • 如何选择安全、可验证的技术?
  • Allure在自动化测试中的应用
  • C# 探险之旅:第十一节 - 循环(foreach):一场“遍历”奇幻岛的大冒险!
  • Ubuntu24.04配置STMTrack
  • 【Java学习笔记】Map接口和常用方法
  • uniapp支持App横竖屏开发总结
  • 【工作笔记】Lombok版本变化导致的反序列化异常
  • 多模态大语言模型 MLLM 部署微调实践
  • LNMP和Discuz论坛
  • Cadence学习笔记 2 PCB封装绘制
  • 网络安全——防火墙
  • 【CSS in Depth 2 精译_074】第 12 章 CSS 排版与间距概述 + 12.1 间距设置(下):行内元素的间距设置