我有一个红帽企业 Linux 6.3 vm (VMware vsphere)。
我从两个接口创建了一个绑定,它可以工作,但只有在活动时才eth0
有效。当我使用ifdown eth0
或echo -eth0 > /sys/class/net/bond0/bonding/slaves
失去与绑定的网络连接时。
我可以在 cat 上看到/proc/net/bond0
这两个接口处于绑定状态,并且当eth1
处于活动状态时它不起作用。
如果我eth0
再次添加它仍然不起作用,因为 eth1 是活动的。仅当我删除并读取它eth1
的键时它才起作用(使eth0
激活)
绑定当然处于容错模式。
奇怪的是,如果我eth1
从键中删除并将其定义为一个简单的接口,它就可以正常工作!
我尝试重新启动(很多次),但在网上找不到任何帮助。我什至尝试删除接口(从 VMware 端)并添加一个新接口,但这并没有帮助。有人知道吗?
有些命令可能不准确,因为我是用我的记忆从手机上写的,但我想你知道我的意思,只是不要暗示错字或语法错误是问题所在。
提前致谢
我解决了。Linux 端一切正常。
问题出在VMware方面:端口组的安全设置是拒绝MAC地址更改,一旦我将其更改为接受它就可以了。
此设置一旦设置为拒绝,就不允许 VM 使用与 vSphere 提供的 MAC 地址不同的 MAC 地址。
使用绑定时,即使在其他 NIC 失败时,MAC 也会保持不变。因此,在我的情况下,绑定 MAC 设置为与 eth0 一样,一旦故障转移到 eth1,MAC 就保持不变 - 这与 eth1 的“物理”MAC 不同,因此被 vswitch 拒绝。