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. 外網接口抓包
    在這里插入圖片描述
    抓包驗證成功

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84032.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84032.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84032.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt+線段拖曳示例代碼

Qt線段拖曳示例代碼&#xff0c;功能見下圖。 代碼如下&#xff1a; canvaswidget.h #ifndef CANVASWIDGET_H #define CANVASWIDGET_H#include <QWidget> #include <QPainter> #include <QMouseEvent> #include <QVector>class CanvasWidget : publi…

高等數學-求導

一、求導數的原函數就是求導數的積分 1&#xff09;設函數f(t)在區間[a,b]上連續&#xff0c;則對任意的x∈[a,b],f(t)在[a,x]上連續&#xff0c;從而在[a,x]上可積。令其積分為Φ(x)∫*a^x f(t)dt, x∈[a,b],則Φ(x)為定義在區間[a,b]上的一個函數&#xff0c;通常稱作積分上…

(第94天)OGG 微服務搭建 Oracle 19C CDB 架構同步

前言 Oracle GoldenGate Microservice Architecture (OGGMA) 是在 OGG 12.3 版本推出的全新架構。相比傳統架構,OGGMA 基于 Rest API,通過 WEB 界面即可完成 OGG 的配置和監控,大大簡化了部署和管理流程。 本文將詳細介紹如何在 Oracle 19C CDB 環境中部署 OGG 19.1.0.4 微…

前端vscode學習

1.安裝python 打開Python官網&#xff1a;Welcome to Python.org 一定要點PATH&#xff0c;要不然要自己設 點擊install now,就自動安裝了 鍵盤winR 輸入cmd 點擊確定 輸入python&#xff0c;回車 顯示這樣就是安裝成功了 2.安裝vscode 2.1下載軟件 2.2安裝中文 2.2.1當安…

uniapp vue 開發微信小程序 分包梳理經驗總結

嗨&#xff0c;我是小路。今天主要和大家分享的主題是“uniapp vue 開發微信小程序 分包梳理經驗總結”。 在使用 UniAppvue框架開發微信小程序時&#xff0c;當項目比較大的時候&#xff0c;經常需要分包加載。它有助于控制主包的大小&#xff0c;從而提升小程序的啟…

git合并多次commit提交

首先查看歷史記錄 git log 查看你想要合并的commit是哪些&#xff08;注意&#xff1a;這里是逆序&#xff0c;最上的是最新提交&#xff09; 找到當前想要合并的最后一個記錄&#xff0c;復制該記錄的下一個記錄的 id&#xff08;黃色部分commit id&#xff09;&#xff0c…

系統架構設計(七):數據流圖

定義 數據流圖&#xff08;Data Flow Diagram, DFD&#xff09;是一種用于表示信息系統數據流轉及處理過程的圖形工具。 它反映系統功能及數據之間的關系&#xff0c;是結構化分析與設計的重要工具。 主要符號 符號說明描述舉例方框外部實體&#xff08;源或終點&#xff09…

MAUI與XAML交互:構建跨平臺應用的關鍵技巧

文章目錄 引言1. 代碼隱藏文件關聯1.1 XAML文件與代碼隱藏文件的關系1.2 部分類機制1.3 InitializeComponent方法1.4 XAML命名空間映射 2. 元素名稱與x:Name屬性2.1 x:Name屬性的作用2.2 命名規則與最佳實踐2.3 x:Name與x:Reference的區別2.4 編譯過程中的名稱處理 3. 在代碼中…

php://filter的trick

php://filter流最常見的用法就是文件包含讀取文件&#xff0c;但是它不止可以用來讀取文件&#xff0c;還可以和RCE&#xff0c;XXE&#xff0c;反序列化等進行組合利用 filter協議介紹 php://filter是php獨有的一種協議&#xff0c;它是一種過濾器&#xff0c;可以作為一個中…

微信小程序開發中,請求數據列表,第一次請求10條,滑動到最低自動再請求10條,后面請求的10條怎么加到第一次請求的10條后面?

在微信小程序中實現分頁加載數據列表&#xff0c;可通過以下步驟將后續請求的10條數據追加到首次加載的數據之后&#xff1a; 實現步驟及代碼示例 定義頁面數據與參數 在頁面的 data 中初始化存儲列表、頁碼、加載狀態及是否有更多數據的標識&#xff1a; Page({data: {list…

