bond сеть что такое

Совместное использование нескольких сетевых интерфейсов в Ubuntu, Debian.

Ядро linux идет со встроенным драйвером для агрегирования нескольких сетевых интерфейсов в один, называемый bond0. В данном руководстве будет объяснено как настроить данный интерфейс под debian-based системой на конкретном примере.

В примере используется следующее оборудование:

Рекомендуемое программное обеспечение.

Ifenslave используется для присоединения сетевых карт к bond-интерфейсу. Bond0 будет считаться в системе как обычный сетевой интерфейс, но будет посылать пакеты через присоединенные (slave) устройства, используя планировщик на алгоритме round-robin. Это позволит обеспечить простую и сбалансированную систему. Установим данное ПО с помощью команды:

apt-get install ifenslave*

Настройка Linux bounding драйвера.

Создадим файл /etc/modprobe.d/bonding.conf
nano /etc/modprobe.d/bonding.conf

Со следующим содержимым:
alias bond0 bonding
options bonding mode=0 arp_interval=100 arp_ip_target=192.168.1.254, 192.168.1.12

Сохраним и закроем файл. В данном случае опции обозначают:

Настройка сетевых интерфейсов на совместное использование.

Первым делом остановим eth0 и eth1 (не делайте так в ssh сессии):
/etc/init.d/networking stop

Отредактируем /etc/network/interfaces, сделав его резервную копию (на всякий случай):
cp /etc/network/interfaces /etc/network/interfaces.bak
nano /etc/network/interfaces

Удалив из содержимого eth0 и eth1 конфигурацию и приведя файл к следующему виду:

Сохраняем и выходим. В данном случае опции означают:

Немного о других Bonding Policies.

Чуть выше мы установили bounding policy (mode) в значение 0, что означает balance-rr. Другие значения могут быть:

Запуск bond0 интерфейса.

После внесения всех изменений в конфигурационные файлы необходимо запустить или перезапустить сервисы сети:
/etc/init.d/networking restart

или перезагрузка хоста.

Проверка работы.

Вводим в терминал следующую команду:
ifconfig

Вывод будет примерно следующим:

Используем cat, чтобы посмотреть текущее состояние bond драйвера и сетевых соединений:

В случае успеха вывод будет примерно следующим:

Автор статьи Platon Puhlechev aka iFalkorr разрешает печатать данный текст.

Источник

Объединение сетевых интерфейсов в Linux. Настройка bonding

Объединение сетевых интерфейсов(Bonding) – это механизм, используемый Linux-серверами и предполагающий связь нескольких физических интерфейсов в один виртуальный, что позволяет обеспечить большую пропускную способность или отказоустойчивость в случае повреждения кабеля. В данном руководстве мы разберем реализацию объединения интерфейсов в Linux для Ubuntu/Debian и CentOS/RHEL/Fedora.

Агрегация сетевых интерфейсов в Ubuntu и Debian

Важно! Если у вас используется Ubuntu версии 17.10 и выше, то необходимо установить пакет ifupdown или настраивать агрегацию каналов нужно через netplan

Прежде всего нужно установить модуль ядра для поддержки объединения и при помощи команды modprobe проверить, загружен ли драйвер.

В более старых версиях Debian или Ubuntu может потребоваться установка пакета ifenslave:

Для создания связанного интерфейса из двух физических сетевых карт вашей системы выполните следующую команду. К сожалению, при использовании такого метода объединение интерфейсов не сохраняется после перезагрузки системы:

Чтобы активировать объединенный интерфейс, перезапустите сетевую службу, отключите физические интерфейсы и включите объединенный интерфейс, либо перезагрузите машину, чтобы ядро определило новый объединенный интерфейс.

Настройки связанного интерфейса можно проверить при помощи следующих команд:

Подробную информацию об объединенном интерфейсе можно получить, просмотрев содержимое следующего файла ядра командой cat:

Для отладки ошибок можно использовать команду tail

Проверку параметров сетевой карты можно выполнить при помощи инструмента mii-tool:

Режимы работы

