我剛剛將運行 Debian Buster 的 NAS 升級到 Debian Bullseye。這包括核心從 4.19.0 升級到 5.9.0,以及 systemd 從 241 升級到 247.1(系統使用 systemd-networkd 進行設定)。
網路配置比較複雜:
eno1/eno2:雙埠Intel I210板載千兆乙太網路(使用igb驅動)
main:使用 eno1/eno2 作為實體連結的 802.3ad 綁定介面
vlan60/vlan63:使用 main 作為基礎的 vlan 子接口
main
、vlan60
、 和上都有 IPv4 和 IPv6 位址,但或vlan63
上沒有位址。eno1
eno2
所有介面均使用預設 MAC 位址模式,即所有 5 個介面均使用 的內建 MAC 位址eno1
。在嘗試解決此問題時,我在 上配置了本地管理的 MAC 位址vlan60
,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 時,問題就消失了。
可能是內核問題。只要升級到新版本的核心就不會出現問題了。