Ubuntu network bridge (br0 - nmcli)

network bridge - это не что иное, как устройство, которое объединяет две локальные сети в одну сеть. Он работает на канальном уровне (уровень 2 модели OSI). Сетевые мосты часто используются с программным обеспечением для виртуализации. 

Например, пользователи таких популярных программ, как KVM, LXD или Docker, могут настраивать network bridge вместо сетевых соединений на основе NAT. Инструмент командной строки nmcli позволяет создать постоянную конфигурацию моста без редактирования каких-либо файлов.

Ubuntu 20.04 добавление сетевого моста (br0) с помощью nmcli. Процедура создания и добавления интерфейса моста на Ubuntu версии 20.04 выглядит следующим образом, если вы хотите использовать Network Manager. Откройте приложение Терминал или войдите в систему с помощью команды ssh. Узнайте информацию о текущем сетевом подключении Ubuntu:

sudo nmcli con show

Затем добавьте новый мост под названием br0:

sudo nmcli con add ifname br0 type bridge con-name br0

Создайте подчиненный интерфейс для br0, используя сетевую карту enp0s31f6:

sudo nmcli con add type bridge-slave ifname enp0s31f6 master br0

Включите интерфейс br0 для получения IP через DHCP:

sudo nmcli con up br0

Ниже рассматриваются статические настройки IP для интерфейса br0. Давайте подробно рассмотрим все примеры и инструкции по созданию сетевого моста в сервере Ubuntu Linux версии 20.04 LTS. Прежде всего, получите информацию о текущем интерфейсе Ubuntu Linux и IP-адресе, поскольку эта информация понадобится нам позже. Поэтому введите следующие команды:

$ nmcli con show

$ nmcli connection show --active

Итак, мой сервер имеет "ETH0", который использует интерфейс Ethernet enp0s31f6. Я собираюсь установить интерфейс моста с именем br0 и добавить (enslave) интерфейс к enp0s31f6.

Создание сетевого моста с именем br0. Синтаксис следующий:

$ sudo nmcli con add ifname br0 type bridge con-name br0

$ sudo nmcli con add type bridge-slave ifname enp0s31f6 master br0

$ nmcli connection show

Отключите или включите STP для сетевого моста. Основная цель протокола Spanning Tree Protocol (STP) - гарантировать, что вы не создадите петель при наличии избыточных путей в сети. Мы можем отключить STP или включить следующим образом для br0:

$ sudo nmcli con modify br0 bridge.stp no

## Ubuntu 20.04 Linux nmcli command to enable STP with br0 ##

$ sudo nmcli con modify br0 bridge.stp yes

## Verification ##

$ nmcli con show

$ nmcli -f bridge con show br0

Настройка статического или DHCP IP-адреса для интерфейса сетевого моста. Мы не назначили статический IP-адрес для нашего интерфейса br0. Следовательно, если сервер DHCP доступен, он должен предоставить IP-адреса и другие настройки. Например, мы можем получить параметры IP с помощью DHCP следующим образом:

$ sudo nmcli con up br0

$ ip a s br0

$ ping crimea-karro.ru

Однако на серверах мы обычно устанавливаем статический IP-адрес. В этом примере я преобразую существующие настройки IP-сети enp0s31f6 в настройки br0 следующим образом:

IPv4 br0 settings

$ sudo nmcli connection modify br0 ipv4.addresses '192.168.2.25/24'

$ sudo nmcli connection modify br0 ipv4.gateway '192.168.2.254'

$ sudo nmcli connection modify br0 ipv4.dns '192.168.2.254'

$ sudo nmcli connection modify br0 ipv4.dns-search 'sweet.home'

$ sudo nmcli connection modify br0 ipv4.method manual

 

IPv6 br0 settings

$ sudo nmcli connection modify bridge0 ipv6.addresses 'Your-Static-IPv6-Address'

$ sudo nmcli connection modify br0 ipv6.gateway 'Your-Static-IPv6-Gateway-Address'

$ sudo nmcli connection modify br0 ipv6.dns 'Your-Static-IPv6-DNS'

$ sudo nmcli connection modify br0 ipv6.dns-search 'sweet.home'

$ sudo nmcli connection modify br0 ipv6.method manual

Включение интерфейса сетевого моста br0 в Ubuntu Linux. Итак, мы настроили необходимые параметры сети. Пришло время включить наш br0:

$ sudo nmcli con up br0

$ nmcli con show

Подождите некоторое время для активации настроек. Проверка настроек сетевого моста. Используйте команду ip для просмотра настроек IP для моста br0 на компьютере Ubuntu:

$ ip a s

$ ip a s br0

Вы можете удалить enp0s31f6, поскольку br0 получил статический IP-адрес, так как enp0s31f6 будет находиться в состоянии пересылки:

$ sudo nmcli connection delete enp0s31f6

## or ##

$ sudo nmcli connection delete ETH0

Вот как это выглядит при использовании команды ip:

$ nmcli connection show

$ ip a show br0

$ nmcli device

## interface active and works with br0 ##

$ ip a show enp0s31f6

$ ip r

## Check Internet and local LAN connectivity using ping

$ ping -c 4 crimea-karro.ru

$ ping -c 4 192.168.2.25

Показать состояние соединения устройств Ethernet и устройств моста на машине Ubuntu Linux:

$ ip link show master br0

$ bridge link show

$ bridge link show dev enp0s31f6

В этой заметки вы узнали, как добавить и создать сетевой мост Linux на сервере Ubuntu 20.04 LTS. Дополнительную информацию можно найти в документации nmcli.


Утилита nmcli позволяет быстро добавлять и сразу же настраивать соединения. 

 

Последние материалы