我有一个双节点 Proxmox 集群,一个设备运行 OPNsense VM,另一个设备用于运行虚拟服务器。为了便于描述,我们将节点称为 Node DXL 和 Node HLK。
我的目的是在节点 DXL 上运行 OPNsense VM,同时在节点 HLK 上运行虚拟服务器。但是,我不知道如何将节点 DXL 上的 OPNsense 路由器的 LAN 端口连接到另一个节点 HLK 上的虚拟服务器。
为了完成这个项目,我做了很多研究,但现在我又陷入了困境,因为我不知道该怎么做。我按照YouTube 上的这个指南操作,这个指南对我的入门很有帮助,但因为我运行的是双节点集群,所以它并不像“将网络设备连接到连接到 OPNsense VM 的 LAN 的 vmbr”那么简单!
我使用指南正确设置了我的 vmbr(Linux 桥接器),因为我对 Proxmox 的网络非常不熟悉。我将默认 VMBR(vmbr0)设置为节点 DXL 的物理 NIC,第二个 VMBR(vmbr1)设置为 OPNsense vm 专用网络(192.168.4.1)的默认网关。OPNsense VM 有两个虚拟 NIC,WAN NIC 连接到 vmbr0(物理 NIC),LAN NIC 连接到 vmbr1。
是否可以从 Node HLK 上的 Node DXL 访问 vmbr1?我需要设置某种软件定义网络设置吗?
两种常用方法是:
通过直接以太网连接,您可以在每台服务器上创建一个 VLAN 接口并将其添加到 vmbr1 网桥。它将使用 802.1Q VLAN 标签来隔离流量。(注意:如果“裸”eth0 接口也是网桥的一部分,则此方法可能效果不佳。)
在其他情况下,只要 IP 连接可用,VXLAN(以太网 UDP 隧道机制)是一种常见的解决方案。在两台服务器上创建 VXLAN 隧道接口,然后将其添加到 vmbr1 网桥。
(这比以太网 VLAN 的开销略高 - 大多数以太网设备已经为 802.1Q 标签预留了额外的空间,因此您将获得相同的 1500 字节 MTU,但 VLAN 标签位于其外部,而 VXLAN 数据包需要适合MTU内部,因此 VXLAN 接口本身将具有较低的 MTU,并且您的整个 vmbr1 桥接器相应地需要较低的 MTU,等等。或者,可以将“外部”MTU 提高到适合 1500加VXLAN,但并非所有网络硬件都支持这一点。)
这两种方法似乎都属于 Proxmox 中的“软件定义网络”,但它们本质上并不是 Proxmox 特有的功能——它们在普通 Linux 和大多数路由平台中都可用。