NAT與智能選路

1、NAT 基礎概念

  • 核心作用:私網地址無法在 Internet 上直接使用和分配,NAT 通過將私有地址與公有地址及端口進行轉換,實現私網與公網的通信。
  • 轉換示例
    • 內網用戶(10.1.1.1)訪問外網 FTP Server(123.3.2.3)時,源 IP 會被替換為公有地址(123.3.2.1)。
    • 外網 FTP Server(123.3.2.3)回應內網用戶時,目的 IP 會從公有地址(123.3.2.1)替換為私網地址(10.1.1.1)。
  • 分類
    • 源 NAT:使內部用戶能夠訪問外部網絡,包括地址池方式、出接口地址方式(Easy IP)等。
    • 服務器映射:讓外部用戶可以訪問私網服務器,如靜態映射。
    • 地址池特性:當地址池中存在多個公網 IP 地址時,進行 NAT 轉換時使用的公網地址是隨機的。

2、源 NAT 詳細解析

NAT策略

NAT策略是由 條件+動作組成。

源NAT轉換 --- 必須引用NAT地址池

不進行NAT轉換

源 NAT 類型及特性

源 NAT 類型私網 IP 和公網 IP 的數量對應關系是否轉換端口適用場景配置要點
NAT No-PAT一對一需要固定公網 IP 的場景,如特定服務器對外提供服務創建地址池時指定模式為 no-pat,配置 NAT 策略引用該地址池
NAPT多對一、多對多大量私網用戶共享少量公網 IP 訪問外部網絡地址池模式選擇為 pat,其余配置與 no-pat 類似
出接口地址方式(easy-ip)多對一公網接口 IP 地址動態獲取的情況在 NAT 策略的動作中指定為 source-nat easy-ip
Smart NAT(僅 USG9000 系列支持)一對一(預留 IP 做多對一轉換)否(預留 IP 做端口轉換)防止用戶數量激增導致地址不足創建地址池并設定保留地址,需通過命令行配置 smart-nopat
三元組 NAT(僅 USG9000 系列支持)多對一、多對多適用于 P2P 應用地址池模式設為 full-cone global,支持端口一致性和外網主動訪問

配置示例及說明

NAT No-PAT 配置:該方式代表不進行端口轉換,只進行IP地址轉換

需求:FW上源NAT,模式為no-pat

將公網IP202.10.1.10--->加入地址池1

將公網IP202.10.2.10--->加入地址池2

創建 NAT 地址池:

[FW]nat address-group nat_address_1
[FW-address-group-nat_address_1]mode no-pat global
[FW-address-group-nat_address_1]section 202.10.1.10

創建 NAT 策略:

[FW]nat-policy
[FW-policy-nat]rule name policy-1
[FW-policy-nat-rule-policy-1]description to_server
[FW-policy-nat-rule-policy-1]source-zone trust
[FW-policy-nat-rule-policy-1]destination-zone Untrust_1
[FW-policy-nat-rule-policy-1]source-address 192.168.1.0 24
[FW-policy-nat-rule-policy-1]destination-address 202.10.1.1 32
[FW-policy-nat-rule-policy-1]action source-nat address-group nat_address_1

防火墻檢測流量是否符合安全策略的操作,是發生在檢測源NAT策略之前,所以,如果要針對源IP 設置NAT策略,那么應該做源NAT轉換前的IP地址 --- 先進行安全策略檢測,在進行源NAT轉換。

特性:會產生正反兩條 server-map 表項,在表項未老化前,外部設備在安全策略放行的情況下可訪問內部設備,且命中 server-map 表后仍需安全策略允許。

NAPT 配置:與 no-pat 配置類似,僅在地址池模式選擇時為 pat,且不會產生 server-map 表項。

easy-ip 配置

[FW]nat-policy
rule name policy_1
source-zone trust
destination-zone Untrust_1
source-address 192.168.1.0 mask 255.255.255.0
destination-address 202.10.1.1 mask 255.255.255.255
action source-nat easy-ip

