精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文帶你徹底了解NAT技術

Linux愛好者 ? 來源:網絡技術平臺 ? 作者:Fox ? 2021-05-10 17:39 ? 次閱讀

初識 NATIP 地址分為公網地址和私有地址。公網地址有 IANA 統一分配,用于連接互聯網;私有地址可以自由分配,用于私有網絡內部通信

bace560e-b0bf-11eb-bf61-12bb97331649.png

私網和公網

隨著互聯網用戶的快速增長,2019 年 11 月 25 日全球的公網 IPv4 地址已耗盡。在 IPv4 地址耗盡前,使用 NAT( Network Address Translation )技術解決 IPv4 地址不夠用的問題,并持續至今。

NAT 技術的是將私有地址轉換成公網地址,使私有網絡中的主機可以通過少量公網地址訪問互聯網。

但 NAT只是一種過渡技術,從根本上解決問題,是采用支持更大地址空間的下一代 IP 技術,即 IPv6 協議,它提供了幾乎用不完的地址空間。

bb076c5a-b0bf-11eb-bf61-12bb97331649.png

NAT技術

NAT 技術IP 地址中預留了 3 個私有地址網段,在私有網絡內,可以任意使用。

bb3c98da-b0bf-11eb-bf61-12bb97331649.png

私有地址范圍

其余的 IP 地址可以在互聯網上使用,由 IANA 統一管理,稱為公網地址。

bb47e7d0-b0bf-11eb-bf61-12bb97331649.png

公網地址范圍

NAT 解決了 IPv4 地址不夠用的問題,另外 NAT 屏蔽了私網用戶真實地址,提高了私網用戶的安全性。

典型的 NAT 組網模型,網絡通常是被劃分為私網和公網兩部分,各自使用獨立的地址空間。私網使用私有地址 10.0.0.0/24 ,而公網使用公網地址。為了讓主機 A 和 B 訪問互聯網上的服務器 Server ,需要在網絡邊界部署一臺 NAT 設備用于執行地址轉換。NAT 設備通常是路由器或防火墻。

bb5460be-b0bf-11eb-bf61-12bb97331649.png

典型NAT組網

基本 NAT

基本 NAT 是最簡單的一種地址轉換方式,它只對數據包的 IP 層參數進行轉換,它可分為靜態 NAT 和動態 NAT 。

靜態 NAT 是公網 IP 地址和私有 IP 地址有一對一的關系,一個公網 IP 地址對應一個私有 IP 地址,建立和維護一張靜態地址映射表。

動態 NAT 是公網 IP 地址和私有 IP 地址有一對多的關系,同一個公網 IP 地址分配給不同的私網用戶使用,使用時間必須錯開。它包含一個公有 IP 地址池和一張動態地址映射表。

舉個動態 NAT 栗子

私網主機 A( 10.0.0.1 )需要訪問公網的服務器 Server( 61.144.249.229 ),在路由器 RT 上配置 NAT ,地址池為 219.134.180.11 ~ 219.134.180.20 ,地址轉換過程如下:

bb9e327a-b0bf-11eb-bf61-12bb97331649.png

基本NAT

A 向 Server 發送報文,網關是 10.0.0.254 ,源地址是 10.0.0.1 ,目的地址是 61.144.249.229 。

bbcb115a-b0bf-11eb-bf61-12bb97331649.png

A發包

RT 收到 IP 報文后,查找路由表,將 IP 報文轉發至出接口,由于出接口上配置了 NAT ,因此 RT 需要將源地址 10.0.0.1 轉換為公網地址。

bbd6858a-b0bf-11eb-bf61-12bb97331649.png

RT收包

RT 從地址池中查找第一個可用的公網地址 219.134.180.11 ,用這個地址替換數據包的源地址,轉換后的數據包源地址為 219.134.180.11 ,目的地址不變。同時 RT 在自己的 NAT 表中添加一個表項,記錄私有地址 10.0.0.1 到 公網地址 219.134.180.11 的映射。RT 再將報文轉發給目的地址 61.144.249.229 。

bc251fc4-b0bf-11eb-bf61-12bb97331649.png

NAT轉換

Server 收到報文后做相應處理。

Server 發送回應報文,報文的源地址是 61.144.249.229 ,目的地址是 219.134.180.11 。

bc3179e0-b0bf-11eb-bf61-12bb97331649.png

Server發回應包

