?
一、簡介
IPsec是Internet工程任務組(IETE)制定的一個開放的網絡層安全框架協(xié)議。它并不是一個單獨的協(xié)議,而是一系列為IP網絡提供安全性的協(xié)議和服務的集合。IPsec主要包括安全協(xié)議AH(Authentication Header)和ESP(Encapsulating Security Payload),密鑰管理交換協(xié)議IKE(Internet Key Exchange)以及用于網絡認證及加密的一些算法等。
?
關鍵字詳解
1.IKE版本
IPsec IKE:Internet 秘鑰交換協(xié)議,是 IPsec 體系結構中的一種主要協(xié)議。它是一種混合協(xié)議,使用部分 Oakley 和部分 SKEME,并協(xié)同 ISAKMP 提供密鑰生成材料和其它安全連系,比如用于 IPsec DOI 的 AH 和 ESP 。目前存在兩個版本,包含IKEv1和IKEv2兩個版本。主要區(qū)別在于協(xié)商過程、認證方法不同。
2.認證方式
認證方式分為預共享秘鑰以及自簽證書兩種,預共享秘鑰在配置上相對簡單,兼容性較好。自簽證書通過生成的秘鑰以及證書進行驗證,安全性更高。
?
二、如何使用
字段介紹
【狀態(tài)】:
?通過啟動按鈕開啟或者關閉IPsec服務
【名稱】:
?網絡中存在多個IPsec服務時,通過名稱區(qū)分服務。
【對方IP/域名】:
?建立IPsec的對端服務地址。
【本地子網】:
?IPsec本地子網網段。配置如192.168.1.0/24或者0.0.0.0/0。0.0.0.0/0表示為內網的所有網段
【對方子網】:
?IPsec對端服務的內網子網網段。如有多個網段,可點擊添加更多子網按鈕添加。
【線路】:
【IKE版本】:
?IKE版本。IKEv1和 IKEv2兩個版本。
【IKE協(xié)商模式】:
?只存在于IKEv1版本中。分為主模式和積極模式兩種。
?主模式為雙向認證,安全性較好。積極模式也稱為野蠻模式。僅單向認證,安全性比主模式較差,連接成功率高。
【IKE存活時間】:
?通道重新協(xié)商的時間。
【IKE提議】:
?分為加密算法、認證算法以及秘鑰交換算法。
【認證方式】:
?分為預共享密鑰以及自簽證書。
【預共享秘鑰】:
?配置簡單,兼容性好,預共享密鑰暫不支持特殊字符填寫。
注意事項:
當IPSEC使用預共享秘鑰方式的時候,使用L2TP客戶端撥號的時候不能填寫預共享秘鑰,否則L2TP撥號失敗。
3.6.8及以上企業(yè)版本,設置預共享秘鑰時,如果有設置標識,不必要檢查L2TP的預共享秘鑰沖突。
【自簽證書】:
?通過生成的密鑰以及證書來進行驗證。安全性好。
【本地標識、對方標識】:
?標識雙方身份,與證書中的common name 字段對應。本地標識和對方標識不能配置為相同且不能為空。
【本地私鑰】:
?與本地證書成對出現(xiàn),用于校驗。
【本地證書】:
?與本地私鑰成對出現(xiàn),用于校驗。
【對方證書】:
?由對方提供,校驗作用。
【ESP存活時間】:
?通道重新協(xié)商時間
【ESP加密算法】:
?ipsec通道的安全策略
【ESP認證算法】:
?ipsec通道的安全策略
【允許壓縮】:
?壓縮節(jié)省帶寬,但是會占用一定的CPU資源
【DPD探測】:
clear: 連接失敗后將不再進行重連。
hold:捕獲匹配流量并進行重新協(xié)商連接。
restart:立即觸發(fā)重新協(xié)商連接嘗試。
注意:當IKE版本為IKEv1時建議選擇“restart”DPD探測模式,當IKE版本為IKEv2時可任意選擇DPD探測模式。
?
使用方法
網絡拓撲及協(xié)商方式簡介如下圖所示
開啟服務并配置基本信息:開啟發(fā)起方的服務狀態(tài),并配置基本網絡信息。
開啟響應方的服務狀態(tài),并配置基本網絡信息
選擇相應的IKE版本以及認證方式,示例中選擇的IKE版本為IKEv1,認證方式為預共享秘鑰。其他的按照字段詳解中的介紹以及自己的需求配置即可。
?
發(fā)起方配置:
?
響應方配置:
?
注意事項
1、??兩端選擇的IKE版本需要一致。
2、??選擇IKEv1版本的時候,兩端的模式需要一致。
3、??IKEv1的版本時,IKE提議兩端的參數(shù)配置要一致,當自動協(xié)商時兩端必須都是自動協(xié)商。
4、??選擇IKEv1版本的時候,對方子網只能填寫一個。
5、當兩端均為愛快,選擇IKE V2版本并且有多個對端子網時,對端的本地子網需要填寫為0.0.0.0/0
6、??本地標識和對方標識不能配置成相同的。
7、??IKEv2版本時,IKE提議兩端參數(shù)配置要一致、當自動協(xié)商時僅一端配置自動協(xié)商,另一端配置具體參數(shù)也可以。
8、??若IPsecVPN不過NAT,兩端設備即可充當服務器,也可充當客戶端
9、??若IPsec過NAT,則需要注意以下幾點
a)?????????服務端的“對方IP/域名”必須為空,只能充當服務器,且服務端不允許過NAT。
b)????????要先啟動服務端,再啟動客戶端。
??????????10、動態(tài)或作過nat環(huán)境(and私有地址)端路由器 不填寫對端IP/域名,實現(xiàn)作為被動連接存在
? ? ? ? ? 11、如出現(xiàn)未連接的情況,每6分鐘有一次檢查和重連。
? ? ? ? ? ? ? 12、愛快路由目前不支持PFS協(xié)議。
?
ipsec VPN如何使用視頻教程:https://v.ikuai8.com/?id=43
?
?
三、常見問題
1、兩端內網無法互訪排查方法
? ①使用ping測試,ping對端lan口網關是否可以通,如果可以,但是ping不通下面的設備,檢查這個設備是否開啟了防火墻、是否有設置了網關并可正常上網
? ②使用tracert功能看路徑是否正確,在達到哪個網關的時候無法找尋到下一跳
?
注意:從3.4.6開始VPN之間互訪可以不用勾選web訪問控制 但ipsec vpn 互訪必須勾選web訪問控制
2、IPSec VPN對接不成功排查思路
四、知識拓展
AH與ESP:
1、Ipsec通過AH(Authentication header,驗證頭)和ESP(Encapsulating Security Payload,封裝安全載荷)兩個安全協(xié)議實現(xiàn)IP報文的封裝/解封裝。
AH是報文頭驗證協(xié)議,主要提供數(shù)據(jù)源驗證、數(shù)據(jù)完整性驗證和防報文重放功能,不提供加密功能。
ESp是封裝安全載荷協(xié)議,主要提供加密、數(shù)據(jù)源驗證、數(shù)據(jù)完整性驗證和防報文重放功能。
注:AH和ESP協(xié)議提供的安全功能依賴于協(xié)議采用的加密、驗證算法。
2、IPsec網關的加密和驗證算法所使用的密鑰可以手工配置,也可以動態(tài)協(xié)商。為了密鑰的安全性以及管理簡單,Ipsec協(xié)議框架中引入IKE協(xié)議實現(xiàn)安全聯(lián)盟動態(tài)協(xié)商和密鑰管理功能。
IKE協(xié)議建立在Internet安全聯(lián)盟和密鑰管理協(xié)議ISAKMP(internet security association and key management protocol)框架之上,采用DH(diffie-hellman)算法在不安全的網絡上安全的分發(fā)密鑰、驗證身份,以保證數(shù)據(jù)傳輸?shù)陌踩浴?/span>
IKE現(xiàn)分為IKE V1以及IKE V2版本,愛快使用IKE V2版本,下面會著重講解下IKEV2Ipsec建立的過程。
?
IPsec建立過程:(重點講解下IKEV2協(xié)商過程)
IKEV2相比于IKEV1版本,簡化了消息交換的過程,IKE V1至少需要交換6條消息。IKEV2正常情況下使用2次交換共4條消息就可以完成一個IKE SA和一對Ipsec SA,如果要求建立?IPsec SA大于一對時,每一對SA只需額外增加1次交換,也就是2條消息就可以完成。 ?
IKEV2定義了三種交換:初始交換、創(chuàng)建子SA交換以及通知交換
1、初始交換
IKE通信總是從IKE安全聯(lián)盟初始交換(ike_sa_init交換)和IKE認證交換(ike_auth交換)開始。這2個交換通常由4條消息組成,在某些場景下消息數(shù)目可能會增加。所有使用IKE的通信都由請求/響應組成。IKE安全聯(lián)盟初始交換和IKE認證交換完成后可以建立一個IKE SA和第一對child_sa(即Ipsec SA)
?
如上圖:使用兩個包來建立IKE sa,使用兩個包來建立IPsec SA。
?
2、創(chuàng)建子SA交換:
當一個IKE SA需要創(chuàng)建多對Ipsec SA時,需要使用創(chuàng)建子SA交換來協(xié)商多于一對的SA,另外創(chuàng)建子SA交換還可以用于進行IKE SA的重協(xié)商。
創(chuàng)建子SA交換包含一個交換兩個消息。在IKEv1中這個交換稱為階段2交換(快速模式交換)。這個交換必須在IKE初始交換完成之后才能進行,交換的發(fā)起者可以是IKE初始交換的發(fā)起者,也可以是IKE初始交換的響應者。在交換中的兩個消息需要由IKE初始交換協(xié)商的密鑰進行保護。
類似于IKEV1的PFS,創(chuàng)建子SA交換階段可以重新進行一次DH交換,生成新的密鑰材料。生成密鑰材料后,子SA的所有密鑰都從這個密鑰材料衍生出來。
?
3、通知交換:
運行IKE協(xié)商的兩端有時會傳遞一些控制信息,例如錯誤信息或者通告信息,這些信息在IKEV2中是通過通知交換完成的。
通知交換必須在IKE SA保護下進行,也就是說通知交換只能發(fā)生在初始交換之后。
?
注意事項:
??為了保證VPN的穩(wěn)定,VPN客戶端設置的VPN條數(shù)建議在30條以內,最大客戶端數(shù)量由自身硬件決定。
?
五、IPsec VPN實施案例
1.愛快與Cisco IPsec實施案例
?
2.愛快與Juniper IPsecc實施案例
?
3.愛快與俠諾 IPsec實施案例
4.愛快與多核防火墻IPsec實施案例
?
?
六、IPsec VPN常見日志解析
1.兩端設置不匹配產生的ipsec不通
日志描述:
愛快IPsecVPN發(fā)送5次重傳包,對端路由未回應。
解決方法:
1.本端與對端的ipsec版本是否一致,必須同是IKE v1或IKEv2版本,參數(shù)必須設置一致。
2.確認對端IPsec是否正常運行。
?
2.IPsec名稱書寫中文導致連接異常
Feb ?7 17:10:49 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts'
Feb ?7 17:10:49 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts'
Feb ?7 17:10:49 00[CFG] loading crls from '/etc/ipsec.d/crls'
Feb ?7 17:10:49 00[CFG] loading secrets from '/etc/ipsec.secrets'
Feb ?7 17:10:49 00[CFG] loading secrets from '/etc/ipsec.secrets.dpn-1'
Feb ?7 17:10:49 00[CFG] loaded IKE secret for @總部VPN @LEGOVPN6
Feb ?7 17:10:49 00[LIB] loaded plugins: charon aes des sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pgp dnskey pem fips-prf gmp xcbc hmac attr kernel-netlink resolve socket-default stroke updown xauth-generic
Feb ?7 17:10:49 00[JOB] spawning 16 worker threads
Feb ?7 17:10:49 04[CFG] received stroke: add connection 'ipsec_vpn_1'
日志描述:
對端填寫了中文ipsec名稱導致異常
解決方法:
IPsec名稱使用字母或數(shù)字來命名。
?
3.對端路由使用了愛快不支持的協(xié)議導致鏈路異常
Pluto{2799}:wang0#152:we require PFS but Quick I1 SA specifies no GROUP_DESCRIPTION
日志描述:
對端存在愛快不支持的協(xié)議PFS,由于愛快IPSEC版本較新,官方已不再支持此選項。
下圖為官方對PFS選項的說明:
?
解決方法:
對端路由關閉PFS。
?
4.兩端參數(shù)不匹配導致連接異常
【CFG】received proposals:ESP:3DES—CBC/HMAC_MD5_96/MODP——1024/No——EXT——seq
【CFG】configured proposals :ESP:3DES_CBC/HMAC_MD5_96/no_EXT_SEQ,
ESP:AES_CBC-128/AES_CBC_192/AES_CBC_256/3DES_CBC/BLOWWFISH_CBC_256/HMAC_SHA1_96/AES_XCBC_96/HMAC_MD5_96/NO_EXT_seq
【CFG】no matching proposal found sending no_PROPOSAL_CHOSEN
日志描述:
兩端協(xié)議不匹配,從日志來看是一端選擇了modp1024另一端沒有選擇或者設置錯誤。
解決方法:
出現(xiàn)此類報錯,首先確定對端modp選擇modp1024
注意事項:
一般情況下,其他品牌路由的IPsec group 1對應的為modp768,group 2對應modp1024,group5對應modp1536 ,
group14對應modp2048,group15對應modp3072,group16對應modp4096,group17對應modp6144,group18對應modp8192。
?
5.穿越NAT以及預共享密鑰錯誤導致連接異常
16:11:04 10[IKE]remote host is behind NAT
16:11:04 10[IKE]authentication of '116.247.107.138'(myself)with pre-shared key
16:11:04 10[IKE]no shared key found for '116.247.107.138'-116.236.225.30'
日志描述:
存在兩方面的日志報錯:
1.預共享密鑰配置錯誤。
2.一端為私網地址(或兩臺路由器之間經過了nat轉發(fā))
解決方法:
1.兩端預共享密鑰填寫一致。
2.私網地址一端為IPsec客戶端。設置單向訪問
若IPsec過NAT,則需要注意以下幾點
a)?????????服務端的“對方IP/域名”必須為空,只能充當服務器,且服務端不允許過NAT。
b)????????要先啟動服務端,再啟動客戶端
?
6.一端為私網地址導致IPsec VPN無法互訪
?
[ENC]generating IKE_SA_INIT response 0{N(no_prop)
[NET]sending packet:from 59.33.215.127[500]to183.30.192.195[500]
[NET]received packet:from 216.218.206.70(25573)to 59.33.215.127[500]
日志描述:
IPsec對端路由的wan口地址為私網地址(或中間經過了nat轉發(fā))導致回送數(shù)據(jù)異常,無法互訪
解決方法:
wan口地址為私網地址的一端為IPsec的客戶端設置單向訪問
若IPsec過NAT,則需要注意以下幾點
a)?????????服務端的“對方IP/域名”必須為空,只能充當服務器,且服務端不允許過NAT。
b)????????要先啟動服務端,再啟動客戶端
注意事項:
從這個日志上面顯示最明顯的為愛快以500端口發(fā)送數(shù)據(jù),對端路由以25573回送的數(shù)據(jù)
?
?
?
?
?