将虚拟机与本地网络隔离但允许互联网 - 我有哪些选择?

将虚拟机与本地网络隔离但允许互联网 - 我有哪些选择?

我想在本地建立一个开发环境虚拟网络在哪里:

  1. 我的虚拟机被阻止访问本地网络范围(192.168.0.0/16,以及通过 VPN 访问的其他几个范围)。
  2. 我的虚拟机可以通过 Wi-Fi 通过主机网关(192.168.1.1)访问互联网。
  3. 我的主机可以发起与我的虚拟机的连接(例如 ssh)。

我很难找到完成此配置的选项,所以我想寻求一个好的解决方案。

我的主机是 Windows 10 Pro,我使用 Linux VM 运行 VirtualBox。我不确定这是否重要,但我有一张无线网卡(Intel Wireless-AC 9560)和一张物理 NIC 卡(Intel Ethernet I219-LM),其中电缆已断开连接。

我在网上搜索解决方案,但并没有找到任何好的解决方案,也没有关于如何创建防火墙和限制虚拟机网络访问的明确说明。以下是我找到的方法,但我担心我没有时间全部讲解。

  • 使用 virtualbox 实现我想要的设置的非正式方式是使用“沙盒”模式,其中运行额外的虚拟机普富思充当网桥/路由器和防火墙。以下是“沙盒”网络拓扑描述。我对这种拓扑的看法是,它使用完整的 VM 实例(1+ CPU 和 2GB+ RAM)只是为了运行防火墙。

  • 我看到一些提示,可能可以在物理网络接口卡之间创建一个桥接器并让虚拟机访问其中一个,但是当我尝试将未使用的网卡桥接到 Wi-Fi 时,我却失去了互联网,所以我不知道如何通过这种方式实现任何事情。

  • 我发现了一个软件叫Open vSwitch但似乎我可能需要从源代码构建它。而且我不太清楚它在 Windows 10 上的运行效果如何。

  • 我在想,也许可以使用 Windows 防火墙来阻止虚拟机尝试在本地网络上进行通信。我说得对吗?还是虚拟机占用的网络资源比 Windows 防火墙要少?也许这也取决于虚拟机的网络配置。我看到一个帖子,有人声称通过这种方式实现了一个有效的设置,但他们必须为“所有应用程序”设置防火墙规则,所以我仍然不太清楚我需要做什么才能让它工作。

如果有人能建议一个比“沙盒”更轻量级的解决方案,并提供一些如何设置的提示,我将不胜感激。即使是简短的提示也可能对我非常有帮助,因为我对虚拟网络缺乏了解,很难通过搜索找到好的解决方案。

相关内容