RT 收到報文,發現報文的目的地址 219.134.180.11 在 NAT 地址池內,于是檢查 NAT 表,找到對應表項后,使用私有地址 10.0.0.1 替換公網地址 219.134.180.11,轉換后的報文源地址不變,目的地址為 10.0.0.1 。RT 在將報文轉發給 A 。

bc3eb9f2-b0bf-11eb-bf61-12bb97331649.png

NAT轉換

A 收到報文,地址轉換過程結束。

bc714b88-b0bf-11eb-bf61-12bb97331649.png

A收包

如果 B 也要訪問 Server ,則 RT 會從地址池中分配另一個可用公網地址 219.134.180.12 ,并在 NAT 表中添加一個相應的表項,記錄 B 的私有地址 10.0.0.2 到公網地址 219.134.180.12 的映射關系。

bc8d16d8-b0bf-11eb-bf61-12bb97331649.png

B的NAT轉換

NAPT

在基礎 NAT 中,私有地址和公網地址存在一對一地址轉換的對應關系,即一個公網地址同時只能分配給一個私有地址。它只解決了公網和私網的通信問題,并沒有解決公網地址不足的問題。

bcbefc8e-b0bf-11eb-bf61-12bb97331649.png

NAT表

NAPT( Network Address Port Translation )對數據包的 IP 地址、協議類型、傳輸層端口號同時進行轉換,可以明顯提高公網 IP 地址的利用率。

bcc7b1b2-b0bf-11eb-bf61-12bb97331649.png

NAPT的NAT表

舉個栗子

私網主機 A( 10.0.0.1 )需要訪問公網的服務器 Server 的 WWW 服務( 61.144.249.229 ),在路由器 RT 上配置 NAPT ,地址池為 219.134.180.11 ~ 219.134.180.20 ,地址轉換過程如下:

A 向 Server 發送報文,網關是 RT( 10.0.0.254 ),源地址和端口是 10.0.0.1:1024 ,目的地址和端口是 61.144.249.229:80 。

bcd2dfb0-b0bf-11eb-bf61-12bb97331649.png

A發包

RT 收到 IP 報文后,查找路由表,將 IP 報文轉發至出接口,由于出接口上配置了 NAPT ,因此 RT 需要將源地址 10.0.0.1:1024 轉換為公網地址和端口。

RT 從地址池中查找第一個可用的公網地址 219.134.180.11 ,用這個地址替換數據包的源地址,并查找這個公網地址的一個可用端口,例如 2001 ,用這個端口替換源端口。轉換后的數據包源地址為 219.134.180.11:2001 ,目的地址和端口不變。同時 RT 在自己的 NAT 表中添加一個表項,記錄私有地址 10.0.0.1:1024 到 公網地址 219.134.180.11:2001 的映射。RT 再將報文轉發給目的地址 61.144.249.229 。

bce6bf4e-b0bf-11eb-bf61-12bb97331649.png

NAPT轉換

Server 收到報文后做相應處理。

Server 發送回應報文,報文的源地址是 61.144.249.229:80 ,目的地址是 219.134.180.11:2001 。

bcfd78a6-b0bf-11eb-bf61-12bb97331649.png

Server發回應包

RT 收到報文,發現報文的目的地址在 NAT 地址池內,于是檢查 NAT 表,找到對應表項后,使用私有地址和端口 10.0.0.1:1024 替換公網地址 219.134.180.11:2001,轉換后的報文源地址和端口不變,目的地址和端口為 10.0.0.1:1024 。RT 再將報文轉發給 A 。

bd168166-b0bf-11eb-bf61-12bb97331649.png

NAPT轉換

A 收到報文,地址轉換過程結束。

如果 B 也要訪問 Server ,則 RT 會從地址池中分配同一個公網地址 219.134.180.11 ,但分配另一個端口 3001 ,并在 NAT 表中添加一個相應的表項,記錄 B 的私有地址 10.0.0.2:1024 到公網地址 219.134.180.12:3001 的映射關系。

bd23c8d0-b0bf-11eb-bf61-12bb97331649.png

B的NAPT轉換

Easy IP

在標準的 NAPT 配置中需要創建公網地址池,也就是必須先知道公網 IP 地址的范圍。而在撥號接入的上網方式中,公網 IP 地址是有運營商動態分配的,無法事先確定,標準的 NAPT 無法做地址轉換。要解決這個問題,就要使用 Easy IP 。

