使用具有以下设置的 ESXi v6:
一台标准交换机:vSwitch0
- vSwitch0 有一个上行链路物理适配器(Internet 连接,这是唯一的物理适配器)
- vSwitch0 VM 网络有 3 个虚拟机(可通过 Web 访问,使用静态 IP)
我想将运行 PfSense 的第 4 个 VM 添加到我已经启动并运行的 3 个 VM 中,所有进出的 Internet 流量都将通过它。
使用 pfSense 防火墙作为网关的 3 台虚拟机具有内部专用网络(例如在 10.10.10.0 范围内)。这可能有效的一种方法是,如果我创建了一个仅限 LAN 的网络。3 个 VM NIC 中的每一个都将连接到这个仅限 LAN 的网络(假设使用 10.10.10.100 作为网关)。
PfSense 将有两个 NIC,一个连接到物理 NIC,一个连接到 LAN 专用网络,IP 地址为 10.10.10.100。
我已经做了什么:
- 创建了一个新的 vSwitch,没有连接到任何物理网卡
- 将 3 个 VM NIC 分配给此网络
我是否需要将这些 VM NIC 的网关设置为 PfSense LAN only IP?或者我是否使用 vkernel 并将网关从默认公共 IP 更改为 10.10.10.100(尝试过一次,我失去了与 ESXi 服务器的连接)?
有了我的强制性警告,这真的不像看起来那么困难。
使用物理设备和物理 pfSense 设备,您将拥有一个 WAN 端口和一个 LAN 端口。您的 WAN 端口将连接到世界的上行链路。LAN 端口将连接到某种类型的交换机和内部网络上的 LAN 基础设施的其余部分。pfSense WAN 将配置为 WAN IP 地址(静态或动态),pfSense LAN 将配置为具有静态设置的 LAN IP 地址,您可以为 LAN 启用 DHCP 或拥有每个系统静态 IP' d 使用指向该 LAN 的默认网关。
对于 ESXi 上的所有内容,我们必须模拟这一点,但它仍然是相同的概念。
ESXi 和 vSphere
鉴于您已经拥有虚拟机,您可能已经拥有 a
vSwitch0
,它又链接到物理系统上行链路,就像这样,但虚拟机位于“VM 网络”组中,并且 avmnic
实际上连接到某些东西:重要的是,从现在开始,vSwitch0 上的任何内容现在都将在“上行链路”上考虑,因为它上面有物理 NIC。我们可以稍后更改。pfSense WAN 虚拟网卡将在此交换机上。
为 pfSense LAN 创建 vSwitch1
这是我们将创建 LAN 的地方。如果您以前创建过 vSwitch,则可以轻松完成这一部分,但实际上,我们正在为 VM 添加一个 vSwitch,而不是 VMKernel。不过这里的关键是不要将物理适配器连接到这个网络,因为我们是通过 pfSense 运行它,这将是一个连接到这个 vSwitch 的虚拟 NIC。我将此处的新端口分组命名为“pfSense LAN”。
推迟到以后:将虚拟机移入 pfSense LAN
因为这可能是一个您无法停机的系统,所以我将让虚拟机移动到 pfSense LAN 作为后续步骤。
pfSense 虚拟机
现在,对于 pfSense。创建 pfSense VM 时,您需要为其提供两个虚拟 NIC - 一个用于 pfSense“WAN”,即上行链路所在的“外部”,另一个用于 pfSense“LAN”,即内部网络pfSense 防火墙保护它并为 LAN 上的机器执行 NAT 和路由到上行链路。
设置 pfSense 时,您需要确保为 VM 提供两个虚拟网络适配器(
vNIC
s,从这一点开始,在此答案中)。它们每个都需要在我们拥有的各个网络组上,一个在vSwitch0
(“VM 网络”如前),一个在vSwitch1
(“pfSense LAN”)。我使用E1000
类型适配器——它们似乎与基于 FreeBSD 的 pfSense 系统配合得很好。这是可选的,但我强烈推荐这个。确保您在“pfSense LAN”网络上有一个 VM,您可以在其中访问 GUI,以便在设置后访问 pfSense。你需要这个来配置 pfSense 防火墙,除非你知道你在 CLI 上为 pfSense 做什么(我不会在这里添加 pfSense 设置步骤,因为这是一个不同的问题,基本上。)
配置 pfSense 后,如果您必须从外部访问虚拟机,我们会回到您可能会停机的部分。
将 VM 移动到 pfSense LAN
基本上,编辑默认“VM 网络”上的每个 VM 的网络适配器设置,并将它们设置为“pfSense LAN”网段。如果一切都是静态 IP,那么您应该全部设置好,只需确保在 VM 上将“网关”设置为您在 pfSense LAN 适配器上设置的静态 IP。(这样,VM 可以通过 pfSense 进行路由)。
完成后,您的虚拟机可以通过 pfSense 连接到任何外部设备(通过在每台机器上正确设置网关),然后您只需配置 pfSense 以允许在必要时从外部连接到机器。
现在你完成了。pfSense 应该能够访问“网络”,VM 也应该如此。如果您真的关心“VM Network”是否存在,请添加一个
vSwitch0
名为“pfSense WAN”的组,然后编辑 pfSense 网络设置以使“VM Network”vNIC 连接到新的“pfSense WAN”组。我们在这里唯一没有调整的是 VMKernel 所在的位置。虽然我不打算在这里执行此操作,因为它会严重破坏我的系统,但理论上您可以将 VMKernel 添加到
vSwitch1
的属性,并在“pfSense LAN”中为其提供静态 IP,如果您希望管理只能访问形成网络的“pfSense LAN”部分。一旦您确认您可以通过那里进入,您就可以删除 上的 VMKernelvSwitch0
。但是,如果一切都开始崩溃,那么您将必须对机器进行物理访问,才能通过机器本身重新配置管理网络。请注意,如果您已经在 LAN 或管理网络所在的地方,请不要理会管理网络。除非您的 ESXi 需要访问 Internet,否则您不需要它通过网关。
配置后 pfSense / ESXi 网络拓扑图
实际上,对于 ESXi 以及与您的虚拟机、pfSense 和上行链路有关的拓扑,您最终会得到类似的结果,只关注 ESXi 部分。