апреля 7 2010 11:08 дп

Объединение сетевых интерфейсов при помощи bonding

В этой статье я опишу как объединить два физических сетевых интерфейса в один, для увеличения пропускной способности, или повышения отказоустойчивости сети. В Linux это делается при помощи bonding и утилиты ifenslave. В большинстве новых версий дистрибутивов модуль ядра bonding уже есть и готов к использованию, в некоторых вам придется собрать его вручную. Я настраивал данное решение на Ubuntu 8.04 server amd64, поэтому примеры установки ПО взяты оттуда.


Установим нужное По

Код:

aptitude install ifenslave ethtool

Затем добавим модуль bonding в автозагрузку и пропишем опции для его запуска, для этого в конец файла /etc/modprobe.d/options добавим текст из примера ниже, примеров будет два, для создания одного интерфейса из двух физических, и для создания двух интерфейсов из четырех физических. Подробнее о режимах работы bonding можно почитать здесь: http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
Пример для одного виртуального интерфейса из двух физических

Код:

alias bond0 bonding
options bonding mode=0 miimon=100

Пример для создания двух интерфейсов из четырех физических

Код:

alias bond0 bonding
alias bond1 bonding
options bonding mode=0 miimon=100 max_bonds=2

Затем загрузим модуль bonding

Код:

## Один виртуальный интерфейс
modprobe bonding mode=0 miimon=100
## Два виртуальных интерфейса
modprobe bonding mode=0 miimon=100 max_bonds=2

Настроим параметры сетевых интерфейсов bonding’a, для этого отредактируем файл настроек интерфейсов /etc/network/interfaces. В примере шаблоны для настройки двух виртуальных интерфейсов.

Код:

# The bond0 network interface
 auto bond0
 allow-hotplug bond0
 iface bond0 inet static
        address <ip-address>
        netmask <netmask>
        network <network-address>
        broadcast <broadcast-address>
        gateway <gateway-address>
        dns-nameservers <nameserver-one> <nameserver-two>
        dns-search <domain-name>
        up /sbin/ifenslave bond0 eth0
        up /sbin/ifenslave bond0 eth1

 # The bond1 network interface
 auto bond1
 allow-hotplug bond1
 iface bond1 inet static
        address <ip-address>
        netmask <netmask>
        network <network-address>
        broadcast <broadcast-address>
        gateway <gateway-address>
        dns-nameservers <nameserver-one> <nameserver-two>
        dns-search <domain-name>
        up /sbin/ifenslave bond1 eth2
        up /sbin/ifenslave bond1 eth3

Более подробно по опциям файла /etc/network/interfaces вы можете прочитать выполнив команду man interfaces

После того как вы прописали настройки интерфейсов перезапустите сеть командой /etc/init.d/networking restart и проверьте, поднялись ли интерфейсы bond0, и если вы настраивали два, то bond1.
На этом настройка закончена.

Popularity: 6%





3 Комментариев »


3 Responses to “Объединение сетевых интерфейсов при помощи bonding”

  1. Tweets that mention Объединение сетевых интерфейсов при помощи bonding | Stepanoff Home Network -- Topsy.com on 08 Апр 2010 at 11:22 #

    [...] This post was mentioned on Twitter by Максим Степанов. Максим Степанов said: New blog post: Объединение сетевых интерфейсов при помощи bonding http://bit.ly/aVWmQM [...]

  2. gosha on 16 Апр 2010 at 11:15 #

    Доброго времени суток, извиняюсь за офтом, но у метя такой вопрос а если вот к примеру есть машинка у неё 2 интерфейса сетевых вот с 2 каналами от разных провов, все крутится и откликается на 1 интерфейсе , но вот получается что 1 интерфейс отваливается (ну там у прова проблемы или на линии вообщем в таком плане) вот как сделать так чтоб все переключалось автоматом на 2 интерфейс и теперь работало с него ?

  3. Максим Степанов on 16 Апр 2010 at 17:38 #

    Как то так http://www.opennet.ru/base/net/int_switcher.txt.html

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


Самые популярные статьи

  • Установка Samba сервера на Ubuntu или Debian за 5 минут
  • Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO
  • Установка почтового сервера Postfix + Dovecot + MYSQL и виртуальных доменов
  • Установка и настройка Open VPN сервера на Debian и Ubuntu
  • Настройка маршрутизации в Ubuntu Linux для начинающих
  • Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH
  • Установка и настройка DHCP сервера
  • Настройка шлюза в локальной сети, лимитирование скорости (shaper), фаервол (iptables).
  • Установка и настройка VSFTPD + MYSQL (Ubuntu & Debian)
  • Настройка ограничения и распределения канала (HTB Shaper)
  • Настройка sudo в Debian GNU/Linux и Ubuntu Linux
  • Установка и настройка L2TP сервера xl2tpd или l2tpd
  • Mail.ru Агент в Linux
  • Установка хостинг панели ISPConfig 3 на Ubuntu 9.04
  • Как установить LDAP сервер и его клиентов. (ldap linux debian & ubuntu auth)
  • Подробное руководство по настройке wifi соединения с шифрованием разных типов
  • Установка apache2.2.x во FreeBSD 7.0
  • Сетевые утилиты онлайн - NSLOOKUP
  • IP телефония в Ubuntu или Debian на базе Asterisk за 15 минут
  • Различия в ядрах Ubuntu Server и Ubuntu Desktop
  • Linux в роли WI-FI точки доступа
  • Игры в Linux
  • Установка Ubuntu на RAID-1 диски
  • Ставим и настраиваем XEN сервер
  • Настройка рабочего стола Ubuntu, или как догнать и перегнать Windows!
  • Установка Nginx, PHP5, FastCGI, XCache и MySQL на Ubuntu
  • Открылся русскоязычный Linux торрент трекер
  • Настройка маршрутизации с помощью Quagga (zebra)
  • HDR обои на рабочий стол 1920×1200
  • Обзор Jabber клиентов для Linux, FreeBSD и Mac OS и других систем

  • « | »

    Рейтинг блогов Rambler's Top100
    службы мониторинга серверов