web-dev-qa-db-ja.com

StrongSwan ipsec ubuntu "情報ペイロードを無視、タイプNO_PROPOSAL_CHOSEN"

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)  
4
Tucker

私の記憶が正しければ、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中心ですが、トンネルのセットアップに役立ちます。

4
petrus

Windowsサーバーに接続しているときに、Centos 7のStrongSwan 5.6.1でこのエラーを受け取りました。エラーの原因は、弱い暗号を使用するリモートサーバーであり、StrongSwanで非推奨と見なされます。

  • 次の弱い暗号を有効にすると、ipsec接続を完了できます。

    • フェーズ1アルゴリズム:aes128-sha1-modp2048,3des-sha1-modp1536,3des-sha1-modp1024
    • フェーズ2アルゴリズム:aes128-sha1,3des-sha1

 enter image description here

network-manager-l2tpの既知の問題 を参照してください


私は Arch Linux L2TP wiki が役に立ちました&OpenSwan/_also workのための説明がStrongSwanにあります:

  • 最初にipsec verifyを実行して、環境を構成します。

  • xl2tpd -D(デバッグモード)を実行します-設定が正しいことを確認します。

  • NetworkManagerアプレットで、/etc/ipsec.confconn設定と同じ名前をVPNに付けます。

  • network-manager-l2tpプラグインは、L2TPlns ipアドレスを介して、一致する/etc/xl2tpd/xl2tpd.conf接続を確立しているようです。 [lac vpn-name]設定に指定する名前は、プラグインにとって重要ではないようです。

  • これらの注意事項は、Arch Linuxipsecを使用したL2TPの設定にも適用されます。 network-manager-l2tpプラグインでLibreswanStrongswanipsecはArch Linuxでは機能しません)を使用し、/etc/ipsec.d/*.confの下にipsec接続の詳細を配置します。プラグインは、NetworkManager内のVPN名と一致する設定ファイル内のconn文字列を検索するため、ファイル名は任意です。

1
Stuart Cardall