我的设置:多个 Proxmox 主机,其中一个 eth0 通过 proxmox 中的网桥 (vmbr0) 连接到 LAN。(默认设置)
还有另一个“虚拟”桥接设备用于客户机 (vmbr100) 之间的内部流量。
作为第一位访客,我们在每个主机(debian bullseye)上都有一个“路由器”虚拟机,它们连接到 ens18(访客)上的 vmbr0(主机)和 ens19 上的 vmbr100。
在路由器上我们还有一个简单的 vmbr100 Linux 桥。
路由器也通过 LAN 上的 wireguard (wg0) 连接,我们在此 wireguard 连接上设置了一个 vxlan (单播)。到目前为止,一切正常。我可以通过 wg 或 vxlan ip 从路由器 ping 和 ssh 所有路由器。
然后,此 vxlan 通过 vmbr100 桥接器与 ens19 桥接。(以便我启动的其他客户机,我们将它们放在主机上的 vmbr100 上,并且它们会自动与其他 proxmox 主机位于同一个网络中,即使它们位于全球不同的数据中心)。
eth0(LAN)具有 MTU 1500,因为整个网络和 proxmox 都有它。
wg 的默认 mtu 为 1420(lan mtu 上的 80 字节开销)
所有其他(vxlan 连接)设备的 mtu 均为 9000。
我到目前为止的问题..正如我提到的,..我可以执行 ssh 和各种 iperf 操作,但是当我将新客户端连接到该 vxlan 桥时..(在主机上)...ping 有效,dhcp / dns 有效..但对于 iperf 或 ssh,我需要将该客户端的 mtu 设置为 1350(即 wireguard + vxlan 流量开销)..以使客户端通过 .. tcp 互相交谈?
当然,防火墙(iptables/ebtables)到目前为止已被禁用。
您能告诉我我需要调整/开始进一步研究的地方吗?为什么路由器之间的流量正常(使用 wg ip 或虚拟桥接 ip),从客户机到客户机主机桥接的流量也正常,但这些连接到通过 vxlan 连接的 vmbr100 的客户机之间的流量通过 wireguard 连接...需要更低的 mtu?
答案1
谢谢你帮我解决了问题,
由于 wireguard 在 wg0 接口上使用默认 mtu 1420.,因此低于该点的所有传输都轻松通过(我没有尝试过 ping -s [packetsize])..这个命令帮助我找到了这个错误。
..在主机“桥接”接口上,其 mtu 为 9000..我将 wg0 mtu 缩小到 8500...并将所有其他接口的 mtu 设置为 8000(vmbr100、vxnet、ens19)..现在所有客户机和主机都可以互相通信(因为客户机默认为 mtu 1500)。