如何让虚拟机访问互联网,但阻止其访问局域网?

如何让虚拟机访问互联网,但阻止其访问局域网?

我正在 Windows 7 中使用 Microsoft Virtual PC 设置虚拟机。该 VM 将运行 Windows XP。

我想在其中设置一个面向公众的服务器,用于网页、颠覆和其他内容,并指示路由器将任何请求转发到该虚拟机。

我成功做到了这一点 - 我将虚拟机分配给网络适配器,现在它只是另一个 DHCP 客户端 - 但为了提高安全性,我想阻止虚拟机与 LAN 的其余部分通信,因此它只接受来自互联网的传入连接。据我所知,为了在发生入侵时有效,它必须在虚拟机级别上进行。

这能做到吗?

答案1

您可能需要第二张网卡直接连接到路由器/防火墙。当您将虚拟机卡与物理卡桥接时,几乎就像将不受信任的 PC 连接到受信任网络中的交换机一样。

因此,您应该将其直接连接到路由器,并可能设置一些 ACL 规则(http://en.wikipedia.org/wiki/Access_control_list)。但只要不设置到您信任的网络的路由就足够了。但是您可能希望从您的信任网络进行某些访问(例如用于管理),因此我建议使用 ACL。

理论上可以使用“桥接”配置并在主机上过滤不需要的数据包,但这取决于主机操作系统和虚拟化软件。但我对低效配置不熟悉。

另一个选项是将虚拟机 NIC 设置为 NAT 模式。然后,您可以在主机 PC 上设置防火墙。您必须在虚拟化软件中重定向端口,以使您的服务器正常工作。然后,您必须阻止虚拟化软件访问您的受信任网络。

我更相信第一个解决方案。

答案2

据我所知,这就是防火墙的用途。只需将防火墙限制为仅与您的 NAT/路由器通信即可。

相关内容