VMサブネットのIPsec VPNルーティング

VMサブネットのIPsec VPNルーティング

私の物理コンピューターは、インターネットにアクセス可能な VPS への IPsec トンネル (Strongswan を使用) を確立できるため、私の物理コンピューターのインターネット トラフィックは VPS を経由します。

また、物理マシン上で実行されている VM に Strongswan を設定することも試し、成功しました。予想どおり、VM は VPS を介してインターネットにアクセスできます。

私がやりたいのは、物理コンピュータ上で Strongswan を実行して、すべての VM (192.168.122.0/24 内) のトラフィックが VPS を通過するようにすることです。これは、サイト間構成で実行できると思います (例:https://www.strongswan.org/testing/testresults/ikev2/net2net-cert/) を試してみましたが、うまく動作しませんでした。問題が Strongswan の構成にあるのか、VM ネットワーク構成にあるのか、あるいはその両方にあるのかはわかりません...

物理マシン上の ipsec.conf:

config setup
    charondebug="ike 2, cfg 2"

conn kvm-test
    rightsubnet=0.0.0.0/0
    keyexchange=ikev2
    ike=aes256gcm128-sha512-modp8192!
    esp=aes256gcm128-sha512-modp8192!
    leftcert=client.pem
    auto=add
    right=123.123.123.123 # not my VPS's actual IP
    rightcert=vpn_server.pem
    leftsubnet=192.168.122.0/24
    left=192.168.1.2

私の VPS 上の ipsec.conf:

config setup
        # strictcrlpolicy=yes
        # uniqueids = no

conn %default
    keyexchange=ikev2
    leftfirewall=yes
    auto=add
    leftsubnet=0.0.0.0/0
    left=123.123.123.123 # not my VPS's actual IP
    ike=aes256gcm128-sha512-modp8192!
    esp=aes256gcm128-sha512-modp8192!

conn kvm-test
    leftcert=vpn_server.pem
    rightcert=client.pem
    rightsubnet=192.168.122.0/24

この構成では、接続は正常に確立されますが、VM のトラフィックは接続を通過しません。ip route show table 220上にリンクされた例とは異なり、何も表示されないことに注意してください。そこに何を入力すればよいかわかりません...ip route add table 220 default via 123.123.123.123 proto static機能しません。何かご意見はありますか?

答え1

仮想化ソリューションが 192.168.122.0/24 からのトラフィックをホストの物理 IP (192.168.1.2) に NAT する場合は、これを回避し、IPsec ポリシーに一致するトラフィックを受け入れるルールを追加する必要があります。たとえば (詳細はこちら):

iptables -t nat -I POSTROUTING -s 192.168.122.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT

関連情報