web-dev-qa-db-ja.com

複数の正しいサブネットに接続しているOpenswanが機能しない

Openswan(バージョン2.6.37)を使用して、ローカルネットワークからリモートサイトにIPsec VPNを接続しようとしています。リモートサイトの単一のサブネットに接続したいだけの場合、すべてが正常に機能します。ただし、リモートサイトにもアクセスしたい追加のサブネットがあります。

これは私の設定です:

conn myConn
        type=tunnel
        left=192.168.139.14
        leftsubnet=192.168.139.0/24
        leftxauthclient=yes
        right=X.X.X.X
        rightsubnet=172.16.1.0/24
        keyexchange=ike
        auth=esp
        authby=secret
        phase2alg=3des-sha1
        pfs=yes

rightsubnetrightsubnetsに置き換えると、次のようになります。

rightsubnets={172.16.1.0/24 192.168.3.0/24}

...その後、接続は正常に作成されますが、リストの最後のサブネットのみが使用可能です。 172.16.1.0サブネット上の何かにpingしようとすると失敗します。サブネットの順序を入れ替えると、172.16.1.Xにpingできますが、他のサブネットの何にもpingできません。それは、Openswanがリストの最後のサブネットのみを使用して接続を作成しているようです。

ここで何か悪いことをしていますか?

私が言及しなかった追加情報の少し(関連があるかどうかはわかりませんが):私のopenswanクライアントはNATを使用してルーターの背後にあり、nat_traversal=yesを持っていますipsec.confファイル。

14
FixMaker

通常の 複数のサブネットの区切りはカンマ のように見えますが、少なくともopenswan-2.6.32はスペースでも機能します。

興味深い情報は/var/log/secureに記録する必要があります。この情報には、機能していない理由の手がかりが含まれている可能性があります。 ip x s ship x p shの出力も投稿してください。

3
skarap

OpenSwanには、サブネットリストが正しく機能するために末尾に余分なコンマが必要なバグがあるようです。試してください:

rightsubnets={172.16.1.0/24,192.168.3.0/24,}

最後の余分なコンマに注意してください。

1

rightsubnetsを使用する場合は、leftsubnetsではなくleftsubnetも使用する必要があります。その側にサブネットが1つしかない場合でも。 ipsec.conf manページ は、これを説明するのに優れた仕事をしていませんが、それはあります。

私は数か月間同様の問題を抱えていて、答えは openswan multiple subnets routing issue にありました。

1
exor314

トンネルの両方のエンドポイントのサブネットごとにconnセクション構成を作成します。そのうちの1つ(最初に開始したもの)だけがSA=ネゴシエーションを開始し、2番目(またはそれ以上)がそれ以降のサブネットの新しいSPD=)のみを作成します。

1
Endre Szabo