Для объединения (агрегирования) каналов, в Linux используется драйвер bonding. О том как заставить работать это дело в Debian, я попытаюсь кратко описать здесь.
Debian 5 (Lenny)
Для начала установим пакет ifenslave. Он нам понадобится для объединения интерфейсов.
aptitude install ifenslave
alias bond0 bonding
options bonding mode=2 miimon=100
Здесь мы устанавливаем режим работы виртуального интерфейса и период опроса объединяемых интерфейсов на предмет наличия соединения.Параметр
mode
может принимать следующие значения:- 0 (balance-rr) - Последовательно кидает пакеты, с первого по последний интерфейс.
- 1 (active-backup) - Один из интерфейсов активен. Если активный интерфейс выходит из строя, другой интерфейс заменяет активный. Данный режим не требует дополнительной настройки коммутатора.
- 2 (balance-xor) - Передачи пакетов распределяются между интерфейсами на основе формулы
((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов
. Один и тот же интерфейс работает с определённым получателем. Этот режим даёт балансировку нагрузки и отказоустойчивость. - 3 (broadcast) - Все пакеты на все интерфейсы.
- 4 (802.3ad) - Link Agregation - IEEE 802.ad. Требуется дополнительная настройка коммутатора.
- 5 (balance-tlb) - Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Данный режим не требует дополнительной настройки коммутатора.
- 6 (balance-alb) - Тоже самое что и 5, но в данном режиме так же и входящий трафик распределяется между интерфейсами. Данный режим не требует дополнительной настройки коммутатора, но интерфейсы должны уметь изменять MAC.
miimon
указывается в миллисекундах. Если указать 0, то интерфейсы опрашиваться не будут. Рекомендуется указывать значение равное 100 и далее корректировать его в зависимости от своих потребностей.Теперь редактируем файл настроек сетевых интерфейсов /etc/network/interfaces, добавляем в него следующие строки
auto bond0
iface bond0 inet static
address 192.168.255.253
netmask 255.255.255.255
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
Здесь меняем значения адреса и маски на угодную вам, так же не забываем изменить имена интерфейсов ethX на те, которые будете использовать.Debian 7 (Wheezy)
Для этой версии Debian, процедура bonding'а немного другая. Здесь нет необходимости прописывать алиасы в modprobe.d. Достаточно установить пакет ifenslave и внести изменения в /etc/network/interfaces
auto bond0
iface bond0 inet static
address 192.168.255.253
netmask 255.255.255.255
bond_mode balance-xor
bond_miimon 100
Комментариев нет:
Отправить комментарий