我想使用 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
如果您对结果感到满意,请考虑持续进行这些更改。