mode=0 (balance-rr)
При этом методе объединения трафик распределяется по принципу «карусели»: пакеты по очереди направляются на сетевые карты объединённого интерфейса. Например, если у нас есть физические интерфейсы eth0, eth1, and eth2, объединенные в bond0, первый пакет будет отправляться через eth0, второй — через eth1, третий — через eth2, а четвертый снова через eth0 и т.д.

mode=1 (active-backup)
Когда используется этот метод, активен только один физический интерфейс, а остальные работают как резервные на случай отказа основного.

mode=2 (balance-xor)
В данном случае объединенный интерфейс определяет, через какую физическую сетевую карту отправить пакеты, в зависимости от MAC-адресов источника и получателя.

mode=3 (broadcast) Широковещательный режим, все пакеты отправляются через каждый интерфейс. Имеет ограниченное применение, но обеспечивает значительную отказоустойчивость.

mode=4 (802.3ad)
Особый режим объединения. Для него требуется специально настраивать коммутатор, к которому подключен объединенный интерфейс. Реализует стандарты объединения каналов IEEE и обеспечивает как увеличение пропускной способности, так и отказоустойчивость.

mode=5 (balance-tlb)
Распределение нагрузки при передаче. Входящий трафик обрабатывается в обычном режиме, а при передаче интерфейс определяется на основе данных о загруженности.

mode=6 (balance-alb)
Адаптивное распределение нагрузки. Аналогично предыдущему режиму, но с возможностью балансировать также входящую нагрузку.

Объединение сетевых интерфейсов в CentOS, RHEL и Fedora

Такая строка в файле /etc/modprobe.d/bonding.conf требуется для каждого bond интерфейса.
Для агрегации интерфейсов создайте в директории /etc/sysconfig/network-scripts/ файл конфигурации с именем ifcfg-bond0. Вот пример содержимого файла конфигурации (IP-адреса в вашей системе могут отличаться):

После создания объединённого интерфейса нужно настроить его и связанные с ним сетевые карты, добавив в файлы конфигурации директивы MASTER и SLAVE. Для всех связанных интерфейсов эти файлы могут быть почти одинаковыми. Например, у двух интерфейсов eth0 и eth1, связанных в один, они могут иметь следующий вид. Отредактируйте их, как показано ниже.
Для eth0

Значение этих директив следующее:
DEVICE: определяет имя устройства
USERCTL: определяет, может ли пользователь управлять интерфейсом (в данном случае нет)
ONBOOT: определяет, включать ли интерфейс при загрузке
MASTER: есть ли у этого устройства ведущий интерфейс (здесь это bond0)
SLAVE: работает ли это устройство каки ведомое
BOOTPROTO: Определяет получение IP-адреса по DHCP. При статическом IP-адресе устанавливается значение none

Перезагрузите сетевую службу и проверьте конфигурацию командой ifconfig.

Заключение

Объединение сетевых интерфейсов — удобный и функциональный механизм для обеспечения качественной и бесперебойной работы вашей сети. Надеемся, данное руководство было полезным. Более подробную информацию об используемых командах можно получить в соответствующих man-страницах.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Бонд. Джеймс Бонд или объединение сетевых интерфейсов (бондинг)

Подобная статья уже была от автора AccessForbidden: «Объединение сетевых интерфейсов в linux».
Эта статья именно о настройке, и установке. Пишу её потому, что недавно столкнулся с проблемами установки и настройки бондинга.

Ситуация была такова: Был стааренький компьютер на четырёх-поточном пентиуме, с гигабайтом ОЗУ, и встроенным гигабитным интерфейсом на мат.плате. Он был мне как шлюзом, так медиацентром, и NAS’ом. Но вот, когда уже дома появилось N-ное количество девайсов (телевизор, смартфоны и компьютеры) пропускной способности начало не хватать. Но была у меня хорошая интеловская сетевая карточка (тоже гигабитная) и я решил погуглить на тему объединения интерфейсов

Вообще, Ethernet bonding (если быть точнее) — это объединение двух или более физических сетевых интерфейсов в один виртуальный для обеспечения отказоустойчивости и повышения пропускной способности сети. Или (простым языком говоря)Raid для сетевых карт. Только их «заточенность» на пропускную способность, на одинакового производителя- не важна

