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