ACT、NAT、NATPT和EASY-IP
目录
一、ACL
1.ACL
2.ACL的两种应用匹配机制
3.ACL的基本类型
4.ACL命令操作
5.ACL实验:
4.ACL的应用原则:
5.匹配原则:
二、NAT
1.NAT的原理及作用:
2.NAT分类
3.NAT配置
三、EASY-ip实验
四、NATPT
五、通配符
一、ACL
1.ACL
ACL:是访问控制列表。
作用:过滤流量,然后匹配规则是否允许通过(通过或者拒绝)。例如,在同一家公司内,boss电脑可以访问任何部门,而每个部门的人只能访问自己的部门,就要通过acl进行网络设置。
2.ACL的两种应用匹配机制
①应用在端口的ACL,用于过滤数据包。
②应用在路由协议,匹配对应的路由协议。
ACL匹配机制:规则自上而下依次匹配,一旦匹配就不再向下,例如第一条允许所有的1.1.1.0 24段通过,那么第二条拒绝1.1.1.2 32访问的规则就不会再生效。
3.ACL的基本类型
①基本acl:2000-2999,只能根据数据包中的源ip,对数据包进行处理。
②高级acl:3000-3999,可以根据数据包中的五元组(源IP地址,目的ip地址,源mac地址,目的mac地址,协议端口号)对数据包进行处理。
③二层acl:4000-4999,mac vlan-id
4.ACL命令操作
①ACL 2000 ## 创建基础ACL
②rule premit (deny)source 1.1.1.1 ## 添加规则,允许或者拒绝 源地址为1.1.1.1的地址
③int g0/0/1 ## 进入要配置的端口
④traffic-filter oubound(inbound) ACL 2000 ##在入口或者出口调用acl2000的规则。
5.ACL实验:
1.实验目的:
在同一局域网中,pc1不能访问server,而pc2可以访问server。
2.实验拓扑:

3.实验步骤:
①先配置pc1pc2的IP地址以及子网掩码和网关。如下图

②配置路由器接口并且检测pc1pc2是否可以访问server,如下图。
<huawei> undo terminal monitor #关闭用户视图提示
<huawei> system-view #进入系统视图
[huawei] undo infor-center enable #关闭系统视图提示
[huawei] int g0/0/0 #进入接口g/0/0/0
[huawei-g0/0/0] ip address 192.168.1.254 24 #为接口配置ip地址
[huawei-g0/0/0] int g0/0/1 #进入接口g0/0/1
[huawei-g0/0/1] ip address 192.168.3.254 24 #为接口配置ip地址

能ping通则说明pc1与pc2可以与server通信。
③然后在路由器上设置ACL2000,并在g0/0/1口设置规则不允许192.168.1.1访问192.168.3.1服务器,配置完成后PC1不能访问server,pc2可以正常访问服务器。如下图
[huawei]ACL 2000 ##创建基础级ACL 2000
[huawei]rule deny source 192.168.1.1 0 ##添加规则,拒绝源ip为192.168.1.1
[huawei]int g0/0/1 ##进入 g0/0/1接口
[huawei-g0/0/1] traffic-filter outbound acl 2000 ##为出端口配置ACL 2000规则



