IPSec NAT-T技術


NAT技術和IPsec技術的應用都非常廣泛。但從本質上來說,兩者是存在着矛盾的。

1.
IPsec的角度上說,IPsec要保證數據的安全,因此它會加密和校驗數據。
2.
NAT的觀點來看,爲了完成地址轉換,勢必會修改IP地址。

         IPSec提供了端到端的IP通信的安全性,但在NAT環境下對IPSec的支持有限,AH協議是肯定不能進行NAT的了,這和AH設計的理念是相違背的;ESP協議在NAT環境下最多只能有一個***主機能建立***通道,無法實現多臺機器同時在NAT環境下進行ESP通信。關於IPSecNAT環境下的需求問題在RFC3715中進行了描述。
       NAT
穿越(NAT TraversalNAT-T)就是爲解決這個問題而提出的,RFC39473948中定義,在RFC4306中也加入了NAT-T的說明,但並沒廢除RFC39473948,只是不區分階段1和階段2該方法將ESP協議包封裝到UDP包中(在原ESP協議的IP包頭外添加新的IP頭和UDP頭),使之可以在NAT環境下使用的一種方法,這樣在NAT的內部網中可以有多個IPSec主機建立***通道進行通信。
   AH
封裝:AH封裝的校驗從IP頭開始,如果NATIP的頭部改動,AH的校驗就會失敗,因此我們得出結論,AH是無法與NAT共存的。ESP封裝的傳輸模式:對於NAT來說,ESP封裝比AH的優勢在於,無論是加密還是完整性的校驗,IP頭部都沒有被包括進去。但是還是有新的問題,對於ESP的傳輸模式,NAT 無法更新上層校驗和。TCP  UDP 報頭包含一個校驗和,它整合了源和目標 IP 地址和端口號的值。

    當 NAT 改變了某個包的 IP 地址和(或)端口號時,它通常要更新 TCP  UDP 校驗和。 TCP  UDP 校驗和使用了 ESP 來加密時,它就無法更新這個校驗和。由於地址或端口已經被 NAT 更改,目的地的校驗和檢驗就會失敗。雖然 UDP 校驗和是可選的,但是 TCP 校驗和卻是必需的。
       ESP
封裝的隧道模式:從ESP隧道模式的封裝中,我們可以發現,ESP隧道模式將整個原始的IP包整個進行了加密,且在ESP的頭部外面新加了一層IP頭部,所以NAT如果只改變最前面的IP地址對後面受到保護的部分是不會有影響的。因此,IPsec只有採用ESP的隧道模式來封裝數據時才能與NAT共存。

由於完整性校驗牽涉到IP頭部,所以NAT無法對其修改,不兼容。
ESP
的傳輸模式,因爲TCP部分被加密,NAT無法對TCP校驗和進行修改,不兼容。
ESP
的隧道模式,由於NAT改動外部的IP而不能改動被加密的原始IP,使得只有這種情況下才能與NAT共存。


NAT穿越(NAT TraversalNAT-T)
       Cisco IOS
的版本在12.2(13)T以後,可以支持NAT-T技術。以前NATIPsec只能以11的形式共存,NAT-T打破了這種形式。而且NAT-T支持ESP的傳輸模式NAT-T的基本思想:
    將ESP協議包封裝到UDP包中(在原ESP協議的IP包頭外添加新的IP頭和UDP頭)。使得NAT對待它就像對待一個普通的UDP包一樣。而且支持ESP的傳輸模式。NAT-T的基本原理和執行步驟
1. 檢測通信中是否存在NAT設備和對方是否支持NAT-TNC
2.檢測對方是否支持NAT-T是通過交換vendor ID載荷來實現的,如果自身支持NAT-T,在IKE開始交互就要發送這種載荷,載荷內容是“RFC 3947”的MD5值,也就是十六進制的“4a131c81070358455c5728f20e95452f


配置方法
1.ipsec over tcp
該方法導致雙方使用TCP端口通信,缺省端口是10000只支持client方式。缺省被禁用,打開方法:
crypto isakmp ipsec-over-tcp
當實際環境中不常規***通信或NAT-T,IPSEC OVER UDP的時候使用。
2.NAT-T
該方法導致雙方最終使用udp 4500端口通信,支持client,L2L 兩種方式。缺省是被禁用的。打開方法:
crypto isakmp nat-traversal 20 ,缺省keepalives時間20
3.ipsec over udp
導致雙方使用UDP通信,缺省端口10000只支持client方式。缺省被禁用。打開方法
在組策略中配置
hostname(config-group-policy)# ipsec-udp {enable | disable}
hostname(config-group-policy)#ipsec-udp-port 10000
上述三種方法都啓用時候的優先級別: over tcp >NAT-T>over udp

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