Easy IP 又稱為基于接口的地址轉換。在地址轉換時,Easy IP 的工作原理與 NAPT 相同,對數據包的 IP 地址、協議類型、傳輸層端口號同時進行轉換。但 Easy IP 直接使用公網接口的 IP 地址作為轉換后的源地址。Easy IP 適用于撥號接入互聯網,動態獲取公網 IP 地址的場合。

bd304b00-b0bf-11eb-bf61-12bb97331649.png

Easy IP

Easy IP 無需配置地址池,只需要配置一個 ACL(訪問控制列表),用來指定需要進行 NAT 轉換的私有 IP 地址范圍。

NAT Server

從基本 NAT 和 NAPT 的工作原理可知,NAT 表項由私網主機主動向公網主機發起訪問而生成,公網主機無法主動向私網主機發起連接。因此 NAT 隱藏了內部網絡結構,具有屏蔽主機的作用。但是在實際應用中,內網網絡可能需要對外提供服務,例如 Web 服務,常規的 NAT 就無法滿足需求了。

為了滿足公網用戶訪問私網內部服務器的需求,需要使用 NAT Server 功能,將私網地址和端口靜態映射成公網地址和端口,供公網用戶訪問。

bd3aec04-b0bf-11eb-bf61-12bb97331649.png

NAT Server

舉個栗子

A 的私網地址為 10.0.0.1 ,端口 8080 提供 Web 服務,在對公網提供 Web 服務時,要求端口號為 80 。在 NAT 設備上啟動 NAT Server 功能,將私網 IP 地址和端口 10.0.0.1:8080 映射成公網 IP 地址和端口 219.134.180.11:80 ,這樣公網主機 C 就可以通過 219.134.180.11:80 訪問 A 的 Web 服務。

NAT ALG

基本 NAT 和 NAPT 只能識別并修改 IP 報文中的 IP 地址和端口號信息,無法修改報文內攜帶的信息,因此對于一些 IP 報文內攜帶網絡信息的協議,例如 FTP 、DNS 、SIP 、H.323 等,是無法正確轉換的。

ALG 能夠識別應用層協議內的網絡信息,在轉換 IP 地址和端口號時,也會對應用層數據中的網絡信息進行正確的轉換。

舉個栗子:ALG 處理 FTP 的 Active 模式

FTP 是一種基于 TCP 的協議,用于在客戶端和服務器間傳輸文件。FTP 協議工作時建立 2 個通道:Control 通道和 Data 通道。Control 用于傳輸 FTP 控制信息,Data 通道用于傳輸文件數據。

私網 A( 10.0.0.1 )訪問公網 Server( 61.144.249.229 )的 FTP 服務,在 RT 上配置 NAPT,地址池為 219.134.180.11 ~ 219.134.180.20 ,地址轉換過程如下:

bd46f4ea-b0bf-11eb-bf61-12bb97331649.png

NAT ALG

A 發送到 Server 的 FTP Control 通道建立請求,報文源地址和端口為 10.0.0.1:1024 ,目的地址和端口為 61.144.249.229:21 ,攜帶數據是 “ IP = 10.0.0.1 port=5001 ”,即告訴 Server 自己使用 TCP 端口 5001 傳輸 Data。

bd522748-b0bf-11eb-bf61-12bb97331649.png

A發包

RT 收到報文,建立 10.0.0.1:1024 到 219.134.180.11:2001 的映射關系,轉換源 IP 地址和 TCP 端口。根據目的端口 21 ,RT 識別出這是一個 FTP 報文,因此還要檢查應用層數據,發現原始數據為 “ IP = 10.0.0.1 port=5001 ”,于是為 Data 通道 10.0.0.1:5001 建立第二個映射關系:10.0.0.1:5001 到 219.134.180.11:2002 ,轉換后的報文源地址和端口為 219.134.180.11:2001 ,目的地址和端口不變,攜帶數據為 “ IP = 219.134.180.11 port=2002 ”。

bd93d0ee-b0bf-11eb-bf61-12bb97331649.png

NAT ALG轉換

Server 收到報文,向 A 回應 command okay 報文,FTP Control 通道建立成功。同時 Server 根據應用層數據確定 A 的 Data 通道網絡參數為 219.134.180.11:2002 。

A 需要從 FTP 服務器下載文件,于是發起文件請求報文。Server 收到請求后,發起 Data 通道建立請求,IP 報文的源地址和端口為 61.144.249.229:20 ,目的地址和端口為 219.134.180.11:2002,并攜帶 FTP 數據。

