Ссылки:
1 2 3 4 5 |
https://nextheader.net/2016/10/17/link-aggregation-between-juniper-and-linux/ https://askubuntu.com/questions/1112288/netplan-configuring-2-vlan-on-same-bonding https://habr.com/ru/post/58218/ ## error An illegal loopback occurred on adapter https://support.mellanox.com/s/article/MLNX2-117-999kn |
Необходимо поставить пакет:
1 2 |
apt-get install ifenslave apt-get install ifupdown |
Проверяем:
1 2 3 4 |
lsmod | grep bonding modprobe bonding ip link show cat /proc/net/bonding/bond0 |
Опция в ядре linux:
1 |
CONFIG_BONDING=m |
Режимы bond:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
mode=0 (balance-rr) Последовательно кидает пакеты, с первого по последний интерфейс. mode=1 (active-backup) Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора mode=2 (balance-xor) Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость. mode=3 (broadcast) Все пакеты на все интерфейсы mode=4 (802.3ad) !!! В случае ошибок (An illegal loopback occurred on adapter) поменяй на другой режим, например (mode 1). Link Agregation — IEEE 802.3ad, требует от коммутатора настройки. mode=5 (balance-tlb) Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Не требует настройки коммутатора. mode=6 (balance-alb) Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC. |
Пример конфига /etc/network/interfaces для bond:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
auto eth1 iface eth1 inet manual bond-master bond0 auto eth2 iface eth2 inet manual bond-master bond0 auto bond0 iface bond0 inet static address 10.10.12.2 netmask 255.255.255.0 #bond-mode 802.3ad bond-mode 4 bond-miimon 100 bond-lacp-rate 1 bond-slaves eth1 eth2 |
Пример конфига /etc/network/interfaces для bond (debian 11 202207):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Наблюдалась проблема работы режимов 4 и 802.3ad, перевел на bond 1 source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback auto bond0 iface bond0 inet static address 10.0.0.2/24 bond-mode 1 bond-miimon 100 bond-lacp-rate 1 bond-slaves ens4 ens5 |
Проверка работы bon0
1 |
cat /proc/net/bonding/bond0 |
Бонд в режиме балансировки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
auto bond0 iface bond0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 bond-slaves eth0 eth1 bond-mode 802.3ad bond-miimon 100 bond-xmit-hash-policy layer3+4 auto eth0 iface eth0 inet manual bond-master bond0 auto eth1 iface eth1 inet manual bond-master bond0 |