NAT 實驗:多私網環境下 NAPT、Easy IP 配置及 FTP 服務公網映射

NAT基本概念
  • 定義:網絡地址轉換(Network Address Translation,NAT)是一種將私有(保留)地址轉化為合法公網 IP 地址的轉換技術,它被廣泛應用于各種類型 Internet 接入方式和各種類型的網絡中。
  • 作用
    解決 IP 地址短缺問題 :由于 IPv4 地址資源有限,使用私有 IP 地址的內部網絡通過 NAT 可以共享少量的公網 IP 地址訪問互聯網。
    增強網絡安全性:NAT 隱藏了內部網絡的真實 IP 地址,外部網絡無法直接訪問內部網絡的主機,從而在一定程度上保護了內部網絡的安全。
NAT 工作原理
  • 地址轉換過程:
    – 當內部網絡的主機向外部網絡發送數據包時,NAT 設備會將數據包的源 IP 地址從私有 IP 地址轉換為公有 IP 地址,并記錄這個轉換關系(通常記錄在 NAT 轉換表中)。
    – 當外部網絡的主機響應數據包返回時,NAT 設備根據轉換表將目的 IP 地址從公有 IP 地址轉換回私有 IP 地址,然后將數據包轉發給內部網絡的主機。
  • NAT 轉換表
    NAT 轉換表是 NAT 設備維護的一個記錄,用于存儲內部私有 IP 地址與外部公有 IP 地址之間的映射關系。它包含了源 IP 地址、目的 IP 地址、源端口號、目的端口號以及轉換后的地址和端口信息。
NAT 類型
  • 靜態 NAT(Static NAT)
    原理:將一個私有 IP 地址固定地映射到一個公有 IP 地址。這種映射是一對一的,并且是永久的。
    應用場景:常用于需要向外部網絡提供服務的內部服務器,如 Web 服務器、郵件服務器等,使得外部網絡可以通過固定的公網 IP 地址訪問內部服務器。
  • 動態 NAT(Dynamic NAT)
    原理:將多個私有 IP 地址映射到一組公有 IP 地址池中的一個可用地址。當內部主機需要訪問外部網絡時,NAT 設備從地址池中動態分配一個可用的公網 IP 地址進行轉換。
    應用場景:適用于內部網絡主機數量較多,但同時訪問外部網絡的主機數量相對較少的情況,可以有效利用公網 IP 地址資源。
  • 網絡地址端口轉換(NAPT,Network Address Port Translation)
    原理:也稱為端口多路復用,它將多個私有 IP 地址映射到一個公有 IP 地址,通過不同的端口號來區分不同的內部主機。這樣多個內部主機可以同時使用同一個公網 IP 地址訪問外部網絡。
    應用場景:是最常用的 NAT 類型,廣泛應用于家庭和企業網絡中,通過一個公網 IP 地址滿足大量內部主機訪問互聯網的需求。
  • Easy IP
    原理:是一種特殊的 NAPT 方式,它直接使用接口的公網 IP 地址進行地址轉換,無需配置專門的地址池。當接口的 IP 地址發生變化時,NAT 轉換會自動使用新的 IP 地址。
    應用場景:適用于使用動態獲取公網 IP 地址的場景,如 ADSL 撥號上網。
NAT 服務器(NAT Server)

原理:將內部服務器的特定服務端口映射到公網 IP 地址的相應端口,使得外部網絡可以通過公網 IP 地址訪問內部服務器的特定服務。
應用場景:常用于將內部的 FTP 服務器、Web 服務器等服務發布到公網,讓外部用戶可以訪問這些服務。

NAT 的優缺點
  • 優點
    節省 IP 地址資源:通過 NAT 可以使用私有 IP 地址構建內部網絡,大大節省了公網 IP 地址的使用。
    增強網絡安全性:隱藏內部網絡的真實 IP 地址,減少了外部網絡對內部網絡的直接攻擊。
  • 缺點
    增加網絡延遲:NAT 設備需要對數據包進行地址轉換,這會增加一定的處理時間,導致網絡延遲。
    影響某些應用程序的正常運行:一些基于 IP 地址進行通信的應用程序,如 IPsec VPN、某些 P2P 應用等,可能會受到 NAT 的影響而無法正常工作。
