AWSでホストされている2つのピア間にipsecVPNを設定しようとしていますが、それを機能させることができません。私の環境は次のとおりです。
1つのピアにはプライベートIPとして10.10.1.100、パブリックIPとして8.a.b.cがあり、リモートクライアントはIP 9.d.e.cから到達可能です。構成では、次のパラメーターに従うように指示されています。
フェーズ1の設定:
•IKEバージョン:IKEv2
•IKE認証方法:事前共有キー
•IKE暗号化アルゴリズム:AES256
•IKE認証アルゴリズム:HMAC_SHA256
•IKEDiffie-Hellmanグループ:グループ2-1024ビット
•IKEフェーズ1のライフタイム:86400秒
•IKEExchangeモード:メイン
フェーズ2設定:
•暗号化アルゴリズム:AES256
•認証アルゴリズム:HMAC_SHA256
•Diffie-Hellmanグループ:グループ2-1024ビット
•フェーズ2の寿命:3600秒
したがって、ピアの1つで、これをipsec.confファイルに設定しました。
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
charondebug="ike 4, knl 2, cfg 2, net 4, lib 2, chd 4, mgr 4, enc 4"
# strictcrlpolicy=yes
# uniqueids = no
# Add connections here.
# Sample VPN connections
conn cet
authby=secret
keyexchange=ikev2
esp=aes256-sha256-modp1024
ikelifetime=86400s
ike=aes256-sha256-modp1024
keylife=3600s
leftsubnet=10.10.1.0/24
left=10.10.1.100
right=9.d.e.c
rightsubnet=192.168.1.0/24
mobike=no
auto=start
また、/ etc /ipsec.secretsファイルは次のようになります。
#ipsec.secrets - strongSwan IPsec secrets file
54.169.72.161 : PSK "oddRandomCharacters"
しかし、VPN接続を確立しようとすると、これが得られる出力です。
initiating IKE_SA cet[68] to 9.d.e.f
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 10.10.1.100[500] to 9.d.e.f[500] (900 bytes)
received packet: from 9.d.e.f[500] to 10.10.1.100[500] (336 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(MULT_AUTH) ]
local Host is behind NAT, sending keep alives
remote Host is behind NAT
authentication of '10.10.1.100' (myself) with pre-shared key
establishing CHILD_SA cet
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr AUTH SA TSi TSr N(MULT_AUTH) N(EAP_ONLY) ]
sending packet: from 10.10.1.100[4500] to 9.d.e.f[4500] (384 bytes)
received packet: from 9.d.e.f[4500] to 10.10.1.100[4500] (80 bytes)
parsed IKE_AUTH response 1 [ N(AUTH_FAILED) ]
received AUTHENTICATION_FAILED notify error
establishing connection 'cet' failed
私の知る限り、フェーズ1のネゴシエーションは良好ですが、トンネルがそれを確立しようとすると失敗するため、フェーズ2のパラメーターが欠落していると推測しています。秘密鍵は正しく、構成パラメーターは以前に共有されたものなので、問題にはならないはずです。残念ながら、リモートピアログにアクセスできないため、/ var/log/syslogだけがあります。
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[IKE] successfully created shared key MAC
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[IKE] establishing CHILD_SA cet
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[CFG] proposing traffic selectors for us:
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[CFG] 10.10.1.0/24
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[CFG] proposing traffic selectors for other:
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[CFG] 192.168.1.0/24
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[CFG] configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ, ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/3DES_CBC/BLOWFISH_CBC_256/HMAC_SHA2_256_128/HMAC_SHA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/HMAC_MD5_96/NO_EXT_SEQ
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[KNL] got SPI cd02b0dc
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[ENC] generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr AUTH SA TSi TSr N(MULT_AUTH) N(EAP_ONLY) ]
Aug 27 02:03:11 ap-southeast-2-gw charon: 10[NET] sending packet: from 10.10.1.100[4500] to 54.169.72.161[4500] (384 bytes)
Aug 27 02:03:11 ap-southeast-2-gw charon: 05[NET] sending packet: from 10.10.1.100[4500] to 54.169.72.161[4500]
Aug 27 02:03:12 ap-southeast-2-gw charon: 03[NET] received packet: from 54.169.72.161[4500] to 10.10.1.100[4500]
Aug 27 02:03:12 ap-southeast-2-gw charon: 03[NET] waiting for data on sockets
Aug 27 02:03:12 ap-southeast-2-gw charon: 15[NET] received packet: from 54.169.72.161[4500] to 10.10.1.100[4500] (80 bytes)
Aug 27 02:03:12 ap-southeast-2-gw charon: 15[ENC] parsed IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Aug 27 02:03:12 ap-southeast-2-gw charon: 15[IKE] received AUTHENTICATION_FAILED notify error
私は何かが足りないのですか?
AFAIK Ikev2は、authメソッドとしてsecretをサポートしていません。。
編集:これは、サイト間の設定では当てはまらない場合があります。私はWindows10クライアントでのロードウォリアーのセットアップにStrongswanを使用しただけで、シークレットまたはPSKはWindows forIkev2では機能しません。
両側でEAP-TLSなどの相互EAP方式を実行するか、要求側でEAPを実行し、サーバー側で公開鍵を実行する必要があります。
編集:もう一方の端から構成を共有できますか?