在OSPF中使用基本ACL过滤路由信息示例

news2024/9/25 3:27:46

1、ACL的基本原理。

        ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。设备支持软件ACL和硬件ACL两种实现方式。

2、ACL的组成。

  • ACL名称:通过名称来标识ACL,就像用域名代替IP地址一样,更加方便记忆。这种ACL,称为命名型ACL。

    命名型ACL一旦创建成功,便不允许用户再修改其名称。

    仅基本ACL与基本ACL6,以及高级ACL与高级ACL6,可以使用相同的ACL名称;其他类型ACL之间,不能使用相同的ACL名称。

    命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配,设备为其分配的编号是该类型ACL可用编号中取值范围内的最大值。

  • ACL编号:用于标识ACL,也可以单独使用ACL编号,表明该ACL是数字型。

    不同的ACL类型使用不同的ACL编号取值标识。

  • 规则:即描述报文匹配条件的判断语句。

    • 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。

      ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。

    • 动作:报文处理动作,包括permit/deny两种,表示允许/拒绝。

    • 匹配项:ACL定义了极其丰富的匹配项。除了图中中的源地址和生效时间段,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型),三层报文信息(如目的IP地址、协议类型),以及四层报文信息(如TCP/UDP端口号)等。

    3、ACL的实现方式。

目前设备支持的ACL,有以下两种实现方式。

  • 软件ACL:针对与本机交互的报文(必须上送CPU处理的报文),由软件实现来过滤报文的ACL,比如FTP、TFTP、Telnet、SNMP、HTTP、路由协议、组播协议中引用的ACL。

  • 硬件ACL:针对所有报文,通过下发ACL资源到硬件来过滤报文的ACL,比如流策略、基于ACL的简化流策略、用户组以及为接口收到的报文添加外层Tag功能中引用的ACL。

两者主要区别在于:

  • 过滤的报文类型不同:软件ACL用来过滤与本机交互的报文,硬件ACL可以用来过滤所有报文。

  • 报文过滤方式不同:软件ACL是被上层软件引用来实现报文的过滤,硬件ACL是被下发到硬件来实现报文的过滤。通过软件ACL过滤报文时,会消耗CPU资源,通过硬件ACL过滤报文时,则会占用硬件资源。通过硬件ACL过滤报文的速度更快。

  • 对不匹配ACL的报文的处理动作不同:当使用软件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为deny,即拒绝报文通过;当使用硬件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为permit,即允许报文通过。

 4、实验案例。

设备名

接口

对应的VLANIF

IP地址

S1

GE0/0/1

VLANIF10

192.168.1.1/24

S2

GE0/0/1

VLANIF10

192.168.1.2/24

S2

GE0/0/2

VLANIF20

192.168.2.1/24

S3

GE0/0/1

VLANIF20

192.168.2.2/24

实验拓扑:

1、S1配置。

##基础IP地址配置
[S1]vlan 10
[S1-vlan10]q
[S1]interface Vlanif 10
[S1-Vlanif10]ip add 192.168.1.1 24 
[S1-Vlanif10]q
[S1]int g0/0/1
[S1-GigabitEthernet0/0/1]port link-type access 	
[S1-GigabitEthernet0/0/1]port default vlan 10

配置OSPF宣告网络