bda33cb4-b0bf-11eb-bf61-12bb97331649.png

Data通道

NAT 實戰基本 NAT 實驗

實驗拓撲圖

bdebcc22-b0bf-11eb-bf61-12bb97331649.png

拓撲圖

實驗要求

ENSP 模擬

PC 通過公網地址訪問互聯網

實驗步驟

根據接口 IP 地址表,配置各個設備的接口地址。

bdf74908-b0bf-11eb-bf61-12bb97331649.png

IP地址表

be02343a-b0bf-11eb-bf61-12bb97331649.png

PC配置

be0d3eb6-b0bf-11eb-bf61-12bb97331649.png

RT配置

bf57e50a-b0bf-11eb-bf61-12bb97331649.png

ISP配置

在 RT 上配置 NAT 配置。

bfb49d18-b0bf-11eb-bf61-12bb97331649.png

NAT配置

配置基本 NAT 只需要一條命令:把私有 IP 地址轉換成公網 IP 地址,在接口視圖下配置 nat static global global-address inside host-address 命令。默認路由是網關路由器上的常見配置。使用 display nat static 命令查看 RT 上的靜態 NAT 配置。

在 PC 上驗證聯網功能。

c011387a-b0bf-11eb-bf61-12bb97331649.png

PC驗證結果

抓包查看 NAT 轉換效果。分別抓包 RT 的內網口 G0/0/0 和外網口 G0/0/1 的報文,看出發送的 Echo Request 報文和接收的 Echo Reply 報文都有進行 NAT 轉換。

c31b4b6e-b0bf-11eb-bf61-12bb97331649.png

RT內網口抓包

c34e2fd4-b0bf-11eb-bf61-12bb97331649.png

RT外網口抓包

NAPT 實驗

實驗拓撲圖

c35b04fc-b0bf-11eb-bf61-12bb97331649.png

拓撲圖

實驗要求

RT 使用 NAPT 功能

ISP 分配 4 個可用的公網地址:202.0.0.3 ~ 202.0.0.6

VLAN 10 的用戶使用兩個公網地址

VLAN 20 的用戶使用另外兩個公網地址

實驗步驟

根據接口 IP 地址表,配置各個設備的接口地址。配置命令可參考上一個實驗步驟 1 。

c363ee96-b0bf-11eb-bf61-12bb97331649.png

IP地址表

在 RT 上配置 NAPT 配置。

c36f818e-b0bf-11eb-bf61-12bb97331649.png

NAPT配置

在 NAPT 的配置中,使用基本 ACL 來指定私有 IP 地址范圍。ACL 2010 指定 VLAN 10 的 IP 地址空間,ACL 2020 指定 VLAN 20 的 IP 地址空間。使用 nat address-group group-index start-address end-address 命令指定公網 IP 地址范圍,分別指定了兩個 NAT 地址組,編號分別選擇了 1 和 2 。在外網接口上,使用 nat outbound acl-number address-group group-index ,綁定 NAT 轉換關系。

使用 display nat address-group 命令查看 RT 上的 NAT 地址組配置。命令 display nat outbound 查看出方向 NAT 的轉換關系。

分別在 PC10 和 PC 20 上驗證上網功能。

c3a47894-b0bf-11eb-bf61-12bb97331649.png

PC10驗證結果

c3b9fe4e-b0bf-11eb-bf61-12bb97331649.png

PC20驗證結果

抓包查看 NAT 轉換效果。分別抓包 RT 的內網口 G0/0/1 和外網口 G0/0/0 的報文,查看 VLAN 10 的用戶出發送的 Echo Request 報文和接收的 Echo Reply 報文都有進行 NAT 轉換。

c3c933be-b0bf-11eb-bf61-12bb97331649.png

RT內網口VLAN10抓包

c3fc708a-b0bf-11eb-bf61-12bb97331649.png

RT外網口抓包

其它常用 NAT 命令

NAT Server 是在接口視圖下配置,命令格式為:nat server protocol { tcp | udp } global global-address global-port inside host-address host-port 。

檢查 NAT Server 配置信息命令:display nat server 。

檢查 NAT 會話命令:display nat session all 。

啟動 NAT ALG 功能命令:nat alg all enable 。

查看 NAT ALG 功能命令:display nat alg 。

原文標題:42張圖詳解 NAT : 換個馬甲就能上網

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網絡
    +關注

    關注

    14

    文章

    7517

    瀏覽量

    88628
  • NAT
    NAT
    +關注

    關注

    0

    文章

    141

    瀏覽量

    16221

