
私の物理コンピューターは、インターネットにアクセス可能な 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