我有一台带有自己防火墙(iptables 规则)的 linux 机器。
我刚刚发现 Virtualbox 能够以某种方式绕过我的防火墙,因为来宾系统能够连接到互联网。
如何添加 iptables 规则来阻止 virtualbox 访问互联网?
目前我正在使用这个规则(Virtualbox 可以绕过它):
sudo iptables -I OUTPUT -p tcp -m owner ! --uid-owner 186 -m multiport --dports http,https -j REJECT
VM 可以连接在第 3 层 (IP) 或第 2 层(以太网)上。第 3 层通过您的防火墙,第 2 层不通过(默认情况下不再)。
如果虚拟机连接到网桥,那么您可以强制网桥流量通过防火墙,请参阅此答案:https ://unix.stackexchange.com/a/500022/32191或者您使用
ebtables
.我不知道这是否也适用于 macvtap VM 连接。因此,您可能必须将您的 VM 网络更改为桥接或第 3 层(可能称为“NAT”)。
你不需要使用 iptables,你可以使用 Host-only 适配器。
查看我的上一篇文章:登录到没有互联网的无头 VirtualBox VM