IPtablesを使用してVirtualBox vm1からvm2にすべてのネットワークトラフィックをリダイレクトしたいと思います。 vm1のすべてのアプリケーションがエージェントに優しいわけではありません。
どうすればいいですか?
答え1
VM1のすべてのトラフィックがVM2を介してルーティングされることを望んでいると思います。これが正しい場合は、次のことを試すことができます。
- VM1 = 10.20.20.10/24(イーサネット0)
- VM2 = 10.20.20.20/24(イーサネット0)および192.168.20.10(イーサネット1)
VM2もNATアダプタを介して接続されているためイーサネット1、デフォルトゲートウェイは次のとおりです。192.168.20.1
ホスト専用アダプタに接続する単一のNIC(eth0)でVM1を構成します。
2つのNIC(eth0とeth1)でVM2を構成します。 1つはVM1と同じホスト専用アダプタに接続され、もう1つはNATアダプタ(インターネットアクセス用)に接続されます。
VM2でip_forwardingを有効にする
echo 1 > /proc/sys/net/ipv4/ip_forward
iptablesを使用してVM2でマスカレーディングを有効にすることもできます。
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
次に、VM1のデフォルトゲートウェイがVM2を指すように設定します。
ip route add default via 10.20.20.20
結果が満足のいくものであれば、引き続き変更してみてください。