Объеденение двух сетевых интерфейсов в один в терминологии Windows называется teaming, а в терминологии Linux — bonding. Этот режим может использоваться для повышения отказоустойчивости и/или пропускной способности сетевого подключения.
Linux поддерживает несколько режимов агрегации интерфейсов:
- 0 (balance-rr) — round-robin распределение пакетов между интерфейсами. Обеспечивает отказоустойчивость и повышение пропускной способности.
- 1 (active-backup) — в каждый момент времени работает только один интерфейс, в случае его выхода из строя, mac-адрес назначается второму интерфейсу и трафик переключается на него.
- 2 (balance-xor) — обеспечивает балансировку между интерфейсами на основании MAC-адресов отправителя и получателя.
- 3 (broadcast) — отправляет пакеты через все интерфейсы одновременно, обеспечивает отказоустойчивость.
- 4 (802.3ad) — обеспечивает агрегацию на основании протокола 802.3ad.
- 5 (balance-tlb) — в этом режиме входящий трафик приходит только на один «активный» интерфейс, исходящий же распределяется по всем интерфейсам.
- 6 (balance-alb) — балансирует исходящий трафик как tlb, а так же входящий IPv4 трафик используя ARP.
Настроим агрегацию сетевых интерфейсов eth0 и eth1 в один bond0, используя round-robin алгоритм балансировки пропускной способности.
Установим ifenslave:
root@localhost:~$ apt-get install ifenslave-2.6
Далее нужно привести конфиг /etc/network/interfaces примерно к такому виду:
auto bond0
iface bond0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
Создаем файл /etc/modprobe.d/bonding.conf:
alias bond0 bonding
options bonding mode=0 miimon=100 downdelay=200 updelay=200
Добавляем модуль bonding в /etc/modules:
root@localhost:~$ echo "bonding" >> /etc/modules
Перезапускаем службу настройки сети:
root@localhost:~$ invoke-rc.d networking restart
Если все получилось, выглядеть должно примерно так:
root@localhost:~$ ifconfig
bond0 Link encap:Ethernet HWaddr 00:1e:58:99:f2:a0
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:6533845 errors:0 dropped:0 overruns:0 frame:0
TX packets:6583132 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3584238626 (3.3 GiB) TX bytes:5339636447 (4.9 GiB)
eth0 Link encap:Ethernet HWaddr 00:1e:58:99:f2:a0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:3741006 errors:0 dropped:0 overruns:0 frame:0
TX packets:3291562 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1893688937 (1.7 GiB) TX bytes:2677192063 (2.4 GiB)
Interrupt:21
eth1 Link encap:Ethernet HWaddr 00:1e:58:99:f2:a0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2792839 errors:0 dropped:0 overruns:0 frame:0
TX packets:3291570 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1690549689 (1.5 GiB) TX bytes:2662444384 (2.4 GiB)
Interrupt:28 Base address:0xa000
Мысль на тему “Агрегация сетевых интерфейсов в Debian Lenny”
Большооое спасибо!) пол дня просидел, перепробовал множество методов) но только этот метод сработал :D
P.S ubuntu server 12.10.2