IPsec NAT-T說明和環境搭建

1. IPsec與NAT的關係

NAT作爲一個IPV4的地址轉換協議,它最初的目的是用來最解決IPv4地址不足的問題。通過NAT協議,局域網內的多個主機可以共同使用一個公網地址,這在很大程度上減輕了IPV4地址短缺的問題。但是隨着NAT的發展,它也用來實現屏蔽一個公司或者企業的內部網絡,從而可以對外隱藏真實的內部IP地址,從而降低被攻擊的風險,如果從這方面考慮,就算互聯網已經過渡到IPV6時代,NAT可能還是會存在的。廣義的NAT設備根據轉換的對象不同可以分爲兩種:NAT和NAPT。

1.1 狹義NAT:只轉換IP地址

根據轉換的地址的不同又可以分爲:

  • 源NAT::只轉換源IP地址。一般說來源NAT主要用在報文接入互聯網時,將本地私網地址轉換爲公網地址;
  • 目的NAT:只轉換目的IP地址。一般說來目的NAT用在報文從公網進入私網地址時,將目的地址由公網地址轉換爲本地私網地址。
  • 雙向NAT:同時轉換源IP和目的IP地址。

1.2 NAPT:轉換IP地址和端口

NAPT與上述的幾種類型的NAT最主要的區別就是把報文中的端口也做映射(轉換),這種應用也是比較常見的。轉換端口的主要原因,個人認爲爲了通過端口來實現多路分解和複用,後面會對這種情景做一個詳細的描述。

1.3 IPsec與NAT

在RFC3715中,已經比較詳細的說明了IPSec與NAT存在的問題。這裏做一個簡單的描述:
IPsec的封裝協議包括AH(認證頭協議)ESP(封裝安全載荷協議)

  • AH協議由於對整個IP報文進行完整性檢驗,而通過NAT設備時會修改IP地址(可能還有端口),因此修改後的報文在對端解析時會產生錯誤,從而導致協商失敗,這種矛盾是不可調和的;
  • ESP協議製作IP數據部分做加密和完整性檢驗,而不包括IP頭部信息,因此ESP協議可以應用在NAT環境中,但是也存在其他的問題:例如傳輸模式下計算傳輸層校驗和時需要僞頭部,這是需要真實的IP地址等,這些問題可以通過特定的方式來解決和克服,後來就出現了一個解決方案:NAT穿越(簡稱NAT-T)。

2. NAT-T環境搭建

關於NAT-T環境的搭建,下面只做原理性介紹,不做具體的配置操作。
下面的拓撲中,兩臺隧道節點均位於NAT設備之後:FW1作爲發起端
NAT-T拓撲圖
上述拓撲中,防火牆FW1和FW2分別位於兩個不同的網絡中,並且都位於企業的NAT網關之後,用來保護不同的子網,通過IPSec協議創建的隧道用來實現主機10.151.18.14和主機172.17.144.129之間的通信。
通訊點:10.151.18.14 和 172.17.144.129
加密點: FW1和FW2

2.1 FW1配置說明

  • 首先由於通信點和加密點位於不同的設備上,因此我們使用隧道模式進行通信
  • IPsec隧道參數:
    對端IP爲:103.22.254.200
    本段IP爲:172.21.1.1

    說明: 一般情況下通過互聯網建立IPsec隧道,對端的IP地址應該爲對端的公網IP地址,私網地址我們是無法得知的(這邊是NAT用來保護內部網絡地址的情景)。對端的設備可能爲隧道的一個節點,也可能爲一個NAT設備,它在收到報文後通過目的NAT將報文目的地址由公網地址(比如102.22.254.200)轉換爲私網地址(如10.28.1.2),這樣FW2便可以收到並處理響應的IPsec報文。
  • 添加到103.22.254.0/24的靜態路由,下一跳爲172.21.1.2; 否則由於缺少下一跳導致報文無法成功發送

2.2 FW2配置說明

FW2的配置於FW1相類似,只是隧道節點不同:

  • 首先由於通信點和加密點位於不同的設備上,因此我們使用隧道模式進行通信
  • IPsec隧道參數:
    對端IP爲:10.28.1.1
    本段IP爲:103.22.254.1
  • 添加到103.22.254.0/24的靜態路由,下一跳爲10.28.1.1。 否則由於缺少下一跳導致報文無法成功發送

2.3 NAT網關1配置說明

如果只考慮FW1作爲隧道的發起端,那麼只需要配置一個源NAT轉換即可:

操作 源IP 目的IP
轉換前 172.21.1.1 103.22.254.200
轉換後 103.22.254.1 102.22.254.200

2.4 NAT網關2配置說明

如果只考慮FW1作爲隧道的發起端,那麼只需要配置一個目的NAT轉換即可:

操作 源IP 目的IP
轉換前 103.22.254.1 102.22.254.200
轉換後 103.22.254.1 10.28.1.2

3. NAT-T環境小結

上述NAT-T環境中雖然兩臺FW設備IPsec隧道節點信息配置完全不同,但是通過NAT轉換後就會完成FW1與FW2隧道的建立,這便是NAT存在的結果。關於NAT-T的其他知識後續繼續更新,其中包括端口滑動、NAT-T類型、openswan中NAT-T的協商流程等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章