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