【发布时间】:2020-03-20 22:33:02
【问题描述】:
我在带有 Debian 10 的 VirtualBox 中有一个 VM,我正在尝试 NAT 伪装它的输出接口 (enp0s8),以便它的客户端(连接到它的 VM)可以访问 Internet。
系统中的所有接口都有一个 IP。我已经启用了转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
然后我执行了:
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
但是,每当我执行上述操作时,都会发生以下情况:
而且不管我iptables --flush -t nat重复这个过程多少次,结果总是一样的。我要应用的规则永远不会正确保存,客户端的 IP 也永远不会被屏蔽。
这里有什么问题?几乎所有的教程都说这是伪装的正确方法。 我也尝试过使用 nftables,但没有成功。
【问题讨论】: