当使用 Cloudflare 隧道连接到 Hyper-V 中的 VM 时,如何保护我的家庭网络?

当使用 Cloudflare 隧道连接到 Hyper-V 中的 VM 时,如何保护我的家庭网络?

我在 Ubuntu Server 22.04 中的 Apache 服务器上运行一个网站。Ubuntu Server 是 Hyper-V 中的客户虚拟机。

为了从外界连接到网站,我使用带有 VM IP 的 Cloudflare Tunnel。

目前,我在 Ubuntu 服务器中有一个与家庭网络的 IP 范围不同的静态 IP。

我通过以下步骤完成了此操作:

  1. 我使用 Hyper-V 管理器创建了一个内部网络适配器
  2. 我为虚拟网络设置了不同的 IP 范围 - 172.15.100.x(子网掩码255.255.255.0),而家庭网络是192.168.2.x
  3. 我将新创建的适配器与原始适配器一起添加到 Guest 中(因此目前有 2 个适配器连接到 VM)
  4. 我为我的 Ubuntu 服务器设置了一个静态 IP -172.15.100.2

这算是 VLAN 吗?这足够安全吗?或者我需要采取一些步骤或完全不同的配置,以使其与我的家庭网络“分离”,以防 Web 服务器受到威胁?

答案1

这算是 VLAN 吗?

从一般意义上讲,是的;它提供与 VLAN 相同的隔离。(事实上,它提供的隔离甚至比 VLAN 还要多——每个 Hyper-V 网络都像一个完全独立的以太网交换机,具有它自己的VLAN。

从技术上讲,人们讨论的 VLAN 的 1:1 等效项是 VM 设置中的“VLAN ID”字段(多个 ID 共存于同一“线路”上),但一般来说,任何类型的隔离网络通常称为“VLAN”,创建单独的 Hyper-V 网络仍然符合隔离的目标。

这样够安全吗?

如果你的描述完整,那么这个配置完全没有效果,因为有问题的虚拟机仍连接到原始网络,这意味着 VLAN 的实际隔离为零(并且您创建的新网络根本没有用于任何用途)。

在安全配置中,主机一次只能位于一个网络或 VLAN 中,而跨越多个 VLAN 的唯一设备是充当从一个网络到另一个网络的网关的路由器;安全性来自于路由器作为主机之间的唯一路径,因此能够执行防火墙规则。

理论Windows 可能有能力做到这一点——毕竟,在 WSL 默认使用的设置中,WSL VM 位于单独的网络上,而主机操作系统是两者之间的路由器——但我真的不确定 Windows 作为路由器具有哪些过滤功能(“Windows 防火墙”似乎根本不处理路由流量)。如果有功能,它隐藏在某个地方。

因此,我宁愿使用单独的路由器,例如,我有一个小型硬件 Mikrotik 路由器,有些人使用运行 Opnsense 的第二个 VM 或带有 iptables 的常规 Linux – 而不是将您的 webapp VM 放在两个网络上,您只需将此配置用于“网关”VM,同时 webapp 服务器将是仅有的连接到“内部”网络并将被迫通过 Opnsense 系统的防火墙规则。

当然,最重要的是你必须创造这些防火墙规则。网络和子网仅在规则指定的情况下隔离;例如,如果您希望 Ubuntu VM 无法访问您的主 LAN 子网,那么您必须手动指定在您设置的规则中。(虽然不多,但我认为整个设置总共会有 2-4 条规则。)

相关内容