问题:更改bridge-ports
网络接口的值后,该 IP 上的所有网络都停止工作。基础系统是基于 Debian Bullseye 的 Proxmox VE 7.4。
背景:我有一个带有 3 个节点的 Proxmox VE 家庭实验室。我最近决定迁移 10gbps 网络。
每个节点配置如下:
- 两个 1gbps 端口(内置,Broadcom BCM5716) -
eno1
以及eno2
- 两个 10gps 端口 (PCIE,Broadcom BCM57810) -
enp3s0f0
以及enp30f1
- 五座网络桥梁
- 内核是 PVE 5.15.108-1
每个网桥都有一个网桥端口,它是节点上某个物理端口的子接口。最初配置如下:
┌─────────────────┐ ┌────────────┐ ┌───────────────────┐
│ cisco switch │ Trunks │ eno1 │ │ vmbr10 Admin │
│ ├────┬───────►│ ├────┬───────►│ eno1.10 │
│ │ │ │ │ │ │ IP.10.0.0.4x/24 │
│ │ │ │ │ │ │ GW.10.0.0.1 │
└─────────────────┘ │ └────────────┘ │ └───────────────────┘
│ │
│ │ ┌───────────────────┐
│ │ │ vmbr20 Secured │
│ ├───────►│ eno1.20 │
│ │ │ │
│ │ │ │
│ │ └───────────────────┘
│ │
│ │ ┌───────────────────┐
│ │ │ vmbr21 Insecure │
│ ├───────►│ eno1.21 │
│ │ │ │
│ │ │ │
│ │ └───────────────────┘
│ │
│ │ ┌───────────────────┐
│ │ │ vmbr100 ISP │
│ └───────►│ eno1.100 │
│ │ │
│ │ │
│ └───────────────────┘
│
│ ┌────────────┐ ┌───────────────────┐
│ │ eno2 │ │ vmbr101 Ceph │
└───────►│ ├────────────►│ eno2.101 │
│ │ │ IP.10.0.101.4x/24 │
│ │ │ │
└────────────┘ └───────────────────┘
vmbr10
从那时起,除了使用新的 10gps 卡之外,我可以改变一切:
┌─────────────────┐ ┌────────────┐ ┌───────────────────┐
│ cisco switch │ Trunks │ eno1 │ │ vmbr10 Admin │
┌────►│ ├────┬───────►│ ├────────────►│ eno1.10 │
│ │ │ │ │ │ │ IP.10.0.0.4x/24 │
│ │ │ │ │ │ │ GW.10.0.0.1 │
│ └─────────────────┘ │ └────────────┘ └───────────────────┘
│ │
│ │ ┌────────────┐
│ │ │ eno2 │
│ └───────►│ │
│ │ │
│ │ │
│ └────────────┘
│
│ ┌─────────────────┐ ┌────────────┐ ┌───────────────────┐
│ │ mikrotik switch │ Trunks │ enp3s0f0 │ │ vmbr20 Secured │
└────►│ ├────┬───────►│ ├─────┬──────►│ enp3s0f0.20 │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
└─────────────────┘ │ └────────────┘ │ └───────────────────┘
│ │
│ │ ┌───────────────────┐
│ │ │ vmbr21 Insecure │
│ ├──────►│ enp3s0f0.21 │
│ │ │ │
│ │ │ │
│ │ └───────────────────┘
│ │
│ │ ┌───────────────────┐
│ │ │ vmbr100 ISP │
│ └──────►│ enp3s0f0.100 │
│ │ │
│ │ │
│ └───────────────────┘
│
│ ┌────────────┐ ┌───────────────────┐
│ │ enp3s0f1 │ │ vmbr101 Ceph │
└───────►│ ├────────────►│ enps30f1.101 │
│ │ │ IP.10.0.101.4x/24 │
│ │ │ │
└────────────┘ └───────────────────┘
切换vmbr10
到使用enp3s0f0
会立即导致连接中断,并且系统将无法在该 VLAN 上通信,直到我手动重新添加到eno1.10
字段bridge-ports
。它可以配置为bridge-ports eno1.10 enp3s0f0.10
但只能使用eno1.10
。
STP 未启用,并且这些网桥未学习任何 MAC 地址。
这不仅限于 Proxmox 服务,还影响一切,包括 SSH 和 ping - 这让我认为这是一个行为/配置问题。
我已经检查并尝试过:
- 更改
bridge-ports
然后重启 - 用于
tcpdump
检查物理接口上的流量并enp3s0f0
接收节点的 VLAN10 流量 - 用于
tcpdump
检查流量vmbr10
- 仅显示广播 ARP 请求 - 用于
brctl
检查端口状态,forwarding
- 检查
iptables
和ebtables
- 我不使用任何一种,并且所有链/表都处于默认接受状态,并且没有任何规则
作为参考,这里是当前内容/etc/network/interfaces
- 这是由 Proxmox VE 的网络配置编辑器生成的。
auto lo
iface lo inet loopback
iface eno1 inet manual
iface eno2 inet manual
iface enp3s0f0 inet manual
iface enp3s0f1 inet manual
auto vmbr10
iface vmbr10 inet static
address 10.0.0.41/24
gateway 10.0.0.1
bridge-ports eno1.10
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VLAN 10 Admin
auto vmbr100
iface vmbr100 inet manual
bridge-ports enp3s0f0.100
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VLAN 10 ISP
auto vmbr101
iface vmbr101 inet static
address 10.0.101.41/24
bridge-ports enp3s0f1.101
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VLAN 101 Ceph Backend
auto vmbr20
iface vmbr20 inet manual
bridge-ports enp3s0f0.20
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VLAN 20 Trusted
auto vmbr21
iface vmbr21 inet manual
bridge-ports enp3s0f0.21
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VLAN 21 Untrusted
有人对如何进一步调试这个问题有什么建议吗?