IPtablesを使用してネットワークをvm1からvm2にリダイレクトする

IPtablesを使用してネットワークをvm1からvm2にリダイレクトする

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

結果が満足のいくものであれば、引き続き変更してみてください。

関連情報