AWSで実行されているIPsecトランスポートとトンネル用のl2tpを使用して、RA用のOpenSWAN実装が機能しています。インスタンスにはプライベートIPがあり、パブリックEIPがマップされています。
left
およびleftsubnet
パラメーターにはプライベートIPを使用し、leftid
にはパブリックIPを使用します。
同じクライアントからStrongSWAN(4.5.2)を実行している新しいエンドポイントへのIPSec接続を構成しようとしています。私は可能な限りopenswanからstrongswanに設定を複製しようとしました。今のところ、IPSecをセットアップしようとしているだけで(まだl2tpについては心配していません)、フェーズ2で問題が発生しています(フェーズ1は正常に完了しています)。
構成の違いは次のとおりです。
--- openswan.conf 2014-07-18 11:48:01.740966015 +0200
+++ strongswan.conf 2014-07-18 11:46:58.927569703 +0200
@@ -1,11 +1,14 @@
+version 2.0
+
config setup
- protostack=netkey
+ charonstart=no
+ interfaces="%none"
nat_traversal=yes
- virtual_private=%v4:192.168.10.0/24
oe=off
- nhelpers=0
- interfaces=%defaultroute
+ virtual_private="%v4:192.168.11.0/24"
+
+conn %default
+ keyexchange=ikev1
conn remote-access
forceencaps=yes
type=transport
ike=3des-sha1
- phase2alg=3des-sha1
クライアントから接続を確立すると、次のようになります。
003 "myconn" #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): both are NATed
108 "myconn" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "myconn" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=aes_128 prf=oakley_sha group=modp2048}
117 "myconn" #2: STATE_QUICK_I1: initiate
そしてサーバーログで
"remote-access"[3] 105.1.1.1 #2: NAT-Traversal: Result using RFC 3947: both are NATed
"remote-access"[3] 105.1.1.1 #2: Peer ID is ID_IPV4_ADDR: '192.168.2.2'
"remote-access"[4] 105.1.1.1 #2: deleting connection "remote-access" instance with peer client.ip.addr {isakmp=#0/ipsec=#0}
"remote-access"[4] 105.1.1.1:4500 #2: sent MR3, ISAKMP SA established
"remote-access"[4] 105.1.1.1:4500 #2: cannot respond to IPsec SA request because no connection is known for 54.1.1.1/32===10.0.0.2:4500[54.1.1.1]:17/1701...105.1.1.1.1:4500[192.168.2.2]:17/%any==={192.168.2.2/32}
"remote-access"[4] 105.1.1.1:4500 #2: sending encrypted notification INVALID_ID_INFORMATION to 105.1.1.1:4500
192.168.2.2はクライアントのプライベートIPであり、105.1.1.1はクライアントがNATを取得するパブリックIPです。
「IPsec SAリクエストに応答できません。接続が不明なため)」を検索しましたが、 https://lists.strongswan。)でstrongswanに関連する1つしか見つかりませんでした。 org/pipemail/users/2011-July/001885.html 、および this ですが、どちらの提案も機能しません(ピアでrightidを調整するか、strongswanサーバーでleftsourceipを追加します)。
私がstrongswanに接続しているピア/クライアントはlibreswan3.7です
editここに設定があります
ECのStrongSWAN:
conn remote-access authby=secret pfs=no left=10.0.0.2 leftid=54..1.1.1 leftsubnet=10.0.0.2/32 leftnexthop=%defaultroute leftprotoport=17/1701 right=%any rightid=%any rightsubnetwithin=0.0.0.0/0 rightprotoport=17/%any type=transport forceencaps=yes auto=add ike=3des-sha1 dpddelay=15 dpdtimeout=45 dpdaction=clear auth=esp esp=aes256-sha1,3des-sha1!
このホストのシークレットファイル:
54.1.1.1 %any : PSK "XXX"
私のローカルRAクライアント構成:
conn myconn authby=secret pfs=no rekey=yes keyingtries=3 type=transport left=%defaultroute leftprotoport=17/1701 right=54.1.1.1 rightprotoport=17/1701 auto=add phase2=esp phase2alg=3des-md5;modp1024 forceencaps=yes
秘密:
0.0.0.0 %any 54.1.1.1 : PSK "XXX"
最近、ローカルクライアントにphase2パラメーターとforceencapsを追加しました。
前に示した差異は、接続している2つのEC2ベースのホスト間の差異でした。 「myconn」接続は私のワークステーションからのものであり、2つの接続があります。1つはopenswanピア用(機能する)で、そのコピーはstrongswanピア用(機能しない)です。左/右の構成に同じアプローチを使用すると、構成が機能するようになると考えました。
これがopenswanを使用した動作設定です。この構成の動作に影響を与えたパラメーターのいくつかは、rightsubnetwithin
とphase2alg
を使用していました(phase2algは必要に応じて調整できます。最初は3des-sha1を使用しましたが、後で調整しました)。
設定例
/etc/ipsec.conf
config setup
plutostderrlog= "/var/log/pluto.err"
protostack=netkey
nat_traversal=yes
virtual_private=%v4:192.168.10.0/24
oe=off
nhelpers=0
interfaces=%defaultroute
conn remote-access
auto=add
left=10.0.0.2
leftid=54.1.1.1
leftsubnet=10.0.0.2/32
leftnexthop=%defaultroute
leftprotoport=17/1701
rightprotoport=17/%any
right=%any
rightid=%any
rightsubnetwithin=0.0.0.0/0
forceencaps=yes
authby=secret
pfs=no
type=transport
auth=esp
ike=3des-sha1
phase2alg=3des-sha1
dpdaction=clear
dpddelay=60
dpdtimeout=500
/etc/ipsec.secrets
54.1.1.1 %any : PSK "Your_PSK"
これでIPSecトランスポートが起動しました。
私が正しく理解していれば、ここの一方または両方のエンドポイントにはRFC1918アドレスがあり、NATデバイスの背後にあります。
詳細については 私の以前の回答 を参照してください。ただし、結果として、confファイルの対称性が損なわれます。それぞれの側が同じleft=
とright=
のエンドポイントを持ち、どちらがどちらであるかをSWANに分類させる代わりに、それぞれの側が独自のプライベートIPアドレスを持っている必要があります、および反対側のパブリック1つ。どちらがleft
で、どちらがright
であるかは問題ではありませんが、2つのアドレスはもう一方のアドレスとは異なります。
実際の.conf
ファイルを投稿しておらず、差分のみを投稿しているため、これ以上コメントすることはできませんが、これが問題であると強く疑っています。