我全新安装了 Debian 11 并进行了桥接设置:
auto br0
iface br0 inet dhcp
bridge_ports eno1
我期望的是 br0 与 eno1 具有相同的 MAC 地址,但它得到一个随机生成的地址。我可以通过手动分配 MAC 来修复该行为,hwaddress ether aa:bb:cc:dd:ee:ff
但我不明白该行为,在我的其他主机上,我不必手动设置地址。为什么会发生这种情况?
答案1
我期望的是 br0 与 eno1 具有相同的 MAC 地址
这种期望是错误的:网桥的每个端口都有自己的 MAC 地址,与所有其他地址不同,并且br0
只是面向“内部”的端口。
任何硬件交换机都将具有相同的设置。
但它得到一个随机生成的
确切地。这是正确的行为。
我可以通过手动分配 MAC 来修复该行为
如果您将与 eno1 相同的 MAC 分配给 br0,那么您就搞砸了生成树算法,因此请务必确保在涉及该网桥的网络中不会出现环路或冗余连接。
在我的其他主机上,我不必手动设置地址。
您还在谈论哪些其他主机?如果它们的默认行为是有两个具有相同 MAC 地址的网桥端口,那么该行为就会被破坏。
答案2
这是因为 debian 的接口文件是按字母顺序排列的。这意味着 br0 在 eno1 之前启动,并且没有 mac 可以克隆。将接口 eno1 定义与 br0 定义放入同一文件中,但位于 br0 定义之上 - 它从文件顶部到底部提升接口