Когда мы взаимодействуем с сетями Linux, для повышения отказоустойчивости, производительности или организации сетей нам часто приходится объединять сетевые интерфейсы. Это процессы —
bonding (агрегация каналов) и bridging (создание мостов).⚪️ Bonding
Позволяет объединить несколько физических сетевых интерфейсов (например,
eth0 и eth1) в один логический интерфейс (bond0), что обеспечивает:— Отказоустойчивость: режимы, такие как
active-backup (mode 1), переключают трафик на резервный интерфейс при сбое.— Увеличение пропускной способности: режим
balance-rr (round-robin, mode 0) распределяет нагрузку между интерфейсами, что критично для высокопроизводительных приложений.— Конфигурация: используется модуль ядра bonding, управляемый через
/etc/network/interfaces или nmcli в современных дистрибутивах⚪️ Bridging
Объединяет несколько интерфейсов в один мост (bridge), что позволяет устройствам общаться на уровне L2, как в виртуализированных средах (VMware, KVM) или контейнерах (Docker, Podman).
— Применение: используется для создания VLAN или подключения контейнеров к хост-сети. Пример —
br0 с привязкой eth0 и veth интерфейсов.— Конфигурация: настраивается через
brctl или bridge-utils. Современный подход — ip link add name br0 type bridge и привязка интерфейсов⚪️ Вывод
Bonding обеспечивает отказоустойчивость и производительность, а Bridge создаёт виртуальный коммутатор для контейнеров или VM.
@DevOpsKaz 😛
