我在带有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也永远不会被屏蔽。
这里是什么问题?几乎所有教程都说这是伪装的正确方法。我也尝试过使用nftable,但没有成功。
它已经显示了正确的输出。要显示带有界面详细信息的规则,您需要使用,
iptables -t nat -L -n -v
顺便说一句,如果您已经设置了NAT网络,则已经可以在外部连接了。