我正在尝试在 Lubuntu 20.04 LTS 中设置 Bonding。我有板载 NIC 和一个带有另外两个 NIC 的 PCI 卡。
所有三个端口都应连接到 Ubiquiti 交换机 US-8-60W,这三个端口已配置为聚合端口(应支持 802.3ad)。
我在 /etc/network/interfaces 中的配置如下所示:
auto lo
iface lo inet loopback
auto enp0s31f6
iface enp0s31f6 inet manual
bond-master bond0
auto enp6s0
iface enp6s0 inet manual
bond-master bond0
auto enp7s0
iface enp7s0 inet manual
bond-master bond0
auto bond0
iface bond0 inet static
address 192.168.1.11
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 192.168.1.1
bond-mode 4
bond-miimon 100
bond-xmit-hash-policy layer2+3
bond-slaves enp0s31f6 enp6s0 enp7s0
如果仅一根电缆连接到 enp0s31f6(板载 NIC),则一切正常*。当我连接第二根电缆时,网络在半分钟左右后开始出现故障。有点难以描述,有时无法上网,但仍能 ping 通路由器,有时 ping 路由器也不起作用。在所有情况下,我都无法再从任何其他计算机访问计算机 192.168.1.11。
一旦我断开第二个端口,一切都会恢复正常。
* 当我说“正确”时,仅使用一根电缆时有一件事仍然很奇怪。我有一些具有静态 IP 和桥接模式的虚拟机(Virtualbox)。如果我选择 bond0 作为网络适配器,我无法从外部访问虚拟机(来自虚拟机的流量有效)。当我将适配器切换到 enp0s31f6 时,我可以再次访问虚拟机。
答案1
事实证明,这是一个有故障的网卡!
是一张新卡,但不知何故端口一直在向上/向下切换。我更换了另一张卡,上面的配置没有任何问题!
我唯一需要改变的就是设置bond-xmit-hash-policy
为layer2
。