?
一、簡介
IPsec是Internet工程任務(wù)組(IETE)制定的一個開放的網(wǎng)絡(luò)層安全框架協(xié)議。它并不是一個單獨(dú)的協(xié)議,而是一系列為IP網(wǎng)絡(luò)提供安全性的協(xié)議和服務(wù)的集合。IPsec主要包括安全協(xié)議AH(Authentication Header)和ESP(Encapsulating Security Payload),密鑰管理交換協(xié)議IKE(Internet Key Exchange)以及用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。
?
關(guān)鍵字詳解
1.IKE版本
IPsec IKE:Internet 秘鑰交換協(xié)議,是 IPsec 體系結(jié)構(gòu)中的一種主要協(xié)議。它是一種混合協(xié)議,使用部分 Oakley 和部分 SKEME,并協(xié)同 ISAKMP 提供密鑰生成材料和其它安全連系,比如用于 IPsec DOI 的 AH 和 ESP 。目前存在兩個版本,包含IKEv1和IKEv2兩個版本。主要區(qū)別在于協(xié)商過程、認(rèn)證方法不同。
2.認(rèn)證方式
認(rèn)證方式分為預(yù)共享秘鑰以及自簽證書兩種,預(yù)共享秘鑰在配置上相對簡單,兼容性較好。自簽證書通過生成的秘鑰以及證書進(jìn)行驗(yàn)證,安全性更高。
?
二、如何使用
字段介紹
【狀態(tài)】:
?通過啟動按鈕開啟或者關(guān)閉IPsec服務(wù)
【名稱】:
?網(wǎng)絡(luò)中存在多個IPsec服務(wù)時,通過名稱區(qū)分服務(wù)。
【對方IP/域名】:
?建立IPsec的對端服務(wù)地址。
【本地子網(wǎng)】:
?IPsec本地子網(wǎng)網(wǎng)段。配置如192.168.1.0/24或者0.0.0.0/0。0.0.0.0/0表示為內(nèi)網(wǎng)的所有網(wǎng)段
【對方子網(wǎng)】:
?IPsec對端服務(wù)的內(nèi)網(wǎng)子網(wǎng)網(wǎng)段。如有多個網(wǎng)段,可點(diǎn)擊添加更多子網(wǎng)按鈕添加。
【線路】:
【IKE版本】:
?IKE版本。IKEv1和 IKEv2兩個版本。
【IKE協(xié)商模式】:
?只存在于IKEv1版本中。分為主模式和積極模式兩種。
?主模式為雙向認(rèn)證,安全性較好。積極模式也稱為野蠻模式。僅單向認(rèn)證,安全性比主模式較差,連接成功率高。
【IKE存活時間】:
?通道重新協(xié)商的時間。
【IKE提議】:
?分為加密算法、認(rèn)證算法以及秘鑰交換算法。
【認(rèn)證方式】:
?分為預(yù)共享密鑰以及自簽證書。
【預(yù)共享秘鑰】:
?配置簡單,兼容性好,預(yù)共享密鑰暫不支持特殊字符填寫。
注意事項:
當(dāng)IPSEC使用預(yù)共享秘鑰方式的時候,使用L2TP客戶端撥號的時候不能填寫預(yù)共享秘鑰,否則L2TP撥號失敗。
3.6.8及以上企業(yè)版本,設(shè)置預(yù)共享秘鑰時,如果有設(shè)置標(biāo)識,不必要檢查L2TP的預(yù)共享秘鑰沖突。
【自簽證書】:
?通過生成的密鑰以及證書來進(jìn)行驗(yàn)證。安全性好。
【本地標(biāo)識、對方標(biāo)識】:
?標(biāo)識雙方身份,與證書中的common name 字段對應(yīng)。本地標(biāo)識和對方標(biāo)識不能配置為相同且不能為空。
【本地私鑰】:
?與本地證書成對出現(xiàn),用于校驗(yàn)。
【本地證書】:
?與本地私鑰成對出現(xiàn),用于校驗(yàn)。
【對方證書】:
?由對方提供,校驗(yàn)作用。
【ESP存活時間】:
?通道重新協(xié)商時間
【ESP加密算法】:
?ipsec通道的安全策略
【ESP認(rèn)證算法】:
?ipsec通道的安全策略
【允許壓縮】:
?壓縮節(jié)省帶寬,但是會占用一定的CPU資源
【DPD探測】:
clear: 連接失敗后將不再進(jìn)行重連。
hold:捕獲匹配流量并進(jìn)行重新協(xié)商連接。
restart:立即觸發(fā)重新協(xié)商連接嘗試。
注意:當(dāng)IKE版本為IKEv1時建議選擇“restart”DPD探測模式,當(dāng)IKE版本為IKEv2時可任意選擇DPD探測模式。
?
使用方法
網(wǎng)絡(luò)拓?fù)浼皡f(xié)商方式簡介如下圖所示
開啟服務(wù)并配置基本信息:開啟發(fā)起方的服務(wù)狀態(tài),并配置基本網(wǎng)絡(luò)信息。
開啟響應(yīng)方的服務(wù)狀態(tài),并配置基本網(wǎng)絡(luò)信息
選擇相應(yīng)的IKE版本以及認(rèn)證方式,示例中選擇的IKE版本為IKEv1,認(rèn)證方式為預(yù)共享秘鑰。其他的按照字段詳解中的介紹以及自己的需求配置即可。
?
發(fā)起方配置:
?
響應(yīng)方配置:
?
注意事項
1、??兩端選擇的IKE版本需要一致。
2、??選擇IKEv1版本的時候,兩端的模式需要一致。
3、??IKEv1的版本時,IKE提議兩端的參數(shù)配置要一致,當(dāng)自動協(xié)商時兩端必須都是自動協(xié)商。
4、??選擇IKEv1版本的時候,對方子網(wǎng)只能填寫一個。
5、當(dāng)兩端均為愛快,選擇IKE V2版本并且有多個對端子網(wǎng)時,對端的本地子網(wǎng)需要填寫為0.0.0.0/0
6、??本地標(biāo)識和對方標(biāo)識不能配置成相同的。
7、??IKEv2版本時,IKE提議兩端參數(shù)配置要一致、當(dāng)自動協(xié)商時僅一端配置自動協(xié)商,另一端配置具體參數(shù)也可以。
8、??若IPsecVPN不過NAT,兩端設(shè)備即可充當(dāng)服務(wù)器,也可充當(dāng)客戶端
9、??若IPsec過NAT,則需要注意以下幾點(diǎn)
a)?????????服務(wù)端的“對方IP/域名”必須為空,只能充當(dāng)服務(wù)器,且服務(wù)端不允許過NAT。
b)????????要先啟動服務(wù)端,再啟動客戶端。
??????????10、動態(tài)或作過nat環(huán)境(and私有地址)端路由器 不填寫對端IP/域名,實(shí)現(xiàn)作為被動連接存在
? ? ? ? ? 11、如出現(xiàn)未連接的情況,每6分鐘有一次檢查和重連。
? ? ? ? ? ? ? 12、愛快路由目前不支持PFS協(xié)議。
?
ipsec VPN如何使用視頻教程:https://v.ikuai8.com/?id=43
?
?
三、常見問題
1、兩端內(nèi)網(wǎng)無法互訪排查方法
? ①使用ping測試,ping對端lan口網(wǎng)關(guān)是否可以通,如果可以,但是ping不通下面的設(shè)備,檢查這個設(shè)備是否開啟了防火墻、是否有設(shè)置了網(wǎng)關(guān)并可正常上網(wǎng)
? ②使用tracert功能看路徑是否正確,在達(dá)到哪個網(wǎng)關(guān)的時候無法找尋到下一跳
?
注意:從3.4.6開始VPN之間互訪可以不用勾選web訪問控制 但ipsec vpn 互訪必須勾選web訪問控制
2、IPSec VPN對接不成功排查思路
四、知識拓展
AH與ESP:
1、Ipsec通過AH(Authentication header,驗(yàn)證頭)和ESP(Encapsulating Security Payload,封裝安全載荷)兩個安全協(xié)議實(shí)現(xiàn)IP報文的封裝/解封裝。
AH是報文頭驗(yàn)證協(xié)議,主要提供數(shù)據(jù)源驗(yàn)證、數(shù)據(jù)完整性驗(yàn)證和防報文重放功能,不提供加密功能。
ESp是封裝安全載荷協(xié)議,主要提供加密、數(shù)據(jù)源驗(yàn)證、數(shù)據(jù)完整性驗(yàn)證和防報文重放功能。
注:AH和ESP協(xié)議提供的安全功能依賴于協(xié)議采用的加密、驗(yàn)證算法。
2、IPsec網(wǎng)關(guān)的加密和驗(yàn)證算法所使用的密鑰可以手工配置,也可以動態(tài)協(xié)商。為了密鑰的安全性以及管理簡單,Ipsec協(xié)議框架中引入IKE協(xié)議實(shí)現(xiàn)安全聯(lián)盟動態(tài)協(xié)商和密鑰管理功能。
IKE協(xié)議建立在Internet安全聯(lián)盟和密鑰管理協(xié)議ISAKMP(internet security association and key management protocol)框架之上,采用DH(diffie-hellman)算法在不安全的網(wǎng)絡(luò)上安全的分發(fā)密鑰、驗(yàn)證身份,以保證數(shù)據(jù)傳輸?shù)陌踩浴?/span>
IKE現(xiàn)分為IKE V1以及IKE V2版本,愛快使用IKE V2版本,下面會著重講解下IKEV2Ipsec建立的過程。
?
IPsec建立過程:(重點(diǎn)講解下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認(rèn)證交換(ike_auth交換)開始。這2個交換通常由4條消息組成,在某些場景下消息數(shù)目可能會增加。所有使用IKE的通信都由請求/響應(yīng)組成。IKE安全聯(lián)盟初始交換和IKE認(rèn)證交換完成后可以建立一個IKE SA和第一對child_sa(即Ipsec SA)
?
如上圖:使用兩個包來建立IKE sa,使用兩個包來建立IPsec SA。
?
2、創(chuàng)建子SA交換:
當(dāng)一個IKE SA需要創(chuàng)建多對Ipsec SA時,需要使用創(chuàng)建子SA交換來協(xié)商多于一對的SA,另外創(chuàng)建子SA交換還可以用于進(jìn)行IKE SA的重協(xié)商。
創(chuàng)建子SA交換包含一個交換兩個消息。在IKEv1中這個交換稱為階段2交換(快速模式交換)。這個交換必須在IKE初始交換完成之后才能進(jìn)行,交換的發(fā)起者可以是IKE初始交換的發(fā)起者,也可以是IKE初始交換的響應(yīng)者。在交換中的兩個消息需要由IKE初始交換協(xié)商的密鑰進(jìn)行保護(hù)。
類似于IKEV1的PFS,創(chuàng)建子SA交換階段可以重新進(jìn)行一次DH交換,生成新的密鑰材料。生成密鑰材料后,子SA的所有密鑰都從這個密鑰材料衍生出來。
?
3、通知交換:
運(yùn)行IKE協(xié)商的兩端有時會傳遞一些控制信息,例如錯誤信息或者通告信息,這些信息在IKEV2中是通過通知交換完成的。
通知交換必須在IKE SA保護(hù)下進(jìn)行,也就是說通知交換只能發(fā)生在初始交換之后。
?
注意事項:
??為了保證VPN的穩(wěn)定,VPN客戶端設(shè)置的VPN條數(shù)建議在30條以內(nèi),最大客戶端數(shù)量由自身硬件決定。
?
五、IPsec VPN實(shí)施案例
1.愛快與Cisco IPsec實(shí)施案例
?
2.愛快與Juniper IPsecc實(shí)施案例
?
3.愛快與俠諾 IPsec實(shí)施案例
4.愛快與多核防火墻IPsec實(shí)施案例
?
?
六、IPsec VPN常見日志解析
1.兩端設(shè)置不匹配產(chǎn)生的ipsec不通
日志描述:
愛快IPsecVPN發(fā)送5次重傳包,對端路由未回應(yīng)。
解決方法:
1.本端與對端的ipsec版本是否一致,必須同是IKE v1或IKEv2版本,參數(shù)必須設(shè)置一致。
2.確認(rèn)對端IPsec是否正常運(yùn)行。
?
2.IPsec名稱書寫中文導(dǎo)致連接異常
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名稱導(dǎo)致異常
解決方法:
IPsec名稱使用字母或數(shù)字來命名。
?
3.對端路由使用了愛快不支持的協(xié)議導(dǎo)致鏈路異常
Pluto{2799}:wang0#152:we require PFS but Quick I1 SA specifies no GROUP_DESCRIPTION
日志描述:
對端存在愛快不支持的協(xié)議PFS,由于愛快IPSEC版本較新,官方已不再支持此選項。
下圖為官方對PFS選項的說明:
?
解決方法:
對端路由關(guān)閉PFS。
?
4.兩端參數(shù)不匹配導(dǎo)致連接異常
【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另一端沒有選擇或者設(shè)置錯誤。
解決方法:
出現(xiàn)此類報錯,首先確定對端modp選擇modp1024
注意事項:
一般情況下,其他品牌路由的IPsec group 1對應(yīng)的為modp768,group 2對應(yīng)modp1024,group5對應(yīng)modp1536 ,
group14對應(yīng)modp2048,group15對應(yīng)modp3072,group16對應(yīng)modp4096,group17對應(yīng)modp6144,group18對應(yīng)modp8192。
?
5.穿越NAT以及預(yù)共享密鑰錯誤導(dǎo)致連接異常
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.預(yù)共享密鑰配置錯誤。
2.一端為私網(wǎng)地址(或兩臺路由器之間經(jīng)過了nat轉(zhuǎn)發(fā))
解決方法:
1.兩端預(yù)共享密鑰填寫一致。
2.私網(wǎng)地址一端為IPsec客戶端。設(shè)置單向訪問
若IPsec過NAT,則需要注意以下幾點(diǎn)
a)?????????服務(wù)端的“對方IP/域名”必須為空,只能充當(dāng)服務(wù)器,且服務(wù)端不允許過NAT。
b)????????要先啟動服務(wù)端,再啟動客戶端
?
6.一端為私網(wǎng)地址導(dǎo)致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口地址為私網(wǎng)地址(或中間經(jīng)過了nat轉(zhuǎn)發(fā))導(dǎo)致回送數(shù)據(jù)異常,無法互訪
解決方法:
wan口地址為私網(wǎng)地址的一端為IPsec的客戶端設(shè)置單向訪問
若IPsec過NAT,則需要注意以下幾點(diǎn)
a)?????????服務(wù)端的“對方IP/域名”必須為空,只能充當(dāng)服務(wù)器,且服務(wù)端不允許過NAT。
b)????????要先啟動服務(wù)端,再啟動客戶端
注意事項:
從這個日志上面顯示最明顯的為愛快以500端口發(fā)送數(shù)據(jù),對端路由以25573回送的數(shù)據(jù)
?
?
?
?
?