④拓展
高级ACL:acl3000
rule deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www(80)
(不让192.168.1.1 去访问192.168.2.1的tcp 80端口)
int g0/0/1
undo traffic-filter outbound
traffic-filter outbound acl 3000
4.ACL的应用原则:
基本ACL:尽量用在靠近目的点
高级ACL:尽量用在靠近源(自己)的地方
5.匹配原则:
1.一个接口的同一个方向,只能调用一个acl
2.一个ACL里面可以有多个rule规则,按照规则id从小到大排序,从上往下依次执行
3.数据包一旦被某rule匹配,就不再继续向下匹配
4.用来做数据包访问控制时,默认隐含放过所有设备
二、NAT
1.NAT的原理及作用:
作用:通过网络地址转换,实现内网地址和公网地址的相互访问
原理:从内网出去时将内网源地址转换为公网ip地址,从公网回来时将目的公网地址改为目的私网地址。
2.NAT分类
①静态nat:私网地址和公网地址一对一映射,局限性就在于一个私网需要一个公网地址,需要的公网地址较多。
②动态nat:将公网ip划出一个公网ip地址池,当内网地址访问外网时将随机分配一个ip,访问完成后在收回公网ip。
3.NAT配置
3.1静态nat配置:
①进入企业出口路由器static nat enable 开启静态nat
②nat static global 1.1.1.1 inside 2.2.2.2将静态nat私网地址1.1.1.1对应公网地址2.2.2.2
3.2动态nat配置:
①nat address-group 1 200.1.1.10 200.1.1.15 建立动态nat地址池
②acl number 2000 创建acl2000
③rule 5 permit source 192.168.1.0 0.0.0.255 设定规则来自192.168.1.0网段的用户允许通过
④int g0/0/01 进入端口g0/0/1
⑤nat outbound 2000 address-group 1 on-pat 将规则添加在出口
三、EASY-ip实验
①实验目的
PC1PC2通过企业路由器后可以访问外网,运营商路由器不可操作,只能在企业的出口路由器做nat,使得PC1PC2通过出口路由器时转化为出口地址且端口号不一样来识别是谁发送的数据。
②实验拓扑

③实验步骤:
1.配置PC1PC2地址子网掩码和网关,如下图。

2.配置企业路由器和移动运营商路由器接口地址
AR1:
<Huawei>undo terminal monitor ##关闭用户视图提示
<Huawei>system-view ##进入系统视图
[Huawei]sysname AR1 ##修改路由器名称
[AR1]interface g0/0/0 ##进入g0/0/0接口
[AR1-GigabitEthernet0/0/0]ip address 192.168.1.254 24 ##接口配置ip地址
[AR1-GigabitEthernet0/0/0]interface g0/0/1 ## 进入g0/0/1接口
[AR1-GigabitEthernet0/0/1]ip address 200.1.1.1 24 ##接口配置ip地址
AR2:
<Huawei>undo terminal monitor ##关闭用户视图提示
<Huawei>system-view ##进入系统视图
[Huawei]sysname AR2 ##修改路由器名称
[AR1]interface g0/0/0 ##进入g0/0/0接口
[AR1-GigabitEthernet0/0/0]ip address 200.1.1.254 24 ##接口配置ip地址


3.然后在企业路由器AR1上添加ACL规则并在出口上应用NAT,以此达到PC1PC2到达出口路由器地址nat成出口地址的目的访问外网。
[Huawei]ACL 2000 ##创建初级ACL 2000
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 ##添加规则允许源地址为192.168.1.0的用户通过0.0.0.255为通配符掩码,可以暂时理解为反掩码用255.255.255.255减去子网掩码即可
[Huawei-acl-basic-2000]quit ##返回系统视图
[Huawei]int g0/0/1 ##进入g0/0/1接口
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 ##在此接口配置出口nat并调用acl 200规则
4.然后进入PC1PC2ping200.1.1.254来查看是否可以通过nat来访问外网。

5.通过wireshark抓包来查看pc1访问200.1.1.254的地址和端口号是否成出口地址200.1.1.1.
①在pc1上进行ping200.1.1.1254 -t
②然后再进入出口路由器使用命令等待查看端口是多少,命令为display nat session all ,可以查看 出源ip是多选,经过nat后的源IP是多少,以及此次连接的端口。端口号是此次PC1用于nat公网地址的标志,外网数据回包时出口路由器也是通过这个端口号判断数据要发给谁。
③右键出口路由器选择抓包,选择出口,本拓扑是g0/0/1。

④进入wireshark后点击一个包查看ICMP协议中的Identifier(LE)后面跟着的就是此次ip转换的内网端口号,由于长ping是一来一回则完成一次连接没有长时间建立连接所以随便点一个包查看是端口号可能不一样。此为实验环境测试导致,若是长时间访问一个网页不关闭则端口号会被长期占用,抓包时端口号就不会改变。
四、NATPT
端口号映射
NAT Server----内网服务器对外提供服务,针对目的ip和目的端口映射
内网服务器的相应端口映射成路由器公网ip地址的相应端口

程序代码:
配置好ip地址企业出口路由器需要配置默认路由在企业出口路由器上 的g0/0/1 口配置
int g0/0/1
ip address 200.1.1.1 255.255.255.0
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat server protocol tcp global current-interface www inside 192.168.1.100 www
nat static enable
五、通配符
1.子网掩码 1 主机0 配置ip时使用 连续的1表示网络位
反子网掩码 0 主机1 路由协议 连续的0表示网络位
通配符可以10穿插,0可变,1不可变
2.通配符例题
答案AD
解析
172.16.1.1 0.0.0.0意思就是172.16.1.1一位都不可变,172.16.0.0 0.255.0.0就是第二位可变。苏所以选AD
3.EASY-IP使用一个公网地址,可以让所有人都上网,连端口号一起一同转发,便于回包。
相关文章:
ACT、NAT、NATPT和EASY-IP
目录 一、ACL 1.ACL 2.ACL的两种应用匹配机制 3.ACL的基本类型 4.ACL命令操作 5.ACL实验: 4.ACL的应用原则: 5.匹配原则: 二、NAT 1.NAT的原理及作用: 2.NAT分类 3.NAT配置 三、EASY-ip实验 四、NATPT 五、通配符 …...
HTML实现每天单词积累
注册页面 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>注册</title><style>body {font-family: Arial, sans-serif;background-color: #f5f5f5;}form {max-width: 500px;margin: 50px auto;padding: 40px…...
【ECMAScript笔记二】运算符分类,流程控制(顺序结构、分支结构、循环结构)
文章目录 4 运算符4.1 算术运算符4.2 递增和递减运算符4.3 比较运算符4.4 逻辑运算符4.5 赋值运算符4.6 运算优先级 5 流程控制5.1 顺序结构5.2 分支结构5.2.1 if 语句5.2.2 switch 语句 5.3 循环结构5.3.1 for循环5.3.2 while循环5.3.3 do while循环5.3.4 continue和break 5.4…...
ShenYu网关注册中心之Zookeeper注册原理
文章目录 1、客户端注册流程1.1、读取配置1.1.1、用于注册的 ZookeeperClientRegisterRepository1.1.2、用于扫描构建 元数据 和 URI 的 SpringMvcClientEventListener 1.2、扫描注解,注册元数据和URI1.2.1、构建URI并写入Disruptor1.2.2、构建元数据并写入Disrupto…...
高级C#技术(二)
前言 本章为高级C#技术的第二节也是最后一节。前一节在下面这个链接 高级C#技术https://blog.csdn.net/qq_71897293/article/details/134930989?spm1001.2014.3001.5501 匿名类型 匿名类型如其名,匿名的没有指定变量的具体类型。 举个例子: 1 创建…...
【性能测试】基础知识篇-压力模型
常见压力模式 并发模式(即虚拟用户模式)和RPS模式(即Requests Per Second,每秒请求数,吞吐量模式)。 本文介绍这两种压力模式的区别,以便根据自身业务场景选择更合适的压力模式。 并发模式 …...
springboot-redis设置定时触发任务详解
最近研究了一下“redis定时触发”,网上查了查资料,这里记录一下。 从Redis 2.8.0开始,Redis加入了发布/订阅模式以及键空间消息提醒(keyspace notification)功能。键空间消息提醒提供了允许客户端通过订阅指定信道获取…...
Video anomaly detection with spatio-temporal dissociation 论文阅读
Video anomaly detection with spatio-temporal dissociation 摘要1.介绍2.相关工作3. Methods3.1. Overview3.2. Spatial autoencoder3.3. Motion autoencoder3.4. Variance attention module3.5. Clustering3.6. The training objective function 4. Experiments5. Conclusio…...
svn 安装
安装系统 ubuntu 22 安装命令: sudo apt-get install subversion 创建第一个工程: 创建版本库、项目 1、先创建svn根目录文件夹 sudo mkdir /home/svn 2、创建项目的目录文件夹 sudo mkdir /home/svn/demo_0 svnadmin create /home/svn/demo_0 配置&a…...
slurm 23.11.0集群 debian 11.5 安装
slurm 23.11.0集群 debian 11.5 安装 用途 Slurm(Simple Linux Utility for Resource Management, http://slurm.schedmd.com/ )是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统。超级计算系统可利用Slurm对资源和作业进行管理&a…...
ffmpeg可以做什么
用途 FFmpeg是一个功能强大的多媒体处理工具,可以处理音频和视频文件。它是一个开源项目,可在各种操作系统上运行,包括Linux、Windows和Mac OS X等。以下是FFmpeg可以做的一些主要任务: 转换媒体格式:可将一个媒体格式…...
一种缩小数据之间差距的算法
先上代码: /** * 缩小数据之间的差距,但是大小关系不变的方法* param {Array} features */function minMaxData(data) {for (let i 0; i < data.length; i) {const f data[i];const x f[1];const yf[2];//此处5根据实际情况设置const y2 Math.pow(…...
【Axure RP9】动态面板使用------案例:包括轮播图和多方式登入及左侧菜单栏案例
目录 一 动态面板简介 1.1 动态面板是什么 二 轮播图 2.1 轮播图是什么 2.2 轮播图应用场景 2.3 制作实播图 三 多方式登入 3.1多方式登入是什么 3.3 多方式登入实现 四 左侧菜单栏 4.1左侧菜单栏是什么 4.2 左侧菜单栏实现 一 动态面板简介 1.1 动态面板是什么…...
在接口实现类中,加不加@Override的区别
最近的软件构造实验经常需要设计接口,我们知道Override注解是告诉编译器,下面的方法是重写父类的方法,那么单纯实现接口的方法需不需要加Override呢? 定义一个类实现接口,使用idea时,声明implements之后会…...
优质全套SpringMVC教程
三、SpringMVC 在SSM整合中,MyBatis担任的角色是持久层框架,它能帮我们访问数据库,操作数据库 Spring能利用它的两大核心IOC、AOP整合框架 1、SpringMVC简介 1.1、什么是MVC MVC是一种软件架构的思想(不是设计模式-思想就是我们…...
微信小程序---使用npm包安装Vant组件库
在小程序项目中,安装Vant 组件库主要分为如下3步: 注意:如果你的文件中不存在pakage.json,请初始化一下包管理器 npm init -y 1.通过 npm 安装(建议指定版本为1.3.3) 通过npm npm i vant/weapp1.3.3 -S --production 通过y…...
GPT-4V被超越?SEED-Bench多模态大模型测评基准更新
📖 技术报告 SEED-Bench-1:https://arxiv.org/abs/2307.16125 SEED-Bench-2:https://arxiv.org/abs/2311.17092 🤗 测评数据 SEED-Bench-1:https://huggingface.co/datasets/AILab-CVC/SEED-Bench SEED-Bench-2&…...
数据库_mongoDB
1 介绍 MongoDB 是一种 NoSQL 数据库,它将每个数据存储为一个文档,这里的文档类似于 JSON/BSON 对象,具体数据结构由键值(key/value)对组成。字段值可以包含其他文档,数组及文档数组。其数据结构非常松散&…...
Layui实现自定义的table列悬停事件并气泡提示信息
1、概要 使用layui组件实现table的指定列悬停时提示信息,因为layui组件中没有鼠标悬停事件支持,所以需要结合js原生事件来实现这个功能,并结合layui的tips和列的templte属性气泡提示实现效果。 2、效果图 3、代码案例 <!DOCTYPE html&g…...
Tomcat从认识安装到详细使用
文章目录 一.什么是Tomact?二.Tomcat的安装1.下载安装包2.一键下载3.打开Tomcat进行测试4.解决Tomcat中文服务器乱码 三.Tomcat基本使用1.启动与关闭Tomcat2.Tomcat部署项目与浏览器访问项目 四.Tomcat操作中的常见问题1.启动Tomcat后,启动窗口一闪而过?…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...
break 语句和 continue 语句
break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行 break break语句用于跳出代码块或循环 1 2 3 4 5 6 for (var i 0; i < 5; i) { if (i 3){ break; } console.log(i); } continue continue语句用于立即终…...
板凳-------Mysql cookbook学习 (十--2)
5.12 模式匹配中的大小写问题 mysql> use cookbook Database changed mysql> select a like A, a regexp A; ------------------------------ | a like A | a regexp A | ------------------------------ | 1 | 1 | --------------------------…...
