1. 什么是NAT?
- 定義:NAT 是一種網絡技術,用于在私有網絡(如家庭或企業局域網) 與 公共網絡(如互聯網) 之間轉換IP地址。它允許使用私有IP地址的設備通過一個(或多個)公共IP地址訪問互聯網。
- 核心作用:
- 解決IPv4地址短缺問題(多個設備共享1個公網IP)。
- 隱藏內部網絡結構,提升安全性。
- 簡化網絡管理(內網使用靈活私有地址)。
2. NAT的常見分類
根據實現方式和功能,NAT主要分為以下類型:
類型 | 說明 |
---|---|
靜態NAT | 一對一固定映射(1個私有IP ? 1個公網IP),常用于服務器對外提供服務。 |
動態NAT | 多個私有IP動態共享一個公網IP池(無固定綁定)。 |
PAT/NAT重載 | 最常用類型,通過端口號區分連接(多個私有IP ? 1個公網IP + 不同端口)。 |
SNAT | 源地址轉換(內網設備訪問外網時修改源IP)。 |
DNAT | 目的地址轉換(外網訪問內網服務時修改目標IP)。 |
3. DNAT與SNAT的區別
特性 | SNAT(Source NAT) | DNAT(Destination NAT) |
---|---|---|
轉換對象 | 修改數據包的源IP地址 | 修改數據包的目標IP地址 |
數據流向 | 內網設備 → 外網(出站流量) | 外網用戶 → 內網服務器(入站流量) |
典型場景 | 內網PC訪問互聯網 | 互聯網用戶訪問內網服務器(如Web服務器) |
修改位置 | 通常在路由器/防火墻的出口執行 | 通常在路由器/防火墻的入口執行 |
配置關鍵詞 | masquerade (Linux)、source-nat (防火墻) | port-forwarding 、virtual-server |
工作流程對比
-
SNAT示例:
PC(192.168.1.10) → 路由器(SNAT) → 目標網站
網站看到的是路由器的公網IP(如203.0.113.1
)。 -
DNAT示例:
外網用戶 → 路由器(DNAT) → 內網服務器(192.168.1.100:80)
用戶訪問的是路由器的公網IP,但被轉發到內網服務器。
4. 應用實例
SNAT 典型場景
-
家庭網絡上網
- 所有手機/電腦通過路由器的單一公網IP訪問互聯網。
- 路由器自動執行SNAT(端口復用),無需用戶配置。
-
企業內網共享出口
- 成百上千員工PC通過防火墻的SNAT功能共用少量公網IP訪問外網。
DNAT 典型場景
-
遠程訪問內網服務器
- 將公網IP的 TCP 80端口 映射到內網Web服務器(
192.168.1.100:80
)。 - 用戶訪問
http://公網IP
→ 路由器DNAT → 內網服務器。
- 將公網IP的 TCP 80端口 映射到內網Web服務器(
-
游戲主機/NAS端口開放
- 將公網IP的 UDP 3074端口 映射到內網Xbox主機,解決NAT嚴格類型問題。
-
云服務器反向代理
- 公有云負載均衡器將用戶請求(目標IP)轉發到后端私有子網的虛擬機。
5. 總結對比表
場景 | SNAT | DNAT |
---|---|---|
主要目的 | 隱藏內網結構,共享公網IP | 暴露內網服務到公網 |
方向 | 出站(Outbound) | 入站(Inbound) |
配置位置 | 網關的出接口/防火墻策略 | 網關的入接口/端口轉發規則 |
影響的數據包字段 | 源IP + 源端口 | 目標IP + 目標端口 |
💡 關鍵記憶點:
- SNAT:內網設備主動“出去”時改源地址(Source)。
- DNAT:外部流量“進來”時改目標地址(Destination)。
通過NAT技術,有限的IPv4地址得以高效復用,同時平衡了安全性與服務可達性。實際應用中常結合SNAT和DNAT(如企業防火墻同時配置上網共享和服務器發布)。