如何利用 Java 爬蟲根據 ID 獲取某手商品詳情:實戰指南

在電商領域&#xff0c;獲取商品詳情數據對于市場分析、選品上架、庫存管理和價格策略制定等方面具有重要價值。某手作為國內知名的電商平臺&#xff0c;提供了豐富的商品資源。通過 Java 爬蟲技術&#xff0c;我們可以高效地根據商品 ID 獲取某手商品的詳細信息。本文將詳細介…

電平匹配電路

1、為什么要電平匹配? 現在很多SOC器件為了降低功耗,都把IO口的電平設計成了1.8V,核電壓0.85V,當這種SOC做主平臺時,在做接口設計需要格外關注電平的匹配。單板中經常需要將1.8V的電平轉換成3.3V或者轉成5V。如果沒有注意到輸入和輸出信號之間的電平匹配,系統就無法正常…

【技術揭秘】Profinet轉RS485如何優化沖剪機的實時通信性能???

在現代工業自動化領域&#xff0c;通信協議是連接不同設備和系統的關鍵。RS485和Profinet是兩種廣泛使用的工業通信標準&#xff0c;它們各自擁有獨特的特性和應用場景。本文將探討如何通過一個小疆智控Profinet轉RS485網關來優化沖剪機的應用&#xff0c;提高生產線的效率和可…

面經總目錄——持續更新中

說明 本面經總結了校招時我面試各個公司的面試題目&#xff0c;每場面試后我都及時進行了總結&#xff0c;同時后期補充擴展了同類型的相近面試題&#xff0c;校招時從兩個方向進行投遞&#xff0c;視覺算法工程師和軟件開發工程師&#xff08;C方向&#xff09;&#xff0c;所…

AI前端頁面生成:deepsite、Qwen Web Dev

deepsite網頁生成 https://huggingface.co/spaces/enzostvs/deepsite 落地頁美觀不錯,默認用tailwindcss實現樣式 提示詞: AI 功能是核心,通過后端 server.js 實現。server.js 使用 Express 框架,依賴 @huggingface/inference 庫與 Hugging Face 推理 API 交互,具體使用…

華為云鯤鵬型kC2云服務器——鯤鵬920芯片性能測評

華為云鯤鵬型kC2云服務器性能怎么樣&#xff1f;性能很不錯&#xff0c;鯤鵬通用計算增強型kC2實例是ARM架構的云服務器&#xff0c;CPU采用Huawei Kunpeng 920 2.9GHz主頻&#xff0c;每個vCPU對應一個底層物理內核。華為云服務器網hwyfwq.com整理鯤鵬型kC2云服務器性能測評及…

Java 安全SPEL 表達式SSTI 模版注入XXEJDBCMyBatis 注入

https://github.com/bewhale/JavaSec https://github.com/j3ers3/Hello-Java-Sec https://mp.weixin.qq.com/s/ZO4tpz9ys6kCIryNhA5nYw #Java 安全 -SQL 注入 -JDBC&MyBatis -JDBC 1 、采用 Statement 方法拼接 SQL 語句 2 、 PrepareStatement 會對 SQL 語…

【VxWorks 實時操作系統(RTOS)】常用函數匯總

VxWorks 實時操作系統&#xff08;RTOS&#xff09;中的核心函數 1. taskSpawn 函數 功能&#xff1a;用于動態創建并激活一個新任務&#xff08;線程&#xff09;。參數解析&#xff08;以 VxWorks 為例&#xff09;&#xff1a;int taskSpawn(char *name, // 任務名…

【MySQL】數據庫約束

MySQL(三)數據庫約束 數據庫約束 一、not null 二、default 三、unique 四、primary key 1.自增主鍵機制 1.1單服務器下 1.2分布式下 1.2.1時間戳 1.2.2主機編號 1.2.3隨機因子 五、foreign key 1.∈關系維護 1.1父約子&#xff1a; 1.2子約父&#xff1a; 1.3…

VRRP 協議

一、前言 最近被問到一個VRRP的網絡協議&#xff0c;一開始我是蒙蔽的狀態&#xff0c;至于什么是VRRP&#xff0c;我后面查了一下&#xff0c;因為對于網絡這方面我也不是很精通&#xff0c;見諒&#xff01; VRRP&#xff0c;全稱叫虛擬路由冗余協議&#xff0c;是我孤陋寡聞…