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
rightsubnet
をrightsubnets
に置き換えると、次のようになります。
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
ファイル。
通常の 複数のサブネットの区切りはカンマ のように見えますが、少なくともopenswan-2.6.32はスペースでも機能します。
興味深い情報は/var/log/secure
に記録する必要があります。この情報には、機能していない理由の手がかりが含まれている可能性があります。 ip x s sh
とip x p sh
の出力も投稿してください。
OpenSwanには、サブネットリストが正しく機能するために末尾に余分なコンマが必要なバグがあるようです。試してください:
rightsubnets={172.16.1.0/24,192.168.3.0/24,}
最後の余分なコンマに注意してください。
rightsubnets
を使用する場合は、leftsubnets
ではなくleftsubnet
も使用する必要があります。その側にサブネットが1つしかない場合でも。 ipsec.conf
manページ は、これを説明するのに優れた仕事をしていませんが、それはあります。
私は数か月間同様の問題を抱えていて、答えは openswan multiple subnets routing issue にありました。
トンネルの両方のエンドポイントのサブネットごとにconn
セクション構成を作成します。そのうちの1つ(最初に開始したもの)だけがSA=ネゴシエーションを開始し、2番目(またはそれ以上)がそれ以降のサブネットの新しいSPD=)のみを作成します。