Назад | Перейти на главную страницу

Распределение MAC-адресов для интерфейса с привязкой к каналу

Я настроил связывание каналов (на RHEL / CentOS) с опцией balance-alb (mode = 6):

BONDING_OPTS="mode=balance-alb miimon=100 updelay=200 downdelay=200"

который работает нормально и в соответствии с /proc/net/bonding/bond0, активный ведомый eth1.

[root@baba ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:19:00:00:00:fb

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:06:11:11:11:3b

(Я намеренно заменил средние биты MAC на 00 и 11)

Теперь, согласно ifconfig, назначение MAC-адресов для eth0 и eth1 отличается (от вышеприведенного вывода) - они переключаются.

[root@baba ~]# ifconfig | sed -n '/^[a-z]*[0-9]/p'
bond0     Link encap:Ethernet  HWaddr 00:19:00:00:00:FB  
eth0      Link encap:Ethernet  HWaddr 00:06:11:11:11:3B  
eth1      Link encap:Ethernet  HWaddr 00:19:00:00:00:FB  

Кто-нибудь знает, почему я это вижу или как это работает? Заранее спасибо. Ура !!

1) eth0 присоединяется к бонду, и бонд принимает MAC-адрес eth0.

2) eth1 присоединяется к связи.

3) По какой-то причине eth1 становится активным ведомым устройством, и наблюдается следующее поведение:

If the receiving slave fails, another slave
takes over the MAC address of the failed
receiving slave.

Источник: https://www.kernel.org/doc/Documentation/networking/bonding.txt

Смена MAC-адреса работает, как ожидалось.