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


14

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しようとしても失敗します。サブネットの順序を入れ替えると、pingはできます172.16.1.Xが、他のサブネットでは何もpingできません。これは、Openswanがリストの最後のサブネットのみを使用して接続を作成しているようです。

ここで何か間違ったことをしていますか?

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


VLANを使用していますか?私はほぼ同じ問題を抱えていましたが、問題はVLANエラー

サブネットごとに1つずつ、2つのセキュリティアソシエーションを作成しようとしましたか?
ギメスド

@Tyke、いいえ私はVLANを使用していません。私のOpenSwanクライアントはNATを使用するルーターの背後にあります-それを反映するために質問を更新しました。
FixMaker

@gimmesudo:新しい接続(connection myConn2)に対して上記の設定を複製しようとしましたが、以外はすべて同じですrightsubnet。使用するipsec auto --up myConnと、172.168.1.Xにpingを実行できます。2番目の接続(ipsec auto --up myConn2)を起動しようとすると、192.168.3.Xにpingできますが、最初の接続は完全に停止します。
FixMaker

多くのIPSecルーター(Ciscoなど)でクライアントとして接続するには、簡単に使用できますvpnc
F.ハウリ

回答:


3

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

興味深い情報をログに記録する必要があります。/var/log/secureこの情報には、動作しない理由の手がかりが含まれている可能性があります。またの出力を掲示ip x s shしてip x p sh


単一のホストから複数のホストに切り替えようとしている場合、複数のサブネットのキーrightsubnet*s*は単数形ではなく複数形()であることに注意してください。
mgarciaisaia

1

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


残念ながら、リモートエンドポイントはサードパーティのFortiGateルーター(OpenSwanを実行していない)であるため、これを行うことはできません。問題は、ルーターが同じエンドポイント間の複数のトンネルに対処できないことに関係しているのではないかと考え始めています。
FixMaker

1

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

私は数か月間同様の問題を抱えていましたが、ここで答えを見つけました:https ://serverfault.com/questions/571352/openswan-multiple-subnets-routing-issue


1
そうではありません。leftsubnets = {singletone}、leftsubnet =と同一である必要があります。(コードを書きました)
mcr

これは、libeswan 3.15を使用して解決したソリューションでした。私の左には単一のサブネットがあり、右には複数のサブネットがありました。leftsubnet =を使用して左側を構成し、rightsubnets = {}を使用して右側を構成した場合、最後に接続されたrightsubnetのみが実際に接続されました。1つのサブネットでleftsubnets = {}を使用するように左側を構成したら、すべてに接続しました。
アダム・プラム

1

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

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

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


そうではありません。テストケースやサンプルには余分なカンマはありません。
mcr

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.