?特殊現象及解決

  • 現象:短時間內訪問多個不同目標時,使用相同的 NAT 地址。
  • 原因:NAT No-PAT 會產生正反兩條 server-map 表項,導致該現象。
  • 示例
  • [EW]display firewall server-map
    2025-08-0207:03:28.160 Current Total Server-map:2
    Type:No-Pat Reverse,ANY->202.10.1.10[192.168.1.1],Zone:---
    Protocol:ANY,TTL:---,Left-Time:---,Pool:0,Section:0
    Vpn:public
    Type:No-Pat,192.168.1.1[202.10.1.10]->ANY,Zone:--- Protocol:ANY,TTL:360,Left-Time:358,Pool:0,Section:0
    Vpn: public
    

    Smart NAT

    聰明的NAT 邏輯:假設該方式下,NAT地址池存在N個IP地址,其中1個會被指定為預留地址,另外N-1個地址 構成地址族1,進行NO-PAT轉換,而預留的1個進行NAPT轉換,優先使用no-pat轉換方式,只有該地 址被使用完,才會進行NAPT轉換,一般被用于防止用戶數量激增的情況。

      [FW]nat address-group 1
      [FW-address-group-1]mode no-pat global 
      [FW-address-group-1]section 202.10.1.10 202.10.1.10
      [FW-address-group-1]smart-nopat 202.10.1.20  ---設定保留地址,該命令只能通過命令行配置,
      無法通過web界面配置
      [FW-address-group-1]route enable
      rule name policysource-zone trustdestination-zone Untrust_1source-address 192.168.1.0 mask 255.255.255.0destination-address 202.10.1.1 mask 255.255.255.255action source-nat address-group 1

      三元組NAT

      設備在進行NAT轉換時,需要關注的是源IP、目的IP、源端口、目的端口以及協議五個參數。 三元組NAT僅關注源IP、源端口和協議。 三元組NAT是針對于P2P應用。(peer to peer)

      P2P客戶端首先會在P2P服務端進行交互,留存自己的信息,IP+端口。當某個客戶端想要找另一個 客戶進行文件下載時,服務器會將對端客戶的信息下放給該客戶端,兩個客戶端直接進行通訊。

      存在防火墻時,對P2P業務的影響: 1、PC1沒有主動訪問PC2,不存在會話表和server-map表項,則PC2正常情況下無法主動訪問到PC1 2、因為P2P業務需要周期性去向服務器注冊信息,而經過防火墻NAT后,信息刷新,會影響P2P業務正常運行

      三元組NAT解決上述問題:

      對外呈現端口一致性:

      PC1一旦訪問了P2P服務器,則在一段時間內,PC1再次訪問P2P服務器或其他業務時,防火墻 會將端口轉換為與第一次相同的端口。

      支持外網主動訪問:

      無論PC1是否主動訪問過PC2,只要PC2獲取了PC1經過NAT轉換后的地址和端口,都可以主動 訪問。

      且防火墻上即使沒有安全策略,也允許此類報文的通過。

      邏輯:通過利用類似no-pat機制和server-map表項來實現。并非是真正的no-pat機制。

      [FW]nat address-group aa
      [FW-address-group-aa]mode full-cone global  --- 三元組NAT方式
      [FW-address-group-aa]section 202.10.1.10 
      [FW-address-group-aa]route enable
      

      三元組NAT分為兩種:

      1、本地三元組:server-map表項中包含zone,只有該區域中的主機可以訪問內部主機

      2、全局三元組:server-map表項中不包含zone,任何區域中的主機可以訪問內部主機

      默認需要受到安全策略控制,但是該功能可調整。

      [FW]firewall endpoint-independent filter enable ? --- 開啟端點無關過濾功能 --- 開啟后,此時的server-map表項不再受到安全策略控制

      多出口場景下的源NAT技術

      為什么出口要分部在不同的安全區域?

      將防火墻上連接不同ISP的出接口加入到不同的安全區域,然后基于不同的安全區域關系來配置不同 的源NAT策略。

      3、目的 NAT(NAT Server)

      概念及特點

      • 是一種特殊的目的 NAT,用于實現外部用戶對私網服務器的訪問,需要公網 IP 地址。
      • 建議:不要將防火墻的公網接口 IP 地址配置為 NAT Server 的公網 IP 地址,若必須使用,需指定協議和端口避免沖突。

      配置示例

      [FW]nat server global 1.1.1.1 inside 10.1.1.1
      nat server 0 protocol tcp global 1.1.1.1 9980 inside 10.1.1.1 www
      
      • 配置后會生成靜態的 server-map 表項,正向用于公網訪問私網轉換,反向用于內部服務器主動訪問公網轉換。

      NAT Server配置完成后,會生成server-map表項。不過與源NAT不同,NAT Server產生的server map表項是靜態的。即該表項一致會存在。

      正向 --- 任何公網PC訪問,都會進行轉換

      反向 --- 當內部服務器主動訪問公網時,進行轉換,不需要單獨為該服務器配置源NAT策略

      配置目的NAT的安全策略時,策略的目的地址應配置為服務器的私網地址(即轉換后的地址),端口也 相同邏輯 --- 原因是因為FW處理過程中,目的NAT處于安全策略匹配之前匹配。

      當外部PC發送的流量成功經過FW,并產生會話表信息后,服務器的影響報文會直接匹配會話表進行 轉發,不會去查找server-map表項。

      nat server 0 protocol tcp global 1.1.1.10 9980 inside 10.1.1.1 www unr-route---unr-route參數代表UNR路由,即配置黑洞路由信息

      允許服務器使用公網地址上網 選項,出于安全考慮,如果服務器無主動訪問外網需求,則不建議開啟。

      nat server 0 protocol tcp global 1.1.1.10 9980 inside 10.1.1.1 www no-reverse 
      unr-routeno-reverse  --- 代表不允許服務器使用公網地址上網
      

      安全策略配置

      • 策略的目的地址應配置為服務器的私網地址(轉換后的地址),因為 FW 處理過程中,目的 NAT 處于安全策略匹配之前。
      • 示例:
        名稱 0
        描述 服務器映射(0)引入
        源安全區域 any
        目的安全區域 trust
        目的地址地區 10.1.1.1
        服務 TCP:src-port0-65535,dst-port80
        動作 允許
        

      多出口場景下的 NAT Server

      在防火墻作為出口網關,雙出口,雙ISP接入公網時,NAT Server需要一分為二。讓一個私網服務器 向兩個ISP發布兩個不同的公網地址。

      • 方法一:將不同 ISP 的公網接口劃分到不同安全區域,配置 NAT Server 時攜帶 zone 參數。
        [FW]nat server zone Untrust_1 protocol tcp global 11.0.0.10 9980 inside 192.168.1.1 80
        [FW]nat server zone Untrust_2 protocol tcp global 12.0.0.10 9980 inside 192.168.1.1 80
        
      • 方法二:將不同 ISP 的公網接口劃分到相同安全區域,配置時關閉內部服務器使用公網地址上網功能。
        [FW]nat server protocol tcp global 12.0.0.10 9980 inside 192.168.1.1 80 no-reverse
        [FW]nat server protocol tcp global 11.0.0.10 9980 inside 192.168.1.1 80 no-reverse
        

      一定一定注意,報文是否會出現來回路徑不一致問題 --- 該問題是所有的多出口場景都需要考慮的問題。

      為了確保流量走向來回路徑一致,故防火墻增加了源進源回功能。即請求報文從某條鏈路進入,響 應報文依然沿著某條路徑返回,而不再需要查找路由表來確定出接口

      • 路徑一致性:開啟源進源回功能,確保請求和響應報文路徑一致。
        [FW-GigabitEthernet1/0/1]redirect-reverse next-hop 11.0.0.2
        [FW-GigabitEthernet1/0/1]gateway 11.0.0.2
        [FW-GigabitEthernet1/0/2]redirect-reverse next-hop 12.0.0.2
        [FW-GigabitEthernet1/0/2]gateway 12.0.0.2
        

      4、靜態目的 NAT

      模式及配置

      靜態 1 對 1(地址到地址模式)

      創建目的 NAT 地址池:

      [FW]destination-nat address-group nat01
      [FW-dnat-address-group-nat01]section 192.168.1.2 192.168.1.3
      

      創建 NAT 策略:

        1. [FW]nat-policy
          [FW-policy-nat]rule name policy_nat01
          [FW-policy-nat-rule-policy_nat01]source-zone untrust
          [FW-policy-nat-rule-policy_nat01]destination-address range 12.0.0.10 12.0.0.11
          [FW-policy-nat-rule-policy_nat01]action destination-nat static address-to-address address-group nat01
          
        2. 公網地址和私網地址的綁定關系是按照順序執行的
        3. 其他模式
          • 靜態 1 對 1(端口到端口模式):將公網端口與私網端口一對一映射。
          • 靜態 1 對多(端口到地址模式):通過公網地址的不同端口映射不同私網地址的同一端口。
          • 靜態多對 1(地址到端口模式):通過不同公網地址的相同端口映射內網相同地址的不同端口。

        特點

        • 不會產生 server-map 表項,公網與私網地址的綁定關系按順序執行。

        5、雙向 NAT

        概念

        • 同時改變報文的源 IP 和目的 IP,由源 NAT+NAT Server 共同實現,針對同一條數據流。

        分類及配置

        • 域間 NAT
          • NAT Inbound(外網訪問內網):源 NAT 與 NAT Server 配合。
          • NAT Outbound(內網訪問外網):直接使用 NAT Outbound。
        • 域內 NAT:源地址和目的地址屬于相同安全區域,需域內 NAT 和 NAT Server 配合。

        示例(NAT Inbound + NAT Server)

        安全策略?

        security-policy rule name untrust_to_trust
        source-zone untrust
        destination-zone trust
        destination-address 192.168.1.1 mask 255.255.255.255
        service http
        service https
        action permit
        

        ?NAT Server:

          [FW]nat server protocol tcp global 202.1.1.10 9980 inside 192.168.1.1 80
          

          ?源 NAT:創建地址池 nat01(IP 為 192.168.1.10),并配置 NAT 策略引用該地址池。

          處理機制

          • 防火墻先進行目的 NAT,然后進行安全策略判斷,最后進行源 NAT 處理。

          該場景中,明明目的NAT已經可以完成任務,為何還需要使用雙向NAT機制。

          秘密在于私網服務器對回應報文的處理方式上。

          如果是雙向NAT,則服務器會直接發送ARP報文來查詢目的地,完成轉發,此時防火墻代替回復ARP報文,將連接私網服務器的接口的MAC地址發送給服務器。

          而這樣的好處就是服務器不再需要網關。 --- >前提:私網服務器必須與防火墻處于相同網段。

          6、域內 NAT + NAT Server

          適用場景

          • 服務器和訪問終端處于防火墻相同接口下,內網用戶通過公網域名訪問內部服務器。

          問題及解決

          • 問題:來回路徑不一致,去時經過 NAT 轉換,回程未經過,導致報文被丟棄。
          • 解決思路:將源 IP 地址替換為公網 IP 地址,使服務器將報文發送給 FW,再由 FW 恢復目的 IP 后轉發給 Client。

          7、NAT 相關重要機制

          • 安全策略與 NAT 策略順序:防火墻先檢測安全策略,再進行源 NAT 轉換;目的 NAT 在安全策略匹配之前進行。
          • 黑洞路由:部分 NAT 類型(如 No-PAT、Smart NAT)建議開啟,防止路由環路,通過route enable命令配置。
          • server-map 表項:不同 NAT 類型產生的 server-map 表項特性不同,如 NAT No-PAT 產生的表項略過 NAT 策略匹配,ASPF 產生的表項略過安全策略檢測。

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

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

          相關文章

          【05】VisionMaster入門到精通——圓查找

          文章目錄1 運行參數先檢測出多個邊緣點然后擬合成圓形,可用于圓的定位與測量 1 運行參數 先檢測出多個邊緣點然后擬合成圓形,可用于圓的定位與測量——運行參數 扇環半徑——圓環ROI的內外圓半經; 邊綠類型 最強——只檢測掃描范圍內梯度最…

          p5.js 用 beginGeometry () 和 endGeometry () 打造自定義 3D 模型

          點贊 關注 收藏 學會了 在 p5.js 的 3D 繪圖中,這兩個函數是一對 “黃金搭檔”: beginGeometry():像一個 “3D 模型的開關”,調用它之后,你畫的所有簡單 3D 形狀(比如球體、圓錐)都會被 “…

          (9)NMPC非線性模型預測控制及機械臂ROS控制器實現

          前言 本篇介紹Nonlinear Model Predictive Control,非線性模型預測控制,MPC是一種現代先進的控制方法,而NMPC特指對非線性模型的控制,其核心思想是在每個控制周期內利用系統的非線性模型及損失函數,預測未來一段時間內…

          達夢數據庫備份與還原終極指南:從基礎到增量策略實戰

          第一部分:備份與還原核心原理 一、備份還原本質解析數據存儲機制 數據存儲在物理文件頁中(最小單位4K-32K)有效數據頁 文件描述頁 已分配使用頁日志優先原則:操作先寫REDO日志再更新數據文件三大核心操作操作作用關鍵特性備份復…

          設計模式篇:在前端,我們如何“重構”觀察者、策略和裝飾器模式

          設計模式篇:在前端,我們如何“重構”觀察者、策略和裝飾器模式 引子:代碼里“似曾相識”的場景 作為開發者,我們總會遇到一些“似曾相識”的場景: “當這個數據變化時,我需要通知其他好幾個地方都更新一…

          Node.js 服務可以實現哪些功能

          以下是 Node.js 服務可以實現的 100 個功能,涵蓋 Web 開發、工具鏈、系統集成、自動化等方向,按類別分類整理:一、Web 開發相關 RESTful API 服務GraphQL 服務實時聊天應用(WebSocket/Socket.IO)博客/CMS 系統電子商務…

          如何安裝和使用 Cursor AI 編輯器

          在軟件開發領域,幾乎每天都有新工具涌現,找到最適合您工作流程的工具可能會改變游戲規則。Cursor 是一款 AI 驅動的代碼編輯器,其革命性的 API 管理插件 EchoAPI 就是其中的代表。它們強強聯手,承諾在一個強大的平臺內簡化您的編碼…

          LangChain框架概念及簡單的使用案例

          一、LangChain介紹LangChain是一個強大的用于開發大模型應用程序的框架,為開發提供豐富的工具和組件,使得構造復雜的自然語言處理變得更加高效和便捷。它允許開發者將大語言模型與其他數據源工具集成,從而創建出能處理各種任務的智能體應用&a…

          安卓audio 架構解析

          audio_port_handle_t ? 定義:audio_port_handle_t標識音頻設備(如揚聲器、耳機)或虛擬端口(如遠程 submix)。它在設備連接或策略路由時由AudioPolicyManager分配,例如通過setDeviceConnectionState()動態注…

          GitHub 上 Star 數量前 8 的開源 MCP 項目

          原文鏈接:https://www.nocobase.com/cn/blog/github-open-source-mcp-projects。 MCP 這個詞真正被廣泛提起,是在 2025 年年初,尤其是在 AI 工具開發圈。3 月,一場圍繞 “MCP 是否能成為未來標準協議” 的爭論徹底點燃了討論熱度…

          【數據結構與算法】數據結構初階:排序內容加餐(二)——文件歸并排序思路詳解(附代碼實現)

          🔥個人主頁:艾莉絲努力練劍 ?專欄傳送門:《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題 🍉學習方向:C/C方向 ??人生格言:為天地立心,為生民立命,為…

          Jetson Orin NX/NANO+ubuntu22.04+humble+MAVROS2安裝教程

          MAVROS2目前不是官方提供的標準,主要區別還是通信機制的不同,以及API接口的區別,在使用的過程中,根據對應的版本安裝即可,此處進提供簡易的二進制安裝方法,源碼安裝暫不提供,前去使用mavros即可…

          Ubuntu 安裝 ns-3 教程

          Ubuntu 安裝 ns-3最全 教程 1. 環境更新 sudo apt update sudo apt install git2. Ns3 最低依賴要求 2.1 安裝依賴 安裝依賴網址:根據自己安裝的版本安裝對應依賴。 https://www.nsnam.org/wiki/Installation Ubuntu/Debian/Mint 以下軟件包列表在 Ubuntu 22.…

          《林景媚與命運解放者》

          《林景媚與命運解放者》——當數據庫成為命運的主宰,誰將成為人類自由意志的解放者?《林景媚數據庫宇宙》系列第十二部第一章:解放者的召喚公元 2098 年,隨著“命運終結者”的威脅被解除,PostgreSQL Quantum Engine&am…

          linux編譯基礎知識-頭文件標準路徑

          &#x1f4c2; ??1. 系統路徑結構差異?? 要查看 GCC 的默認頭文件搜索路徑&#xff0c;可通過以下方法操作&#xff08;以 Linux 環境為例&#xff09;&#xff1a; ??1. 查看 C 語言頭文件路徑?? gcc -v -E -xc - < /dev/null 2>&1 | grep -A 100 "#in…

          離線語音芯片有哪些品牌和型號?

          離線語音芯片的品牌有很多&#xff0c;型號也有很多&#xff0c;因為離線語音芯片的市場很大&#xff0c;幾乎所有的想要語音控制的產品都可以通過增加一顆離線語音芯片來實現語音控制的能力&#xff0c;今天主要提到的就是離線語音芯片品牌廠家之一的唯創知音。唯創知音發展歷…

          Linux 軟件包管理

          Linux 軟件包管理 分析 RPM 包 Linux 發行版本以 RHEL 為代表的發行版本&#xff0c;使用rpm包管理系統&#xff1a; RHEL (Red Hat Enterprise Linux&#xff09;Fedora&#xff08;由原來的RedHat桌面版本發展而來&#xff0c;免費版本&#xff09;CentOS&#xff08;RHEL的…

          使用 Vue 3.0 Composition API 優化流程設計器界面

          &#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

          2025Nacos安裝Mac版本 少走彎路版本

          https://github.com/alibaba/nacos 一開始看網上文章&#xff0c;隨便下了一個最新的3.0.2&#xff0c;然后出現很多錯誤 密鑰等等問題&#xff0c;最后啟動了&#xff0c;但是打不開鏈接&#xff1a;http://localhost:8848/nacos 然后開始找問題日志&#xff0c;/.nofollow/…

          sifu mod制作 相關經驗

          sifu mod制作一遍流程數據傳遞后拆開是ok的&#xff0c;沒必要合并 斷片不能使用原材質不然導入ue里沒法片段選擇 效果拔群 帶自動權重就會有跟隨骨骼的效果&#xff0c;空頂點組會跟隨父級的原點 這個選負的會抵消膠囊的碰撞效果 應用并刷新布料模擬&#xff08;相當于工程圖的…