StrongSwanをubuntuサーバーで実行していて、Cisco 2821ルーターでipsec暗号化VPNトンネルを作成しようとしています。接続が機能せず、理由がわかりません。フェーズ1は完了したようですが、フェーズ2で失敗します。私は困惑しています。ところで、私のサーバーはアマゾンクラウドにあります。
これが私の設定です:
conn my-conn
type=tunnel
authby=secret
auth=esp
ikelifetime=86400s
keylife=3600s
esp=3des-sha1
ike=3des-sha1-modp1024
keyexchange=ike
pfs=no
forceencaps=yes
# Left security gateway, subnet behind it, nexthop toward right.
left=10.0.0.4
leftsubnet=10.0.0.4/32
leftnexthop=%defaultroute
# Right security gateway, subnet behind it, nexthop toward left.
right=1.2.3.4
rightsubnet=1.2.3.5/32
rightnexthop=%defaultroute
# To authorize this connection, but not actually start it,
# at startup, uncomment this.
auto=start
ログからの出力はここにあります:
Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: initiating Main Mode
Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: enabling possible NAT-traversal with method RFC 3947
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring Vendor ID payload [Cisco-Unity]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [Dead Peer Detection]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring Vendor ID payload [883f3a4fb4782a3ae88bf05cdfe38ae0]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [XAUTH]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: i am NATed
Dec 28 18:02:20 myserver pluto[15753]: | protocol/port in Phase 1 ID Payload is 17/0. accepted with port_floating NAT-T
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: Peer ID is ID_IPV4_ADDR: '1.2.3.4'
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ISAKMP SA established
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #331: initiating Quick Mode PSK+ENCRYPT+TUNNEL+UP {using isakmp#330}
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring informational payload, type NO_PROPOSAL_CHOSEN
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring informational payload, type IPSEC_RESPONDER_LIFETIME
Ciscoルータに接続するために私に与えられた設定は次のとおりです。
Key Management: IKE
Diffie-Hellman Group: Group 2
Encryption Algorithm: 3DES (rec)
Hash Algorithm: SHA-1 (rec.)
Authentication Method: Preshared
Pre-Shared Secret Key: TBC
Life Time: 86400s (24h)
Encryption Phase 2 (IPSec):
Encapsulation: ESP
Encryption Algorithm used: 3DES (rec)
Hash Algorithm: SHA-1 (rec.)
Perfect Forward Secrecy: Groupe 2
Aggressive Mode: NO
Life Time: 3600s (1h)
私の記憶が正しければ、Amazon EC2はいくつかのNAT=を使用して、インスタンスをインターネットから到達可能にします。
NAT対応のアプリケーションはシームレスに動作しますが(httpまたはsshを考えてください)、一部のプロトコルは、エンドツーエンドの通信がルールであるときに設計され、NATはこれらのプロトコルを壊します。
FTP、またはSIP(rtp実際には)動的に選択されたポートを使用しますが、ヘルパーは設計されています。たとえば、VoIP用のSTUN。
IPSecの場合、フェーズ1は成功します。これはNAT検出です。そのため、サーバーはログで言いますi am NATed
。
ただし、フェーズ2であるNATトラバーサル決定は失敗します。シスコが「IPSec NAT Transparency」と呼ぶものを両側で有効にする必要がある場合があります。ipsecそのため、ペイロードはレイヤ3レベル(IP)ではなく、UDPのレイヤ4レベルにあります。
これはopenvpnの動作と多少似ていますが、IPSecの代わりにsslを使用しています。
NAT traversal に関するCiscoのサイト)をご覧ください。Cisco中心ですが、トンネルのセットアップに役立ちます。
Windowsサーバーに接続しているときに、Centos 7のStrongSwan 5.6.1
でこのエラーを受け取りました。エラーの原因は、弱い暗号を使用するリモートサーバーであり、StrongSwanで非推奨と見なされます。
次の弱い暗号を有効にすると、ipsec
接続を完了できます。
aes128-sha1-modp2048,3des-sha1-modp1536,3des-sha1-modp1024
aes128-sha1,3des-sha1
network-manager-l2tpの既知の問題 を参照してください
私は Arch Linux L2TP wiki が役に立ちました&OpenSwan/_also workのための説明がStrongSwanにあります:
最初にipsec verify
を実行して、環境を構成します。
xl2tpd -D
(デバッグモード)を実行します-設定が正しいことを確認します。
NetworkManagerアプレットで、/etc/ipsec.conf
のconn
設定と同じ名前をVPNに付けます。
network-manager-l2tp
プラグインは、L2TP
のlns
ipアドレスを介して、一致する/etc/xl2tpd/xl2tpd.conf
接続を確立しているようです。 [lac vpn-name]
設定に指定する名前は、プラグインにとって重要ではないようです。
これらの注意事項は、Arch Linuxでipsec
を使用したL2TPの設定にも適用されます。 network-manager-l2tp
プラグインでLibreswan(Strongswanipsec
はArch Linuxでは機能しません)を使用し、/etc/ipsec.d/*.conf
の下にipsec
接続の詳細を配置します。プラグインは、NetworkManager内のVPN名と一致する設定ファイル内のconn
文字列を検索するため、ファイル名は任意です。