NAT 配置注意事項
  • ACL 的使用:在配置 NAT 時,通常需要使用訪問控制列表(ACL)來指定哪些內部 IP 地址可以進行地址轉換。ACL 的配置要準確,否則可能會導致部分內部主機無法訪問外部網絡。
  • 端口映射的正確性:在配置 NAT Server 時,要確保端口映射的正確性,包括協議類型(TCP 或 UDP)、公網端口和內部端口的對應關系等。
  • 地址池的管理:對于動態 NAT 和 NAPT,要合理管理地址池,確保地址池中有足夠的可用地址,避免出現地址耗盡的情況。
實驗拓撲

在這里插入圖片描述

實驗需求
  1. 按照圖示配置 IP 地址
  2. 私網 A 通過 R1 接入到互聯網,私網 B 通過 R3 接入到互聯網
  3. 私網 A 內部存在 Vlan10 和 Vlan20,通過 R1 上單臂路由訪問外部網絡
  4. 私網 A 通過 NAPT 使 Vlan10 和 Vlan20 都能夠使用 R1 的公網地址訪問互聯網
  5. 私網 B 通過在 R3 上配置 EASY IP 訪問互聯網
  6. 私網 A 配置 NAT SERVER 把 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問
實驗步驟
  1. 設備命名和 IP 地址配置部分省略

  2. R1 和 R3 上配置默認路由指向公網,配置步驟略

  3. 私網 A 內部單臂路由配置部分略

  4. 私網 A 通過 NAPT 使 Vlan10 和 Vlan20 都能夠使用 R1 的公網地址訪問互聯網

    分析:根據需求得知,ACL 需要配置允許 192.168.1.0/24 和 192.168.2.0/24 網段;私網 A 只有 1 個公網地址可用,意味著創建的 NAT 地址池起始和結束地址就都是 100.1.1.1

    步驟 1:R1 上創建基本 ACL,允許 192.168.1.0/24 和 192.168.2.0/24 網段

    [R1]acl b
    [R1]acl basic 2000
    [R1-acl-ipv4-basic-2000]ru
    [R1-acl-ipv4-basic-2000]rule pe
    [R1-acl-ipv4-basic-2000]rule permit so
    [R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
    [R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
    

    步驟 2:R1 上創建 NAT 地址池,設置公網地址

    [R1]interface g0/1
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]nat
    [R1-GigabitEthernet0/1]nat ou
    [R1-GigabitEthernet0/1]nat outbound 2000 g
    [R1-GigabitEthernet0/1]nat outbound 2000 add
    [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
    

    步驟 3:在 R1 的公網接口上配置 NAPT

    [R1]interface g0/1
    [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1 
    

    步驟 4:在 PCA 上 Ping R3 的公網地址,測試是否可以訪問互聯網
    在這里插入圖片描述

  5. 私網 B 通過在 R3 上配置 EASY IP 訪問互聯網

    分析:根據需求得知,ACL 需要配置允許 192.168.1.0/24 網段;使用 EASY IP,就無需配置 NAT 地址池,直接在公網接口上配置即可,EASY IP 會自動識別公網接口的 IP 地址

    步驟 1:R3 上創建基本 ACL,允許 192.168.1.0/24 網段

    [R3]acl basic 2000
    [R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
    

    步驟 2:在 R3 的公網接口上配置 EASY IP

    [R3]interface g0/0
    [R3-GigabitEthernet0/0]nat outbound 2000
    

    步驟 4:在 PCB 上 Ping R1 的公網地址,測試是否可以訪問互聯網
    在這里插入圖片描述

  6. 私網 A 配置 NAT SERVER 把 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問

    分析:根據需求得知,需要發布 FTPA 的 FTP 服務,也就是把 R1 的公網地址的 20 和 21 端口映射到 FTPA 的私網地址  配置 FTP 服務步驟略
      
    步驟 1:在 R1 的公網接口上配置 NAT SERVER,映射端口 20 和 21

    [R1-GigabitEthernet0/1]nat server protocol tcp global current-interface 20 21 inside 192.168.1.10 20 21
    

    步驟 2:在 PCB 上測試是否能夠通過 R1 的公網地址訪問 FTPA 的 FTP 服務
    在這里插入圖片描述

總結:

本次實驗展示了不同類型的NAT的配置和應用

  • NAPT(網絡地址端口轉換): 私網 A 中有 Vlan10(192.168.1.0/24)和 Vlan20(192.168.2.0/24)兩個網段,只有一個公網地址 100.1.1.1 可用。通過配置 NAPT,R1 上創建基本 ACL 允許這兩個網段的流量,然后創建 NAT 地址池(起始和結束地址都是 100.1.1.1),并在公網接口上配置 NAPT,使得 Vlan10 和 Vlan20 的主機可以使用 R1 的公網地址訪問互聯網。NAPT 利用端口號來區分不同的內部主機,多個內部主機可以同時使用同一個公網 IP 地址進行通信。
  • Easy IP: 私網 B 通過 R3 接入互聯網,使用 Easy IP 技術。首先在 R3 上創建基本 ACL 允許 192.168.1.0/24 網段的流量,然后在公網接口上配置 Easy IP。Easy IP 是一種特殊的 NAPT 方式,它直接使用接口的公網 IP 地址進行地址轉換,無需配置專門的地址池。
  • NAT Server: 私網 A 要將 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問。在 R1 的公網接口上配置 NAT Server,將公網地址的 20 和 21 端口映射到 FTPA 的私網地址(192.168.1.10)的 20 和 21 端口。這樣,外部網絡的主機就可以通過 R1 的公網地址訪問 FTPA 的 FTP 服務。

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

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

相關文章

C語言-橋接模式詳解與實踐

文章目錄 C語言橋接模式詳解與實踐1. 什么是橋接模式?2. 為什么需要橋接模式?3. 實際應用場景4. 代碼實現4.1 UML 關系圖4.2 頭文件 (display_bridge.h)4.3 實現文件 (display_bridge.c)4.4 使用示例 (main.c) 5. 代碼分析5.1 關鍵設計點5.2 實現特點 6.…

el-table 合并單元格

vue2使用el-table合并單元格&#xff0c;包括合并行、合并列 <el-table:header-cell-style"handerMethod":span-method"arraySpanMethod"cell-click"handleCellClick":data"tableData"style"width: 100%"><el-tabl…

網絡安全之vlan實驗

在對vlan進行一定的學習之后我們來練習一個小實驗來加深理解記憶 首先是對實驗進行一個搭建 第一部分&#xff1a;給交換機配置vlan 首先是sw1 [Huawei]vlan batch 2 to 5 [Huawei]int g0/0/1 [Huawei-GigabitEthernet0/0/1]port hybrid tagged vlan 2 [Huawei-GigabitEthe…

STM32 - 在機器人、自動化領域,LL庫相比HAL優勢明顯

在機器人控制器、電機控制器等領域的開發&#xff0c;需要高實時性、精細化控制或者對代碼執行效率、占用空間有較高要求。所以&#xff0c;大家常用的HAL庫明顯不符合要求。再加上&#xff0c;我們學習一門技術&#xff0c;一定要學會掌握底層的原理。MCU開發的底層就是寄存器…

mysql中show命令的使用

在 MySQL 中&#xff0c;SHOW 命令是一個非常實用的工具&#xff0c;用于查詢數據庫元數據&#xff08;如數據庫、表、列、索引等信息&#xff09;。以下是常見的 SHOW 命令及其用法&#xff1a; 1. 顯示所有數據庫 SHOW DATABASES;列出服務器上的所有數據庫。 2. 顯示當前數據…

RAG優化:python從零實現query轉換增強技術

本篇仍然是不依賴于LangChain等專用庫,利用python基本庫實現了三種查詢轉換技術 查詢重寫:使查詢更加具體和詳細,以提高搜索精度。回退提示:生成更廣泛的查詢以檢索有用的上下文信息。子查詢分解:將復雜查詢分解為更簡單的組件,以實現全面檢索。圖 1:RAG 中的查詢重寫(…

登錄驗證碼的接口實習,uuid,code.

UID是唯一標識的字符串,下面是百度百科關于UUID的定義&#xff1a; UUID是由一組32位數的16進制數字所構成&#xff0c;是故UUID理論上的總數為16322128&#xff0c;約等于3.4 x 10^38。也就是說若每納秒產生1兆個UUID&#xff0c;要花100億年才會將所有UUID用完。 UUID的標準…

HTML5 初探:新特性與本地存儲的魔法

HTML5 初探&#xff1a;新特性與本地存儲的魔法 作為一名前端新手&#xff0c;你可能聽說過 HTML5 這個名詞。它是 HTML 的第五代版本&#xff0c;不僅讓網頁變得更強大&#xff0c;還帶來了許多新功能和工具。今天&#xff0c;我們就來聊聊 HTML5 的新特性&#xff0c;以及它…

雙指針---《移動零》

目錄 文章前言 題目描述 算法原理講解 忽略限制條件的解法 原理講解 思路總結 代碼展示 雙指針解法 原理講解 思路總結 代碼展示 大總結 &#x1f4ab;只有認知的突破&#x1f4ab;才來帶來真正的成長&#x1f4ab;編程技術的學習&#x1f4ab;沒有捷徑&#x1f4ab;…

jangow-01-1.0.1靶機攻略

1.進行配置&#xff0c;按住shift&#xff0c;在圖一界面按e進去得到圖二 .ro 替換為 rw signie init/bin/bash ctrlx&#xff0c;ip a查看網卡信息&#xff0c;修改配置文件網卡信息 修改為如圖所示內容后按shift?然后輸入wq點擊回車退出&#xff0c;然后重啟靶機 2.在kali中…

安全上網沙箱:多方面解決政企私的上網問題

在數字化的浪潮中&#xff0c;網絡已成為我們工作與生活不可或缺的一部分。然而&#xff0c;網絡的便捷也伴隨著諸多安全隱患&#xff0c;尤其是對于企業、個人以及政企機構而言&#xff0c;安全上外網成為了至關重要的課題。 隔離保護&#xff1a;構建安全堡壘 沙箱技術在內網…

C++ string的模擬實現

Hello!!大家早上中午晚上好&#xff0c;昨天復習了string的使用&#xff0c;今天來模擬實現一下string&#xff01;&#xff01;&#xff01; 一、string的框架搭建 1.1首先我們需要一個string的頭文件用來做變量、函數、類等聲明&#xff1b;再需要一個test文件來做測試,還需…

Java 中裝飾者模式與策略模式在埋點系統中的應用

前言 在軟件開發中&#xff0c;裝飾者模式和策略模式是兩種常用的設計模式&#xff0c;它們在特定的業務場景下能夠發揮巨大的作用。本文將通過一個實際的埋點系統案例&#xff0c;探討如何在 Java 中運用裝飾者模式和策略模式&#xff0c;以及如何結合工廠方法模式來優化代碼…

【3-22 list 詳解STL C++ 】

先看代碼&#xff0c;常用的就是代碼中有的那些 #include <bits/stdc.h> using namespace std; int main() {list<int> mylist;for(int i0;i<5;i){mylist.push_back(i);//TODO}for(const auto&i:mylist)cout<<i<<\n;//fanzhuanreverse(mylist.…

田間機器人幼苗視覺檢測與護苗施肥裝置研究(大綱)

田間機器人幼苗視覺檢測與護苗施肥裝置研究 基于多光譜視覺與精準施肥的農業機器人系統設計 第一章 緒論 1.1 研究背景與意義 農業智能化需求&#xff1a; 傳統幼苗檢測依賴人工&#xff0c;效率低且易遺漏弱苗/病苗施肥不精準導致資源浪費和環境污染 技術挑戰&#xff1a;…

如何在Linux CentOS上安裝和配置Redis

如何在Linux CentOS上安裝和配置Redis 大家好&#xff0c;我是曾續緣。歡迎來到本教程&#xff01;今天我將向您介紹在Linux CentOS上安裝和配置Redis的詳細步驟。Redis是一個高性能的鍵值存儲系統&#xff0c;常用于緩存、消息隊列和數據持久化等應用場景。讓我們一起開始吧&…

requests庫post方法怎么傳params類型的參數

在使用 requests 庫的 post 方法時&#xff0c;params 類型的參數通常用于在 URL 中作為查詢字符串傳遞。這與 data 或 json 參數不同&#xff0c;后者是放在請求體中的。下面詳細介紹如何在使用 post 方法時傳遞 params 參數。 使用 params 參數 params 參數接受一個字典或包…

C++常見問題與思考

TLS&#xff08;線程本地存儲&#xff09;原理 線程本地存儲&#xff08;Thread Local Storage&#xff0c;TLS&#xff09;是一種機制&#xff0c;它允許每個線程擁有自己獨立的變量實例&#xff0c;這些變量的生命周期與線程相同。也就是說&#xff0c;不同線程對同一個 TLS…

如何快速下載并安裝 Postman?

從下載、安裝、啟動 Postman 這三個方面為大家詳細講解下載安裝 Postman 每一步操作&#xff0c;幫助初學者快速上手。 Postman 下載及安裝教程(2025最新)

使用Gitee Go流水線部署個人項目到服務器指南

使用Gitee Go流水線部署個人項目到服務器指南 前言&#xff01;&#xff01;&#xff01; 本文解決的問題&#xff1a; 你有一臺ECS服務器&#xff0c;你在上面部署了一個Java服務也就是一個jar&#xff0c;你覺著你每次手動本地打包&#xff0c;上傳&#xff0c;在通過命令去…