Linux поддерживает реализацию программного сетевого моста для воспроизведения функции соединения типа мост, сетевого устройства, которое соединяет две или более сетей или сегментов сети, предоставляя им возможность работать как одна сеть.
Мост действует почти как сетевой коммутатор и в программном смысле используется для реализации концепции «виртуального сетевого коммутатора».
Типичный пример использования программных сетевых мостов – в среде виртуализации для непосредственного подключения виртуальных машин (ВМ) к сети хост-сервера.
Таким образом, виртуальные машины развертываются в той же подсети, что и хост, и могут получать доступ к таким службам, как DHCP и многое другое.
В этой статье вы узнаете, как настроить сетевой мост в Ubuntu и использовать его в среде виртуализации для создания виртуальных сетей в мостовом режиме в VirtualBox и KVM, чтобы подключить виртуальные машины к той же сети, что и хост.
Установка утилит сетевого моста в Ubuntu
Начните с установки пакета bridge-utils, который содержит утилиты для настройки моста Ubuntu Ethernet с помощью менеджера пакетов apt, как показано ниже:
$ apt-get install bridge-utils
$ ip ad или $ ip add
Создание сетевого моста с использованием NetPlan на Ubuntu
Netplan – это простая и простая в использовании утилита для настройки сети на Linux с использованием формата YAML.
Внастоящее время он поддерживает NetworkManager и systemd-netword в качестве внутренних инструментов.
Чтобы настроить сеть для интерфейса, такого как мост, отредактируйте файл конфигурации netplan, находящийся в каталоге /etc/netplan/.
Ниже приведен пример файла конфигурации, где по умолчанию используется средство визуализации systemd-netword (замените enp1s0 на имя вашего интерфейса Ethernet).
network: version: 2 renderer: networkd ethernets: enp1s0: dhcp4: no bridges: br0: dhcp4: yes interfaces: - enp1s0
Сохраните файл конфигурации и примените ее, чтобы включить сеть типа мост, выполнив следующую команду.
$ sudo netplan apply
$ sudo brctl show
Если вы хотите отключить или деактивировать созданный сетевой мост, удалите его с помощью следующих команд.
$ sudo ip link set enp1s0 up $ sudo ip link set br0 down $ sudo brctl delbr br0 или $ sudo nmcli conn up Wired\ connection\ 1 $ sudo nmcli conn down br0 $ sudo nmcli conn del br0 $ sudo nmcli conn del bridge-br0
Создание сетевого моста с помощью Nmcli в Ubuntu
nmcli – широко используемый инструмент командной строки для администрирования NetworkManager (создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений) и отображения состояния сетевого устройства.
Чтобы создать сетевой мост с помощью nmcli, выполните следующую команду.
$ sudo nmcli conn add type bridge con-name br0 ifname br0
Затем добавьте интерфейс Ethernet в качестве порта в мост, как показано (не забудьте заменить enp1s0 на имя вашего устройства).
$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Затем подтвердите, что мост был создан, показав все сетевые подключения.
$ sudo nmcli conn show --active
Затем активируйте соединение следующим образом (вы можете использовать либо имя соединения / интерфейса, либо UUID).
$ sudo nmcli conn up br0 или $ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Затем отключите интерфейс или соединение Ethernet.
$ sudo nmcli conn down Ethernet\ connection\ 1 или $ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Теперь попробуйте просмотреть активные соединения еще раз, интерфейс Ethernet теперь должен быть нужном нам соединении bridge.
$ sudo nmcli conn show --active