В настоящее время у меня есть 2-гигабитные сетевые интерфейсы, связанные как bond0. Возможно ли, чтобы подчиненным интерфейсам eth0 и eth1 были назначены IP-адреса, и трафик перенаправлялся напрямую на любой из них, как если бы они не были закреплены в настройке связывания?
Я использую режим связывания balance-alb, а интерфейс eth1 разделяет MAC-адрес с bond0.
ifconfig выглядит следующим образом:
bond0 Link encap:Ethernet HWaddr 00:1e:c9:b8:61:3e
inet addr:x.x.x.x Bcast:x.x.x.255 Mask:255.255.255.0
inet6 addr: fe80::21e:c9ff:feb8:613e/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:27055 errors:0 dropped:0 overruns:0 frame:0
TX packets:1181 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1764025 (1.6 MiB) TX bytes:96662 (94.3 KiB)
eth0 Link encap:Ethernet HWaddr 00:1e:c9:b8:61:3c
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:11258 errors:0 dropped:0 overruns:0 frame:0
TX packets:506 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:723893 (706.9 KiB) TX bytes:33394 (32.6 KiB)
Interrupt:16 Memory:f8000000-f8012800
eth1 Link encap:Ethernet HWaddr 00:1e:c9:b8:61:3e
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:15797 errors:0 dropped:0 overruns:0 frame:0
TX packets:675 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1040132 (1015.7 KiB) TX bytes:63268 (61.7 KiB)
Interrupt:16 Memory:f4000000-f4012800
/ etc / network / interfaces выглядит следующим образом:
auto bond0
iface bond0 inet static
address x.x.x.x
gateway x.x.x.254
broadcast x.x.x.255
netmask 255.255.255.0
up /sbin/ifenslave bond0 eth1 eth0
down /sbin/ifenslave -d bond0 eth1 eth0
Некоторая предыстория того, почему я хотел бы сделать это:
Изначально у меня была настройка с многоканальной маршрутизацией с использованием правил iproute2, но исходящее соединение, похоже, работает намного лучше. К сожалению, я не могу добиться улучшения производительности ни в одном из режимов связывания для входящего трафика.
Эта настройка с многоканальной маршрутизацией, похоже, нормально работала для входящего, конечно, не такого улучшения производительности, которое я получил от связывания исходящего трафика, но лучше, чем 1 Гбит.
Так что я пытаюсь достичь лучшего из обоих миров.
Это возможно?
Еще один быстрый вопрос, почему балансировка входящего / принимаемого никогда не работает на balance-alb? Похоже, это единственное преимущество перед balance-tlb, и, похоже, он никогда не работает.
Балансировка нагрузки приема работает путем настройки ответов ARP, отправляемых каждому одноранговому узлу в домене Ethernet, таким образом, чтобы узлы распределялись по подчиненным интерфейсам. Это означает, что каждый партнер использует только один подчиненный интерфейс. Если вы общаетесь только с одним одноранговым узлом (которым может быть маршрутизатор), вы не будете использовать оба ведомых устройства для приема пакетов.
Я сомневаюсь, что назначение IP-адресов подчиненным сработает, потому что модуль связывания довольно агрессивен и выполняет такие действия, как перехват ARP-ответов. Вы всегда можете протестировать это и сообщить нам об этом ;-)