Ну, для начала, нужно убедится, нуждаетесь вы в этом или нет (скорее всего, если вы это читаете, значит вам это возможно нужно. ). Перед тем, как начнём, предупреждаю: делать нужно всё на сервере и от рута.

Итак, начнём!

Вставляем сет.карту, если не вставали. ну и подключаем к свитчу (коммутатору) или роутеру обе карты

Этап подготовки:

Теперь, нам нужно поставить ifenslave. на данный момент, актуальна версия 2.6. Ставим:

Теперь, нам нужно выключить интерфейсы, которые мы объединяем (в моём случае, это — eth0, eth1).

Ну и останавливаем сеть:

Этап настройки:

Теперь нам нужно настроить файл /etc/network/interfaces

(я лично пользуюсь «нано»).

Поскольку показываю, как делал я, у меня он

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0

auto eth1
iface eth1 inet dhcp

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

iface bond0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0

slaves eth0 eth1
bond-mode balance-rr
bond-miimon 100
bond-downdelay 200
bond-updelay 200

Хочу обратить ваше внимание на:

Первое — если у вас dhcp сервер, то в /etc/default/isc-dhcp-server, в Interfaces я указал bond0. так и с остальными серверами.
Второе — тоже про dhcp. если у вас оный сервер, то в address, netmask, network bond’а0, указываем те же параметры что и у интерфейса на который до этого, работал dhcp
Третье — должен быть только bond0 (0 — в данном случае. Кстати, их может быть куча). Интерфейсы, которые мы объединили написав в строку slaves, мы убираем.

После сделанного пишем (в терминале уже):

Только его!
«включаем» сеть. Кстати на ошибки можно не обращать внимания. Они не критичны.
Можем перезагрузится.

bond0 Link encap:Ethernet HWaddr 00:16:e6:4d:5e:05
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::216:e6ff:fe4d:5e05/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:33518 errors:0 dropped:0 overruns:0 frame:0
TX packets:30062 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6687125 (6.3 MiB) TX bytes:17962008 (17.1 MiB)

eth0 Link encap:Ethernet HWaddr 00:16:e6:4d:5e:05
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:16630 errors:0 dropped:0 overruns:0 frame:0
TX packets:15031 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3288730 (3.1 MiB) TX bytes:8966465 (8.5 MiB)
Interrupt:43 Base address:0x6000

eth1 Link encap:Ethernet HWaddr 00:16:e6:4d:5e:05
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:16888 errors:0 dropped:0 overruns:0 frame:0
TX packets:15031 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3398395 (3.2 MiB) TX bytes:8995543 (8.5 MiB)
Interrupt:17 Memory:e1080000-e10a0000

Можно ещё добавлять интерфейсы bond0:0 и т.д.

Подходящий для вас режим, указывайте в /etc/network/interfaces в строке: bond-mode.

Источник

Работа сетевых интерфейсов в режиме bonding

Если необходим стабильный доступ сервера к сети необходимо воспользоваться драйвером bonding. Bonding объединяет несколько сетевых интерфейсов в один виртуальный сетевой интерфейс. Есть несколько режимов работы: Active-backup – режим резервирования. В этом режиме один сетевой интерфейс активный, а второй в режиме ожидания. Когда основной выходит из строя, второй принимает работу на себя. Таким образом обеспечивается стабильный […]

bond сеть что такое. Смотреть фото bond сеть что такое. Смотреть картинку bond сеть что такое. Картинка про bond сеть что такое. Фото bond сеть что такое

Если необходим стабильный доступ сервера к сети необходимо воспользоваться драйвером bonding. Bonding объединяет несколько сетевых интерфейсов в один виртуальный сетевой интерфейс.

Есть несколько режимов работы:

Приступим к конфигурированию виртуального bond интерфейса в операционной системе Centos.

Для начала посмотрим сколько у нас сетевых карт:

Dev.png просмотр количества сетевых интерфейсов.

Как видим, у нас 2 сетевых интерфейса ens18 и ens19.

Если конфигурационные файлы на эти устройства не сущетвуют, создадим их:

