Windows – 保护来宾VM以使其可以访问Internet,但阻止访问主机LAN

我有一个在Windows主机下运行的Linux来宾VM.如果我将网络模式设置为NAT,则访客可以访问Internet(我想要),但也可以访问主机LAN(我不会).

由于各种原因,我无法建立一个单独的网络只是为了为访客提供互联网访问.

我可以使用Windows防火墙或某些路由软件来允许我向访客提供互联网访问权限,但阻止所有其他访问吗?

编辑 – 我从虚拟机论坛获得了解决方案:使用NAT与Windows防火墙来阻止访客.

我的错误是试图在主机上设置规则(program = all,本地IP =来宾IP范围).规则实际应该是(本地IP =全部,程序= virtualbox.exe),因为NAT已经发生在它到达防火墙之前

最佳答案
你说Linux所以我假设你已经安装了IPtables.您只能允许端口80(HTTP),端口443(HTTPS)和出站DNS上的入站/出站流量.由于我没有测试这些规则,因此使用风险自负.此外,确保您在执行此操作时是物理机器.如果您进行远程连接,可能会断开连接并无法返回机器.

#delete all rules
iptables -F

#change default policy to drop everything
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#add rules for port 80 and 443 to only allow this traffic
iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

#allow outbound DNS
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

#allow loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

清单规则:

iptables -L

转载注明原文:Windows – 保护来宾VM以使其可以访问Internet,但阻止访问主机LAN - 代码日志