[S1]ospf
[S1-ospf-1]area 0
[S1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255 
[S1-ospf-1-area-0.0.0.0]q
[S1-ospf-1]q

配置5条静态路由,并将它们引入到OSPF中

[S1]ip route-static 172.16.16.0 24 NULL 0
[S1]ip route-static 172.16.17.0 24 NULL 0
[S1]ip route-static 172.16.18.0 24 NULL 0
[S1]ip route-static 172.16.19.0 24 NULL 0
[S1]ip route-static 172.16.20.0 24 NULL 0
[S1]ospf
[S1-ospf-1]import-route static 
[S1-ospf-1]q

在S2上查看路由表可以发现拥有5条静态,所有需要配置路由发布策略只允许17.0、18.0、19.0网段通过 

[S1]acl number 2002
[S1-acl-basic-2002]rule permit source 172.16.17.0 0.0.0.255
[S1-acl-basic-2002]rule permit source 172.16.18.0 0.0.0.255
[S1-acl-basic-2002]rule permit source 172.16.19.0 0.0.0.255
[S1-acl-basic-2002]quit
[S1]ospf
[S1-ospf-1]filter-policy 2002 export static
[S1-ospf-1]quit

 此时再查看就只能看到3条路由了

2、S2配置。

##基础IP地址配置
[S2]vlan batch 10 20
[S2]interface Vlanif 10 
[S2-Vlanif10]ip add 192.168.1.2 24 
[S2-Vlanif10]q
[S2]vlan 20
[S2-vlan20]q
[S2]interface Vlanif 20
[S2-Vlanif20]ip add 192.168.2.1 24 
[S2-Vlanif20]q
[S2]int g0/0/1
[S2-GigabitEthernet0/0/1]port link-type access 
[S2-GigabitEthernet0/0/1]port default vlan 10
[S2-GigabitEthernet0/0/1]q
[S2]int g0/0/2
[S2-GigabitEthernet0/0/2]port link-type access 
[S2-GigabitEthernet0/0/2]port default vlan 20
[S2-GigabitEthernet0/0/2]q

配置OSPF宣告网络

[S2]ospf
[S2-ospf-1]area 0 
[S2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[S2-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[S2-ospf-1-area-0.0.0.0]q
[S2-ospf-1]q

 3、S3配置。

##基础IP地址配置
[S3]vlan 20
[S3-vlan10]q
[S3]interface Vlanif 20 
[S3-Vlanif10]ip add 192.168.2.2 24
[S3-Vlanif10]q
[S3]int g0/0/1
[S3-GigabitEthernet0/0/1]port link-type access 
[S3-GigabitEthernet0/0/1]port default vlan 10
[S3-GigabitEthernet0/0/1]q

配置OSPF宣告

[S3]ospf
[S3-ospf-1]area 0
[S3-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[S3-ospf-1-area-0.0.0.0]q
[S3-ospf-1]q

S3同样需要配置路由策略只允许18.0通过

[S3]acl number 2003
[S3-acl-basic-2003]rule permit source 172.16.18.0 0.0.0.255
[S3-acl-basic-2003]quit
[S3] ospf
[S3-ospf-1]filter-policy 2003 import
[S3-ospf-1]quit

  4、实验结果。

S2和S3的路由表只允许部分网段通过

S2:

S3:

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

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

相关文章

2023-2024-1-高级语言程序设计-第2次月考函数题

6-1-1 调用函数求分段函数 编写函数fun计算下列分段函数的值&#xff1a; 。 函数接口定义&#xff1a; float fun(float x); 其中 x 是用户传入的参数。 函数须返回分段函数的计算结果。 裁判测试程序样例&#xff1a; #include <stdio.h> #include <math.h> …

06 数仓平台MaxWell

Maxwell简介 Maxwell是由Zendesk公司开源&#xff0c;用 Java 编写的MySQL变更数据抓取软件&#xff0c;能实时监控 MySQL数据库的CRUD操作将变更数据以 json 格式发送给 Kafka等平台。 Maxwell输出数据格式 Maxwell 原理 Maxwell工作原理是实时读取MySQL数据库的二进制日志…

Windows 10安装FFmpeg详细教程

Windows 10安装FFmpeg详细教程 0. 背景 在搭建之前的项目环境时&#xff0c;需要安装ffmpeg&#xff0c;在此记录下过程 1. 官网下载 点击进入官网&#xff1a;ffmpeg&#xff0c;官网地址&#xff1a;https://ffmpeg.org/download.html 如图所示&#xff0c;点击Windows图标…

【Windows】永久屏蔽系统更新

永久关闭电脑更新服务 操作思路&#xff1a; 第一步 winR 输入 services.msc 回车 进入服务管理窗口第二步 进入窗口后 找到 w 开头的文件夹 并找到Windows Update 双击打开 Windows Update 将启动类型&#xff08;E&#xff09; 改为禁用 上方的 “常规” “登录” “恢…

MATLAB学习QPSK之QPSK_MOD_DEMOD_SALIMup分析

学习的背景说明 因为在学习5G物理层&#xff0c;一直很忙&#xff0c;没有时间。最近稍有一点空闲&#xff0c;所以&#xff0c;学习一下算法。 QPSK的算法&#xff0c;虽然说我没有完全学透&#xff0c;大致还是懂的。只能一直没时间用MATLAB来研究一下。 然后看到这个实例&…

fastapi框架可以自动生成接口文档

安装FastAPI pip install fastapi test1.py from fastapi import FastAPIapp FastAPI()app.get("/") def read_root():return {"Hello": "World"}app.get("/items/{item_id}") def read_item(item_id: int, q: str None):#路由处理…

01-应用扩展和架构演进

文章目录 前言一、项目扩展二、架构演进总结 前言 随着项目从使用者范围到用户体积的不断扩大&#xff0c;最原始的单体项目已经无法很好地支撑现代项目所需的要求。因此&#xff0c;项目的架构也随之不断演进。本文将介绍架构的演进过程&#xff0c;初步了解微服务架构。 一…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之linux存储管理(3)》(19)

《Linux操作系统原理分析之linux存储管理&#xff08;3&#xff09;》&#xff08;19&#xff09; 6 Linux存储管理6.4 Linux 的分段和分页结构6.4.1Linux 的分段结构6.4.2 Linux 的三级分页结构6.4.3 内核页表和进程页表 6 Linux存储管理 6.4 Linux 的分段和分页结构 本节主…

【滑动窗口】LeetCode2953:统计完全子字符串

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本题其它解法 【离散差分】LeetCode2953:统计完全子字符串 题目 给你一个字符串 word 和一个整数 k 。 如果 word 的一个子字符串 s 满足以下条件&#xff0c;我们称它是 完全字符串&#xff1a; s 中每个字符…

014 OpenCV canny边缘检测

一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、canny原理 OpenCV中的Canny边缘检测算法是一种基于图像处理的计算机视觉技术&#xff0c;主要用于检测图像中的边缘。Canny边缘检测算法的原理是通过计算图像中像素点之间的梯度值来…

导入JDBC元数据到Apache Atlas

前言 前期实现了导入MySQL元数据到Apache Atlas, 由于是初步版本&#xff0c;且功能参照Atlas Hive Hook&#xff0c;实现的不够完美 本期对功能进行改进&#xff0c;实现了导入多种关系型数据库元数据到Apache Atlas 数据库schema与catalog 按照SQL标准的解释&#xff0c;…

【Latex笔记】标题页

整体结构 模板结构如下&#xff1a; \documentclass{book} % 导言区&#xff0c;加载宏包和各项设置&#xff0c;包括参考文献、索引等 \usepackage{makeidx} % 调用makeidx 宏包&#xff0c;用来处理索引 \makeindex % 开启索引的收集 \bibliographystyle{plain} % 指定参考…

OpenCV-Python:图像卷积操作

目录 1.图像卷积定义 2.图像卷积实现步骤 3.卷积函数 4.卷积知识考点 5.代码操作及演示 1.图像卷积定义 图像卷积是图像处理中的一种常用操作&#xff0c;主要用于图像的平滑、锐化、边缘检测等任务。它可以通过滑动一个卷积核&#xff08;也称为滤波器&#xff09;在图像…

【C/PTA —— 14.结构体1(课内实践)】

C/PTA —— 14.结构体1&#xff08;课内实践&#xff09; 6-1 计算两个复数之积6-2 结构体数组中查找指定编号人员6-3 综合成绩6-4 结构体数组按总分排序 6-1 计算两个复数之积 struct complex multiply(struct complex x, struct complex y) {struct complex product;product.…

Shopify二次开发之三:liquid语法学习(Tags)

目录 Tags 变量声明 assign capture decrement increment 条件语句 if else unless case HTML form表单生成 style Iteration (遍历) for else break continue cycle paginate Theme &#xff08;主题&#xff09; render渲染一个snippet&#xff0c;可…

用友NC word.docx接口存在任意文件读取漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、产品介绍 用友 NC Cloud&#xff0c;大型企业数字化平台&#xff…

MySQL笔记-第04章_运算符

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第04章_运算符1. 算术运算符2. 比较运算符3. 逻辑运算符4. 位运算符5. 运算符的优先级拓展&#xff1a;使用正则表达式查询 第04章_运算符 …

轻量封装WebGPU渲染系统示例<43>- PBR材质与阴影实(源码)

原理简介: 1. 基于rendering pass graph实现。 2. WGSL Shader 基于文件系统和宏机制动态组装。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/PBRShadowTest.ts 当前示例运行效果: 此示例基于此渲染系统实现&a…

【Windows】使用SeaFile搭建本地私有云盘并结合内网穿透实现远程访问

1. 前言 现在我们身边的只能设备越来越多&#xff0c;各种智能手机、平板、智能手表和数码相机充斥身边&#xff0c;需要存储的数据也越来越大&#xff0c;一张手机拍摄的照片都可能有十多M&#xff0c;电影和视频更是按G计算。而智能设备的存储空间也用的捉襟见肘。能存储大量…