我有一台红帽企业 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 端)并添加一个新界面,但这没有帮助。有人知道吗?
有些命令可能不准确,因为我是用手机用记忆写的,但我想你知道我的意思,只是不要认为问题在于拼写错误或语法错误。
提前致谢
答案1
我解决了。Linux 端一切正常。
问题出在 VMware 方面:端口组的安全设置是拒绝 MAC 地址更改,一旦我将其更改为接受,它就可以正常工作。
一旦将此设置设为拒绝,则不允许虚拟机使用与 vSphere 提供的 MAC 地址不同的 MAC 地址。
使用绑定时,即使其他 NIC 发生故障,MAC 也保持不变。因此,在我的情况下,绑定 MAC 设置为与 eth0 相同,一旦故障转移到 eth1,MAC 就会保持不变 - 这与 eth1 的“物理”MAC 不同,因此被 vswitch 拒绝。