使用 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,其中一个连接到与 VM1 相同的仅主机适配器,另一个连接到 NAT 适配器(用于 Internet 访问)

在 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

如果您对结果感到满意,请考虑持续进行这些更改。

相关内容