我刚刚将运行 Debian Buster 的 NAS 升级到 Debian Bullseye。这包括将内核从 4.19.0 升级到 5.9.0,并将 systemd 从 241 升级到 247.1(系统使用 systemd-networkd 进行配置)。
网络配置中等复杂度:
eno1/eno2:双端口 Intel I210 板载千兆以太网(使用 igb 驱动程序)
主要:802.3ad 绑定接口使用 eno1/eno2 作为物理链路
vlan60/vlan63:使用 main 作为基础的 vlan 子接口
main
、vlan60
和都具有 IPv4 和 IPv6 地址,但和vlan63
上没有地址。eno1
eno2
所有接口都使用默认 MAC 地址模式,这意味着所有五个接口都使用 的内置 MAC 地址eno1
。在尝试解决此问题时,我在vlan60
和上配置了本地管理的 MAC 地址vlan63
,但这没有帮助(事实上,它破坏了 上的 IPv6 支持main
,但我从未弄清楚原因)。
使用 Buster 配置,一切正常。升级到 Bullseye 后,一切main
正常,但vlan60
不vlan63
发送或接收任何流量。往返于其地址的内部流量正常,但外部流量不正常。
在尝试排除故障时,我开始tcpdump
了vlan63
,并立即注意到流量开始流动。停止数据包捕获导致流量再次停止流动。
目前,我已通过执行 和 启动ip link eno1 set promisc on
并运行系统ip link eno2 set promisc on
,所有接口都顺利传输流量。无需在更高级别的接口上启用混杂模式,只需在物理接口上启用即可。
如果不启用混杂模式,VLAN 子接口似乎不会从网络接收任何广播帧,因此导致 ARP 和 NDP 无法运行。
这些内核版本之间是否存在一些行为变化(我知道,有很多内核版本......)会影响这一点吗?
答案1
我不确定内核做了什么更改,但我在 Proxmox VE 7.0 (Debian 11) 上遇到了同样的问题,内核版本为 5.11.22-1。当我将内核版本升级到 5.11.22-3 时,问题就消失了。
可能是内核的问题,升级内核到新版本就没问题了。