IPSec的兩種模式
傳輸模式:傳輸模式只保護源IP頭部后的資料,在原始 IP 頭和 payload 間插入 IPSec 頭部(ESP 或 AH)適用于加密點與傳輸點在同一網路中,用于主機與主機之間

隧道模式:隧道模式在IPSec頭部前封裝一個新的IP頭部,來保護所有資料,可用于加密點與傳輸點不在同一網路中

由于隧道模式封裝了新的IP頭部,資料由esp或者ah進行保護,這時就像加密點與加密點間發送普通資料 這樣并且可以隱藏主機和拓撲,傳輸模式的源和目的 IP 地址以及所有的 IP 包頭都是不加密發送的
當傳輸點在加密點后面時(傳輸點為內網pc)當經過加密點(出口設備)源IP會被nat掉,這時使用傳輸模式會出現認證不成功因為傳輸模式是只識別原 IP 的,這樣就會被直接丟棄掉
AH:不加密,不支持nat-t 很少使用,因為ah的認證范圍為整個資料包,當我VPN設備經過nat設備時我的IP頭部就會被nat掉,就會導致認證不成功,

ESP:除了IP頭部驗證所有
NAT-T
當我們的VPN設備經過nat設備時會出現源地址被nat,導致認證不成功,
當我們使用ah時,因為認證范圍包括了IP頭部,就會出現認證不成功
使用esp時,僅轉換了源地址未轉換埠的話認證還是可以成功的,但僅限于源地址轉換,當使用pat時,由于我們esp的埠號是加密的,所以不能進行轉換
這時出現了nat-t技術
開啟nat-t功能后在ike-sa階段會協商是否需要啟用nat-t,就會在IP頭部與esp頭部中插入一個udp的4500埠
IPSEC網關如何知道自己是否支持NAT-T
決定雙方是否支持NAT-T和判斷peers之間是否有NAT存在的任務在IKEv1的第一階段完成,NAT-T能力探測使用IKEv1第一階段1-2個包交換來實作,雙方互相交換NAT-T的Vendor ID來表示本段是否支持NAT-T,
IPSEC網關如何判定經過NAT的設備
為了決定Peers之間是否有NAT存在,Peer會發送一個hash負載(源目IP和埠計算),如果雙方計算的hash和接受的hash值匹配,那么Peers之間就沒有NAT存在(就采用ESP封裝),如果hash值不同,那么Peers就需要使用NAT-T技術封裝穿越NAT,
hash負載也叫作NAT-D負載,在主模式中的3-4個包發送,在野蠻模式的2-3個包中發送,
IKEV1通過3-4個包的NAT-D引數來判定
通過源IP源埠, 目的IP 目的埠算HASH值
如果HASH值相同,說明沒有經過NAT,如果HASH值不等,說明經過了NAT
什么時候添加UDP的埠
如果確定了經過nat,就在IKEV1的通過5 6的時候,增加 UDP 4500埠
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390568.html
標籤:其他
