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

NAT(网络地址转换)逻辑图解+实验详解

原理

NAT(Network Address Translation,网络地址转换) 是一种网络技术,用于在IP数据包通过路由器或防火墙时,修改其源IP地址或目标IP地址,以实现不同网络之间的通信。

基础概念

  1. 本来NAT是来解决 IPv4 地址不够用的问题,但是后来被IPV6替代了
  2. NAT 设备通常是路由器或防火墙
  3. 基本NAT可分为静态 NAT 和动态 NAT

为什么需要NAT?

  1. 解决IPv4地址枯竭问题
  2. 保护内网安全

理解NAT,举个例子(不代表实际通信)

总的框架图
在这里插入图片描述

  1. PC2向 Server1 发送报文,网关是 10.0.0.254 ,源地址是 10.0.0.1 ,目的地址是
    211.134.180.2/24。
    在这里插入图片描述
  2. AR1 收到 IP 报文后,查找路由表,将 IP 报文转发至出接口,由于出接口上配置了 NAT ,因此 RT 需要将源地址
    10.0.0.1 转换为nat地址池的公网地址
    在这里插入图片描述
  3. AR1从地址池中查找第一个可用的公网地址 211.134.180.3 ,用这个地址替换数据包的源地址,转换后的数据包源地址为
    211.134.180.3 ,目的地址不变。同时 AR1 在自己的 NAT 表中添加一个表项,记录私有地址 10.0.0.1到 公网地址 211.134.180.3 的映射,RT 再将报文转发给目的地址211.134.180.2。
    在这里插入图片描述
  4. Server 收到报文后做相应处理
  5. Server 发送回应报文,报文的源地址是211.134.180.2 ,目的地址是211.134.180.3
    在这里插入图片描述
  6. AR1 收到报文,发现报文的目的地址 211.134.180.13 在 NAT 地址池内,于是检查 NAT表,找到对应表项后,使用私有地址 10.0.0.1 替换公网地址219.134.180.11,转换后的报文源地址不变,目的地址为10.0.0.1 ,RT在将报文转发给PC1。
    在这里插入图片描述
  7. PC1收到报文,地址转换过程结束
    在这里插入图片描述
    如果PC2也要访问 Server1 ,则AR1会从地址池中分配另一个可用公网地址211.134.180.4 ,并在 NAT 表中添加一个相应的表项,记录B的私有地址10.0.0.2 到公网地址 211.134.180.4 的映射关系。

NAT实验

eNSP拓扑框架图
在这里插入图片描述
目的与要求

  • 内网能够成功连接到sever1的网络

配置:

  • ip配置如上如,现在我们需要进行路由及nat配置

路由配置

  1. 在AR1(NAT)路由器上配置默认路由
    ip route-static 0.0.0.0 0 200.1.1.2
  2. 在AR2(ISP)路由器上配置回程路由
    ip route-static 192.168.1.0 24 200.1.1.1
  3. 在AR1(NAT)路由器上配置NAT
    nat static global 200.1.1.100 inside 192.168.1.100
  4. Server1的配置
    在这里插入图片描述
    这样,来回链路就配置完成了

连通性检测

在这里插入图片描述

抓包验证

  1. 内网接口抓包
    在这里插入图片描述
  2. 外网接口抓包
    在这里插入图片描述
    抓包验证成功

在这里插入图片描述

相关文章:

NAT(网络地址转换)逻辑图解+实验详解

原理 NAT(Network Address Translation,网络地址转换) 是一种网络技术,用于在IP数据包通过路由器或防火墙时,修改其源IP地址或目标IP地址,以实现不同网络之间的通信。 基础概念 本来NAT是来解决 IPv4 地…...

深入解析Spring Boot与Kafka集成:构建高性能消息驱动应用

深入解析Spring Boot与Kafka集成:构建高性能消息驱动应用 引言 在现代分布式系统中,消息队列是实现异步通信和解耦的重要组件。Apache Kafka作为一种高性能、分布式的消息系统,被广泛应用于大数据和实时数据处理场景。本文将详细介绍如何在…...

Linux的内存泄漏问题及排查方法

内存泄漏是指在计算机程序中,已不再被使用的内存未被正确释放,导致内存占用随时间累积,进而引发系统内存不足、性能下降甚至崩溃的问题。在Linux系统中,开发者和运维人员可通过以下方法排查和解决内存泄漏问题: 1. 使…...

Java基础知识总结(超详细整理)

