Создание и использование сетевого моста в Arch Linux|Manjaro |
Мост — это то, что объединяет два или более сетевых интерфейса. Сетевой мост в основном используется в виртуализации, чтобы предоставить виртуальным машинам доступ к внешней сети. Для создания и настройки сетевого моста в Linux World доступны различные инструменты, но они различаются в зависимости от используемого вами дистрибутива Linux. Наиболее распространенные инструменты, которые можно использовать в Arch Linux и связанных с ним дистрибутивах, таких как Manjaro, включают:
- Инструмент brctl из пакета Bridge-utils.
- инструмент netctl
- Инструмент ip из пакета iproute2.
- Использование NetworkManager.
Мы воспользуемся инструментом netctl или добьемся результатов, отредактировав файл конфигурации напрямую. В приведенном здесь примере я создам мост под названием br10, затем добавлю к нему интерфейсы eno1 и tap0 . Затем я продемонстрирую рабочее состояние моста, добавив его в виртуальную машину, запущенную с помощью KVM.
Шаг 1. Установите инструменты Bridge
Итак, давайте начнем. Прежде всего, давайте удостоверимся, что у нас установлены Bridge-utils, которые мы будем использовать для просмотра деталей созданного моста.
sudo pacman -S bridge-utils netctl
Шаг 2: Создайте мост:
Создайте файл моста в каталоге /etc/netctl/. Я назову свой мост kvm-bridge, подойдет любое имя.
sudo vim /etc/netctl/kvm-bridge
Добавьте следующее содержимое, изменив br10 на интерфейсный мост, который вы создаете, eno1 и tap0 на интерфейсы, которые вы добавляете в мост, IP-сеть. информация с данными вашей сети:
Description="Bridge Interface br10 : eno1,tap0"
Interface=br10
Connection=bridge
BindsToInterfaces=(eno1 tap0)
IP=static
Address='192.168.1.105/24'
Gateway='192.168.1.1'
DNS='192.168.1.1'
MACAddressOf=eno1
## Ignore (R)STP and immediately activate the bridge
SkipForwardingDelay=yes
MACAddressOf=eno1 будет следить за тем, чтобы интерфейс моста всегда использовал MAC-адрес интерфейса eno1. Если вы хотите, чтобы интерфейсу моста был присвоен уникальный MAC-адрес, вы можете удалить эту строку. Я добавил его, потому что в моей сети есть фильтрация MAC-адресов, поэтому мост br10 имеет MAC-адрес физического интерфейса eno1 , что позволит мне иметь доступ в Интернет с помощью моста . >br10.
Вы можете соединить любую комбинацию сетевых устройств, добавив их в строку параметров «BindsToInterfaces».
Если вы хотите включить статический профиль IP на проводном интерфейсе независимо от того, подключен кабель или нет, добавьте в свой профиль строку ниже:
SkipNoCarrier=yes
Если вы настраиваете получение информации об IP-адресе с использованием протокола DHCP, ваша конфигурация будет выглядеть следующим образом:
Description="Bridge Interface br10 : eno1,tap0"
Interface=br10
Connection=bridge
BindsToInterfaces=(eno1 tap0)
IP=dhcp
# If you want also for DHCPv6,uncomment below line
#IP6=dhcp
В приведенной ниже конфигурации будет использоваться DHCP и назначен MAC-адрес моста сетевой карты eno1 .
Description="Bridge Interface br10 : eno1,tap0"
Interface=br10
Connection=bridge
BindsToInterfaces=(eno1 tap0)
IP=no
ExecUpPost="ip link set dev br0 address $(cat /sys/class/net/eno1/address); IP=dhcp; ip_set"
ExecDownPre="IP=dhcp"
Шаг 3: Удалите IP-адрес интерфейса, добавленного в мост; ено1
Мой основной физический интерфейс Ethernet — eno1. Поскольку я добавил это
set IP=no
Альтернативно вы можете сбросить интерфейс eno1 с помощью NetworkManager. Сделать это
- Запустите приложение Network Manager, выбрав «Все настройки» > «Сеть» > «Имя интерфейса».
- Нажмите на настройки вашего интерфейса, у меня eno1.
- Затем перейдите в Сброс
- нажмите «Забыть»
Если вы проверите интерфейсы, доступные в интерфейсе Network Manager, eno1 должен исчезнуть. См. снимок экрана ниже:
Шаг 4: Запустите мост на Арке | Манджаро
Запустите команду ниже, чтобы запустить только что созданный мост.
sudo netctl start kvm-bridge
Шаг 5. Установите профиль для запуска при загрузке компьютера
Включите автоматический запуск при перезагрузке системы.
sudo netctl enable kvm-bridge
Если вы вносите изменения в профиль, включите его повторно, поскольку изменения в файле профиля не будут распространяться на служебный файл автоматически:
sudo netctl reenable kvm-bridge
Вы можете открыть NetworkManager, чтобы проверить, работает ли интерфейс моста.
- Команду Brctl можно использовать для просмотра мостов, настроенных в системе.
$ sudo brctl show
bridge name bridge id STP enabled interfaces
br10 8000.a01d48fad8df no eno1
virbr0 8000.5254007baa03 yes virbr0-nic
- Чтобы просмотреть мостовые интерфейсы:
$ sudo bridge link
2: eno1 state UP : <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 master br10 state forwarding priority 32 cost 19
5: virbr0-nic state DOWN : <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100
К этому моменту вы готовы использовать мост на своем виртуальном KVM.
Вот оно. Сетевой мост настроен в системе Arch Linux/Manjaro.
Похожие руководства:
- Как создать сетевой мост Linux на RHEL/CentOS 8
- Как отключить сетевой фильтр на мосту KVM
- Как создать и настроить мостовую сеть для KVM в Linux