原文標題:42張圖詳解 NAT : 換個馬甲就能上網

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    智慧公交是什么?帶你詳解智慧公交的解決方案!

    智慧公交是什么?帶你詳解智慧公交的解決方案!
    的頭像 發表于 11-05 12:26 ?181次閱讀
    智慧公交是什么?<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b>詳解智慧公交的解決方案!

    Nat server技術原理和配置過程

    Nat server:指定公有地址:端口和私有地址:端口形成一對一映射關系——映射表。這也是Nat server與其他nat的區別之
    的頭像 發表于 10-10 14:38 ?603次閱讀
    <b class='flag-5'>Nat</b> server<b class='flag-5'>技術</b>原理和配置過程

    IP地址與NAT技術的結合與應用

    ,并通過NAT設備將私有IP地址轉換為公網IP地址,從而實現內部網絡與外部網絡的通信。 在了解NAT技術之前,我們先對IP地址有個大概的
    的頭像 發表于 08-28 17:30 ?317次閱讀

    帶你了解半導體公司的各個崗位

    銷售工程師(SalesEngineer)芯片公司的銷售工程師與傳統的銷售人員不同,需要具備以下職業素養:1.技術背景,雖然銷售崗位通常不要求具備技術背景,但芯片公司的銷售崗位需要對芯片技術
    的頭像 發表于 08-08 16:28 ?2978次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>半導體公司的各個崗位

    NAT技術及其應用

    網絡地址轉換(NAT,Network Address Translation)是種廣泛應用于現代網絡中的技術,旨在解決IP地址短缺問題,同時增強網絡的安全性和靈活性。本文將詳細解釋NAT
    的頭像 發表于 07-09 16:43 ?519次閱讀
    <b class='flag-5'>NAT</b><b class='flag-5'>技術</b>及其應用

    5.8G WiFi和2.4G WiFi如何選擇?帶你深度了解

    在無線網絡的世界中,5.8GWiFi和2.4GWiFi作為兩種常見的無線通信技術,各自具有獨特的特點和優勢。本文將帶你深入了解這兩種技術的區別、優勢以及適用場景,幫助你更好地選擇適合自
    的頭像 發表于 04-18 09:49 ?3026次閱讀
    5.8G WiFi和2.4G WiFi如何選擇?<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b>深度<b class='flag-5'>了解</b>

    帶你了解NVIDIA Jetson

    計算機發展成為今天的機器有著悠久的歷史,今天看到的許多計算機都遵循類似的設計結構,至少包含CPU、GPU、內存和存儲。迄今為止,我們對計算機設計的了解大部分都是基于這些使計算機正常運行的關鍵組件
    的頭像 發表于 04-09 11:49 ?594次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>NVIDIA Jetson

    帶你了解PWM原理、頻率與占空比

    什么是PWM脈沖寬度調制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調制,是利用微處理器的數字輸出來對模擬電路進行控制的種非常有效的技術,廣泛應用在從測量
    發表于 03-27 14:12

    pcb應變測試有多重要?了解

    pcb應變測試有多重要?了解
    的頭像 發表于 02-24 16:26 ?1037次閱讀

    什么是NATNAT類型有哪些?NAT是如何工作的?NAT解決了什么問題?

    什么是NATNAT類型有哪些?NAT是如何工作的?NAT解決了什么問題?如何使用NATNAT
    的頭像 發表于 02-04 11:03 ?4345次閱讀

    NAT網關是什么?NAT網關的作用

    NAT網關(Network Address Translation Gateway)是種網絡設備,它能夠將內部網絡的私有IP地址轉換為合法的公網IP地址,使得內部網絡的主機可以通過NAT網關訪問外部網絡。
    的頭像 發表于 12-25 16:00 ?1181次閱讀

    帶你了解 DAC

    了解 DAC
    的頭像 發表于 12-07 15:10 ?8615次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b> DAC

    了解相控陣天線中的真時延

    了解相控陣天線中的真時延
    的頭像 發表于 12-06 18:09 ?1901次閱讀

    了解單向晶閘管的結構及導電特性

    了解單向晶閘管的結構及導電特性
    的頭像 發表于 12-05 15:52 ?1193次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>單向晶閘管的結構及導電特性

    了解剛柔結合制造過程

    了解剛柔結合制造過程
    的頭像 發表于 12-04 16:22 ?726次閱讀