Приведем его к виду, как на скриншоте.

DEVICE=”ens19” – имя сетевого интерфейса
BOOTPROTO=none – не получать сетевые настроки.
MASTER=bond0 – добавляем сетевой интерфейс в виртуальный
SLAVE=yes указываем, что интерфейс ведомый
HWADDR=»ae:2a:de:fa:a8:5b» — mac адрес устройства
ONBOOT = “yes”

Аналогичным способом настраиваем второй интерфейс ens18.

После этого сконфигурируем виртуальный интерфейс bond0.

DEVICE=”bond0” – имя сетевого интерфейса
BOOTPROTO=”static” – применяем статический ip адрес
IPADDR=192.168.77.6 – ip адрес нашего сервера
NETMASK=255.255.255.0 – маска сети
GATEWAY=192.168.77.1 – шлюз по умолчанию
BONDING_OPTS=»mode=active-backup miimon=100 xmit_hash_policy=layer2+3″ – в этом разделе описываются дополнительные параметры работы.
Mode=active-backup – один из сетевых адаптеров активный, второй «страхующий»
Miimon=100 – как часто будет проверяться состояние линии на налчие отказов (100 миллисекунд)
Xmit_hash_policy=layer2+3 – определяет хэш политику передачи пакетов через объединенные интерфейсы (в режиме active-backup не используется. Показан для примера)
ONBOOT=yes — включить сетевой интерфейс.

Перечитаем сетевые настройки командой:

После чего выполним команду:

Как видим из скриншота у нас появился один виртуальный интерфейс bond0. На остальных сетевых интерфейсах ens18 b ens19 сеть не настроена.

Для подробной детализации параметров воспользуемся командой:

Тут следует обратить свое внимание на такие параметры как:

Currently Active Slave: ens18 – какой сетевой интерфейс ведущий в данное время.

MII Status : up – виртуальный сетевой интерфейс включен
MII Polling Interval (ms): 100 – периодичность мониторинга сети в миллисекундах.
Up Delay (ms): 0 – время задержки перед тем как поднять линк при обнаружении восстановления канала.
Down Delay (ms): 0 – время задержки перед отключением интерфейса при обнаружении падения канала.

Далее в двух разделах идет информация о наших физических интерфейсах.

Произведем отключение главного сетевого интерфейса ens18:

Теперь посмотрим статус виртуального интерфейса:

Как видим из скриншота работа переключилась на интерфейс ens19. На работу сети это переключение никак не повлияло

Источник

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

Доброго времени, гости и читатели www.k-max.name. Всех коллег спешу поздравить с профессиональным праздником!

bond сеть что такое. Смотреть фото bond сеть что такое. Смотреть картинку bond сеть что такое. Картинка про bond сеть что такое. Фото bond сеть что такое

Типы агрегации (объединения) интерфейсов в Linux

mode=0 (balance-rr)

Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются «по кругу» от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.

mode=1 (active-backup)

При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.

mode=2 (balance-xor)

Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.

mode=3 (broadcast)

Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.

mode=4 (802.3ad)

Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.

mode=5 (balance-tlb)

mode=6 (balance-alb)

Адаптивная балансировка нагрузки (более совершенная). Обеспечивает балансировку нагрузки как исходящего (TLB, transmit load balancing), так и входящего трафика (для IPv4 через ARP). Не требует специальной поддержки коммутатором, но требует возможности изменять MAC-адрес устройства.

Настройка bonding в Debian 6

Для корректной работы объединения интерфейсов необходимо установить пакет ifenslave-2.6 и проверить наличие модуля bonding:

Для настройки объединения интерфейсов необходимо отредактировать файл конфигурации сети до следующего вида:

Далее перезапускаем сеть и видим как все работает:

Диагностика bonding

Для проверки работы объединения интерфейсов необходимо просмотреть содержимое каталога /proc/net/bonding/ на наличие каждого из бонд-интерфейсов:

На сегодня это все. такая маленькая заметочка, как говориться «чтобы было».

Что еще почитать

Для более подробного ознакомления с объединением сетевых интерфейсов, советую почитать:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *