Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 2

Практический гайд по агрегации каналов (bonding) в Debian 13. Настройка режимов LACP и active-backup через ifupdown, nmcli и systemd-networkd.

2026.09.29                  


Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 2Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 2

7. Пример: active-backup с DHCP

Файл:

nano /etc/network/interfaces.d/bond0

Содержимое:

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto bond0
iface bond0 inet dhcp
    bond-mode active-backup
    bond-miimon 100
    bond-primary enp3s0
    bond-slaves enp3s0 enp4s0

Применение:

ifdown enp3s0 || true
ifdown enp4s0 || true
ifup bond0

Проверка:

ip -br addr show bond0
cat /proc/net/bonding/bond0



8. Пример: 802.3ad / LACP со статическим IP

Режим 802.3ad используется, если коммутатор поддерживает LACP. На коммутаторе порты должны быть объединены в LACP-агрегацию.

Примеры названий у вендоров:

  • Cisco: channel-group ... mode active
  • Juniper: aggregated-ether-options lacp active
  • Linux bridge / OVS: LACP configuration
  • MikroTik: bonding с LACP
  • Arista, HPE, Dell и другие: порт-каналы / LAG / LACP

Конфигурация в Debian:

nano /etc/network/interfaces.d/bond0

Содержимое:

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto bond0
iface bond0 inet static
    address 10.0.0.10/24
    gateway 10.0.0.1
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate fast
    bond-xmit-hash-policy layer3+4
    bond-min-links 1
    bond-slaves enp3s0 enp4s0

Пояснения:

  • bond-mode 802.3ad — режим LACP;
  • bond-lacp-rate fast — более быстрые LACPDU;
  • bond-xmit-hash-policy layer3+4 — хеширование по IP и портам, обычно лучше для TCP/UDP;
  • bond-min-links 1 — интерфейс поднимается, если активен хотя бы один линк.

Применение:

ifdown enp3s0 || true
ifdown enp4s0 || true
ifup bond0

Проверка:

cat /proc/net/bonding/bond0

Для 802.3ad важно видеть:

Bonding Mode: IEEE 802.3ad Dynamic link aggregation

И примерно корректное состояние агрегатора:

Aggregator ID: 1
Partner Mac Address: aa:bb:cc:dd:ee:ff

Если Aggregator ID у разных интерфейсов различается или Partner Mac Address отсутствует, скорее всего проблема на стороне коммутатора или в настройке LACP.


9. Пример: balance-xor для статической агрегации

Если коммутатор поддерживает статический LAG без LACP, можно использовать balance-xor.

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto bond0
iface bond0 inet static
    address 10.0.0.10/24
    gateway 10.0.0.1
    bond-mode balance-xor
    bond-miimon 100
    bond-xmit-hash-policy layer3+4
    bond-slaves enp3s0 enp4s0

10. Пример: bond + VLAN

Если поверх агрегированного канала нужно пропускать VLAN, настраивайте VLAN уже поверх bond0.

Пример для VLAN 100:

auto bond0
iface bond0 inet manual
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate fast
    bond-xmit-hash-policy layer3+4
    bond-slaves enp3s0 enp4s0

auto bond0.100
iface bond0.100 inet static
    address 10.100.0.10/24
    gateway 10.100.0.1
    vlan-raw-device bond0

Для этого может потребоваться пакет:

apt install vlan

И загруженный модуль:

modprobe 8021q

Для постоянной загрузки модуля:

echo 8021q > /etc/modules-load.d/8021q.conf

11. Пример: bond как порт для bridge

Если нужно, чтобы bond0 был членом моста, например для виртуализации, настройте мост так:

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto bond0
iface bond0 inet manual
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate fast
    bond-xmit-hash-policy layer3+4
    bond-slaves enp3s0 enp4s0

auto br0
iface br0 inet static
    address 192.168.10.10/24
    gateway 192.168.10.1
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0

В этом случае IP назначается на br0, а не на bond0.


12. Применение конфигурации ifupdown

Варианты:

Поднять только bond

ifup bond0

Перезапустить networking

Только при наличии консольного доступа:

systemctl restart networking

Проверить конфигурацию

ifquery bond0

или:

ifquery bond0 --verbose

Если установлен ifupdown2, можно использовать:

ifreload -a

Но в стандартном Debian чаще используется классический ifupdown.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта