Подробный гайд по агрегации каналов (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.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.