一:概述 1.1Java类及类的成员 属性、方法、构造器、代码块、内部类 (1)数组 java虚拟机内存划分 各区域作用 内存解析 基本使用 两个变量指向一个一维数组 没有new就不会在堆里新开辟空间 (2)对象数组 (3&a…...

Qt Widgets模块功能详细说明,基本控件:QPushButton(二)

一、基本控件(Widgets) Qt 提供了丰富的基本控件,如按钮、标签、文本框、复选框、单选按钮、列表框、组合框、菜单、工具栏等。 1、QPushButton 1.1、概述 (用途、继承关系) QPushButton 是 Qt 框架中用于创建按钮的控件,它的主…...

【MySQL成神之路】MySQL常见命令汇总

目录 MySQL常用命令总结 1. 数据库操作 2. 表操作 3. 数据操作(DML) 4. 索引与优化 5. 用户与权限管理 6. 备份与恢复 7. 事务控制 8. 常用函数 9. 系统状态与日志 总结 MySQL常用命令总结 MySQL作为最流行的关系型数据库之一,提供…...

UnLua源码分析(一)初始化流程

UnLua源码分析(一)初始化流程 接入插件启动注册设置默认参数集注册回调SetActivePostLoadMapWithWorldULuaEnvLocator启动Lua虚拟机初始化UE相关的Lua Lib创建与Lua交互的数据结构注册静态导出的类,函数,枚举Lua层初始化 UUnLuaMa…...

非线性1 修改

第一章为读者介绍了非线性动力学与混沌理论的基本概念、发展历史以及应用领域。 1.1 动力学简史: 从牛顿力学开始,介绍动力学作为物理学分支的发展历程。重点介绍了庞加莱对混沌现象的早期探索,以及20世纪60年代洛伦兹方程的发现&#xff0…...

系统性能不达标,如何提升用户体验?

当系统性能不达标时,要想有效提升用户体验,必须从性能优化、前后端协同、用户感知改善、监控预警机制四个关键维度切入。其中,性能优化是最直接有效的策略,它通过代码优化、资源压缩、缓存机制、CDN加速等手段,显著提升…...

【Linux】进程的基本概念

目录 概念描述进程-PCB如何查看进程通过系统目录进行查看通过ps指令进行查看 通过系统调用获取进程的PID和PPID(进程标⽰符)通过系统调用创建子进程通过一段代码来介绍fork为什么要有子进程?fork为什么给子进程返回0,给父进程返回子进程的PIDfork函数到底…...

mongodb管理工具的使用

环境: 远程服务器的操作系统:centOS stream 9; mongoDB version:8.0; 本地电脑 navicat premium 17.2 ; 宝塔上安装了mongoDB 目的:通过本地的navicat链接mongoDB,如何打通链接,分2步: 第一步:宝塔-&…...

面试中的线程题

原文链接:线程题大全 Java 并发库同步辅助类 CountDownLatch 工作机制:初始化一个计数器,此计数器的值表示需要等待的事件数量。 提供了两个主要方法: await():当一个线程调用此方法时,它将阻塞&#…...

计算机系统的层次结构

计算机系统的层次结构 一, 计算机系统的层次结构的定义 计算机的一个赢软件组成的综合体. 因为面对的应用范围越来越广, 所以必须有复杂的系统软件和硬件的支持. 软/硬件的设计者和使用者从不同的角度, 不同的语言来对待同一个计算机系统, 因此他们看到的计算机系统的属性对计…...

[特殊字符] SSL/TLS 中的密钥协商流程笔记

✅ 背景说明: SSL/TLS 为了确保通信保密性,结合使用了: 非对称加密(用于密钥交换) 对称加密(用于数据加密) 🔁 客户端主导密钥协商的完整流程如下: 1️⃣ 客户端发起…...

多模态大语言模型arxiv论文略读(八十一)

What is the Visual Cognition Gap between Humans and Multimodal LLMs? ➡️ 论文标题:What is the Visual Cognition Gap between Humans and Multimodal LLMs? ➡️ 论文作者:Xu Cao, Bolin Lai, Wenqian Ye, Yunsheng Ma, Joerg Heintz, Jintai …...

SpringBoot(一)--- Maven基础

目录 前言 一、初始Maven 1.依赖管理 2.项目构建 3.统一项目结构 二、IDEA集成Maven 1.Maven安装 2.创建Maven项目 2.1全局设置 2.2 创建SpringBoot项目 2.3 常见问题 三、单元测试 1.JUnit入门 2.断言 前言 Maven 是一款用于管理和构建Java项目的工具&#xff…...

如何使用WordPress创建美食博客

不管你是否意识到,食物是我们生活的核心。有些人将其用作燃料,而另一些人则将食谱作为一种艺术形式呈现。如果您属于后者,并且想创建一个美食博客来分享您的热情,那么WordPress是一个顶级平台。 几乎每个话题都有一个博客利基&am…...

SAP集团内部公司间交易自动开票

SAP集团内部公司间交易自动开票(非STO/EDI模式) 集团内部公司间采购与销售业务,在确认相应单据无误后,为减少人工开票业务, 可以用系统标准功能来实现自动开票。 1.采购发票自动开票(ERS) T-CODE:BP,勾选“基于收货的发票校验”、“自动G…...

代码审计-php框架开发,实战tp项目,打击微交易,源码获取,扩大战果

实战,不安全写法引发的注入 这个bc靶场源码没有,看老师演示 打开很明显的tp框架源码 拿到tp框架之后第一步,搜索版本信息5.0.5 两个思路 1.代码的不安全写法 2.版本自身存在的漏洞 全局搜索where看看也没有不安全的 哎?&…...

Atcoder Beginner Contest 406

比赛链接&#xff1a;ABC406 A - Not Acceptable 将小时转换成分钟直接进行判断。 时间复杂度&#xff1a; O ( 1 ) O(1) O(1)。 #include <bits/stdc.h> using namespace std;int main() {ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);int a,…...

02 K8s双主安装

00 前提准备 # 设置好主机名并添加hosts解析主机名IP地址身份master01172.2.25.50主Mastermaster02172.2.25.51备Masternode01172.2.25.52节点1node02172.2.25.53节点2node03172.2.25.54节点3 01 使用脚本安装Docker # Docker脚本文件 https://node-siyuan.oss-cn-beijing.a…...

分别用 语言模型雏形N-Gram 和 文本表示BoW词袋 来实现文本情绪分类

语言模型的雏形 N-Gram 和简单文本表示 Bag-of-Words 语言表示模型简介 (1) Bag-of-Words (BoW) 是什么&#xff1f; *定义&#xff1a;将文本表示为词频向量&#xff0c;忽略词序和语法&#xff0c;仅记录每个词的出现次数。 **示例&#xff1a; 句子1&#xff1a;I love …...

2_Spring【IOC容器中获取组件Bean】

Spring中IOC容器中获取组件Bean 实体类 //接口 public interface TestDemo {public void doSomething(); } // 实现类 public class HappyComponent implements TestDemo {public void doSomething() {System.out.println("HappyComponent is doing something...")…...

一次页面假死分析

现象&#xff1a;系统的几个功能若干次切换&#xff0c;页面假死&#xff0c;无反应 上图&#xff0c;不是每次切换都假死&#xff0c;但非常容易重现&#xff0c;每次页面假死都在getValidatorJSONInfo这个调用后 getValidatorJSONInfo调用已返回&#xff0c;但返回内容页面挂…...

WPS多级标题编号以及样式控制

WPS多级标题编号以及样式控制 上一篇&#xff1a;WPS自动生成图表目录以及样式控制 阅读提示&#xff1a;请先阅读完本篇内容再操作&#xff0c;避免出现其他错误。 初始样式&#xff1a; 1.1 步骤演示 说明&#xff1a;以3级目录为例 标题1样式&#xff1a;黑体&#xff0c;…...

方差是什么?

一、方差是什么? 方差(Variance)是概率论和统计学中衡量数据离散程度(即数据与平均值的偏离程度)的核心指标。 通俗理解:方差越大,数据越“分散”“波动大”;方差越小,数据越“集中”“稳定”。 二、方差的公式(以样本数据为例) 计算步骤: 第一步:求平均值 ( …...

Java核心API实战:从字符串到多线程全解析

Java常用API详解与代码实践 一、字符串处理类 1. String类 // 字符串基础操作 String str "Hello,Java!"; System.out.println(str.substring(7)); // 输出"Java!" System.out.println(str.indexOf("Java")); // 输出7// 正则表达式匹配 Str…...

低代码AI开发新趋势:Dify平台化开发实战

在人工智能快速发展的今天&#xff0c;AI应用的开发方式也在不断演变。从传统的手写代码到如今的低代码甚至零代码开发&#xff0c;技术的进步让更多的非专业开发者也能轻松上手。本文将带你走进Dify平台化开发的世界&#xff0c;探索如何通过这一强大的低代码AI开发平台&#…...

基于First Order Motion与TTS的AI虚拟主播系统全流程实现教程

前言&#xff1a;多模态虚拟主播的技术革命 在AI内容生成领域&#xff0c;虚拟主播技术正经历从2D到3D、从固定模板到个性化定制的跨越式发展。本文将深入解析如何通过Python技术栈构建支持形象定制与声音克隆的AI虚拟主播系统&#xff0c;涵盖从人脸建模到多模态融合的全流程…...

中科院自动化研究所通用空中任务无人机!基于大模型的通用任务执行与自主飞行

作者&#xff1a; Ji Zhao and Xiao Lin 单位&#xff1a;中科院自动化研究所 论文标题&#xff1a;General-Purpose Aerial Intelligent Agents Empowered by Large Language Models 论文链接&#xff1a;https://arxiv.org/pdf/2503.08302 主要贡献 硬件-软件协同设计框…...

DOM知识点

DOM&#xff08;Document Object Model&#xff09;即文档对象模型&#xff0c;是用于表示和操作HTML、XML文档的编程接口。以下是关于DOM的一些知识点总结&#xff1a; 基本概念 • DOM将文档解析为一个由节点&#xff08;Node&#xff09;组成的树形结构&#xff0c;每个节…...

设备预测性维护的停机时间革命:中讯烛龙如何用AI重构工业设备管理范式

在工业4.0的智能化浪潮中&#xff0c;非计划停机每年吞噬企业3%-8%的产值。中讯烛龙预测性维护系统通过多模态感知矩阵分布式智能体的创新架构&#xff0c;实现设备健康管理的范式跃迁&#xff0c;帮助制造企业将停机时间压缩70%以上。本文将深度解析技术实现路径与行业级实践方…...

JMeter 教程:使用 HTTP 请求的参数列表发送 POST 请求(form 表单格式)

目录 ✅ 教程目的 &#x1f6e0;️ 准备工作 &#x1f4c4; 操作步骤 第一步&#xff1a;新建测试计划 第二步&#xff1a;添加 HTTP 请求 第三步&#xff1a;添加参数列表&#xff08;表单参数&#xff09; 第四步&#xff1a;添加结果查看器 第五步&#xff1a;运行测…...

**HTTP/HTTPS基础** - URL结构(协议、域名、端口、路径、参数、锚点) - 请求方法(GET、POST) - 请求头/响应头 - 状态码含义

# HTTP/HTTPS基础知识点详解 ## 1. URL结构 ### 协议部分 - http:// - 超文本传输协议&#xff0c;明文传输 - https:// - 安全的超文本传输协议&#xff0c;使用SSL/TLS加密 - 爬虫注意点&#xff1a;HTTPS网站有TLS指纹(JA3指纹)&#xff0c;可被用于检测爬虫 ### 域名部分…...

2025抓包工具Reqable手机抓包HTTPS亲测简单好用-快速跑通

前言 自安卓7.0高版本系统不在信任用户证书&#xff0c;https抓包方式市面查找方法太过复杂手机要root等&#xff0c;前置条件要求太高太复杂&#xff0c;看的头痛&#xff0c;今天一台电脑按步骤操作完即可抓包https,给大家搞定抓包https问题。支持直接编辑修改请求参…...

大模型在胫骨平台骨折预测及治疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法和创新点 二、大模型预测胫骨平台骨折的原理和方法 2.1 相关大模型介绍 2.2 数据收集与预处理 2.3 模型训练与优化 2.4 模型评估指标 三、术前预测与手术方案制定 3.1 骨折类型和严重程度预测 3.…...

AI图像处理之ComfyUI节点(二)

一、Load Checkpoint节点 功能&#xff1a;用于加载预训练的大模型&#xff0c;如Stable Diffusion等 参数&#xff1a; chechkpoint&#xff1a;选择加载的模型文件&#xff08;.ckpt或.satetensors格式&#xff09; MODEL&#xff1a;输出用于图像扩散预测的UNet模型 CLIP&…...

异常日志规范

目录 一、错误码 二、异常处理 三、日志规约 一、错误码 强制&#xff1a; 1、错误码的制订原则&#xff1a;快速溯源、沟通标准化。 1&#xff09;错误码必须能够快速知晓错误来源&#xff0c;可快速判断是谁的问题。 2&#xff09;错误码必须能够清晰地比对&#xff08;…...

pycharm连接github(详细步骤)

【前提&#xff1a;菜鸟学习的记录过程&#xff0c;如果有不足之处&#xff0c;还请各位大佬大神们指教&#xff08;感谢&#xff09;】 1.先安装git 没有安装git的小伙伴&#xff0c;看上一篇安装git的文章。 安装git&#xff0c;2.49.0版本-CSDN博客 打开cmd&#xff08;…...

UESplineThicken节点

SplineThicken 函数用来使非常薄的多边形在渲染时显示为略厚。对于线缆、头发、草和其他此类对象&#xff0c;这种效果非常理想。 SplineThicken节点 该节点始终朝向摄像机 可以控制模型前后宽度 可以连接到wpo上制作特效效果 参考链接 https://dev.epicgames.com/document…...

【C++】map和set的使用

&#x1f4cc; 个人主页&#xff1a; 孙同学_ &#x1f527; 文章专栏&#xff1a;C &#x1f4a1; 关注我&#xff0c;分享经验&#xff0c;助你少走弯路 文章目录 1. 序列式容器和关联式容器1.1 序列式容器1.2 关联式容器 2. set系列的使用2.1 set和multiset的参考文档2.2 se…...

MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频

扣子最近迎来重要更新&#xff0c;支持将扣子工作流一键发布成MCP&#xff0c;在扣子空间里使用。 这个功能非常有用&#xff0c;因为我有很多业务工作流是在扣子平台上做的&#xff0c;两者打通之后&#xff0c;就可以在扣子空间里直接通过对话方式调用扣子工作流了&#xff0…...

c/c++的opencv直方图初识

C/C OpenCV中的图像直方图&#xff1a;零基础入门指南 &#x1f4ca; 大家好&#xff01;今天我们来聊聊图像处理中一个非常基础且重要的概念——直方图(Histogram)。如果你是OpenCV新手&#xff0c;或者对直方图感觉有点迷糊&#xff0c;别担心&#xff0c;这篇文章会用最简单…...

Spring Boot 与 RabbitMQ 的深度集成实践(一)

引言 ** 在当今的分布式系统架构中&#xff0c;随着业务复杂度的不断提升以及系统规模的持续扩张&#xff0c;如何实现系统组件之间高效、可靠的通信成为了关键问题。消息队列作为一种重要的中间件技术&#xff0c;应运而生并发挥着举足轻重的作用。 消息队列的核心价值在于其…...

Android动态音频柱状图可视化解析:从原理到实现

Android动态音频柱状图可视化解析:从原理到实现 一、整体架构设计二、核心组件设计三、核心代码实现四、交互设计与用户体验五、性能优化与问题解决一、整体架构设计 Android动态音频柱状图可视化解析 在移动应用开发中,音频可视化是增强用户体验的重要手段。无论是音乐播放器…...

vue3大事件项目

这周写完了vue3的大事件项目&#xff0c;从中学到了很多东西&#xff0c;并且解決了一部分bug&#xff0c;現在就和大家分享一下我遇到的问题并且是如何解決的 1. QuillEditor 的 v-model 用法错误 先讲一下quilleditor富文本的基本使用方法&#xff1a; 1.安裝quill依賴&am…...

MapReduce-WordCount实现按照value降序排序、字符小写、识别不同标点

要求&#xff1a; 输入文件的按照空格、逗号、点号、双引号等分词 输入文件的大写字母全部换成小写 文件输出要求按照value值降序排序 Hadoop给的wordcount示例代码以及代码理解 基于map reduce的word count个人理解&#xff1a;输入的文件经过map reduce框架处理后&#…...

c++线段树之单点修改区间最大子段和-----P4513 小白逛公园

题目大意 单点修改查询区间最大字段和 解题思路 如果线段树节点存储的是‘区间最大子段和’&#xff0c;如何合并&#xff1f; 简单的加法或求极值都不行&#xff0c;仔细分析可得&#xff0c;父节点最大字段和可能为&#xff1a; 左子树最大子段和右子树最大子段和左子树最…...

[Java实战]Spring Boot整合Elasticsearch(二十六)

[Java实战]Spring Boot整合Elasticsearch&#xff08;二十六&#xff09; 摘要&#xff1a;本文通过完整的实战演示&#xff0c;详细讲解如何在Spring Boot项目中整合Elasticsearch&#xff0c;实现数据的存储、检索和复杂查询功能。包含版本适配方案、Spring Data Elasticsea…...

【深度学习新浪潮】大模型在哪些垂域已经有比较好的落地?

AI大模型在多个垂直领域已实现显著落地,以下结合可验证案例与行业数据展开说明: 一、医疗健康:精准诊断与个性化治疗 呼吸系统疾病诊断 国家呼吸医学中心研发的LungDiag模型,基于公开临床数据集训练,在预印本研究中对肺炎、肺癌等10种疾病的辅助诊断准确率达92%。医联Med…...