Linux kvm bridge network

How to configure network bridge for KVM virtual machines in Linux

Trying to configure a network bridge for KVM virtual machines? Here’s how we do it.

Here at Bobcares, we have seen several such KVM related queries as part of our Server Management Services for web hosts and online service providers.

Today we’ll take a look at configuring network bridge for KVM virtual machines.

Know more about KVM virtual machines

When a Linux bridge is used in KVM, it allows a virtual machine to access external networks and services outside of the virtual environment. Bridged networking is a dedicated network card to a virtual machine that provides a communication path to the outside networks. Also, this must be set up before creating a virtual machine using Virtual Manager.

Moreover, there are different ways to configure the Bridge Networking in Linux for use in KVM. By default, the Virtual Machine launched in KVM uses a NAT network.

Once you configure and use Bridged networking, guest operating systems access the external network connected directly to the host machine. Also, you can create a bridge either using Virtual Machine Manager, using virsh command-line tool, by directly editing network-scripts or using Linux Network management tools.

How to configure a network bridge for KVM virtual machines

Now let’s take a look at how to configure the network bridge.

Method 1: Creating Bridge Network using Virtual Machine Manager

Here are the steps to create a Linux bridge from Virtual Machine Manager (GUI). Make sure that you have installed KVM on your system.

1. Firstly, open Virtual Machine Manager, and go to Edit > Connection Details > Virtual Networks. Suppose the device name is virbr.
2. Next, click the + at the bottom of the window to configure a new network interface. Here, give the virtual network a name. For example, br1.
3. Then click the Forward button, in the next window, provide virtual network information.
4. After that, click forward and choose if to enable IPv6.
5. Now select the network type and forwarding policy.
6. Finish the setting and save the configurations. As a result, the new Virtual network must display on the overview page.
7. Finally, a bridge on the host system is automatically created for the network.

$ brctl show virbr bridge name bridge id STP enabled interfaces virbr 8000.525400c2410a yes virbr-nic

Method 2: Create KVM bridge with virsh command

First, create a new bridge XML file.

Читайте также:  Включить звук linux mint

Then add the below details in the file.

To define a network from an XML file without starting it. So run the below command.

$ sudo virsh net-define br1.xml Network br1 defined from br1.xml

To start a (previously defined) inactive network, run the below command.

$ sudo virsh net-start br1 Network br1 started

To set network to autostart at service start, run the below command.

$ sudo virsh net-autostart br1 Network br1 marked as autostarted

Then, confirm if the autostart flag is turned to yes. In the result, the Persistent should read yes as well.

Also, make sure to confirm bridge creation and IP address.

Method 3: Create a bridge by editing network-scripts (CentOS/RHEL/Fedora)

Here is a script that creates a bridge called br1.

$ sudo vim /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE=br1 STP=no TYPE=Bridge BOOTPROTO=none DEFROUTE=yes NAME=br1 ONBOOT=yes DNS1=8.8.8.8 DNS2=192.168.30.1 IPADDR=192.xxx.xx.x PREFIX=24 GATEWAY=192.xxx.xx.x

Here is the configuration of eth0 interface to which br1 will be bridged:

$ cat /etc/sysconfig/network-scripts/ifcfg-eno1 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BRIDGE=br1

Finally, restart the network daemon.

$ sudo systemctl disable NetworkManager && sudo systemctl stop NetworkManager $ sudo systemctl restart network.service

Method 4: Create a bridge by editing network-scripts (Debian/Ubuntu)

To configure the bridging interface, run the below command.

$ sudo vim /etc/network/interfaces auto br1 iface br1 inet static address 192.xxx.xx.xx network 192.xxx.x.x netmask 255.255.255.0 broadcast 192.xxx.x.xxx gateway 192.xxx.x.x dns-nameservers 192.xxx.x.x bridge_ports eth0 bridge_stp off

Then disable all the lines on eth0 interface section so that it looks something like below:

auto eth0 iface eth0 inet manual

Finally, restart the networking service.

$ sudo systemctl restart networking.service

[Need any further assistance with KVM queries? – We’re available to help you]

Conclusion

Today, we saw how to configure a network bridge for KVM virtual machines.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

Источник

Как создать и настроить Bridge Networking для KVM в Linux

hosting.energy недорогой хостинг сайтов

hosting.energy недорогой хостинг сайтов

В сегодняшнем руководстве мы рассмотрим, как создать и настроить мостовую сеть для KVM в Linux — RHEL / CentOS / Ubuntu / Debian / Arch Linux и т. д. Мост Linux при использовании в KVM позволяет виртуальной машине получать доступ к внешней сети и службам вне Виртуальная среда.

Читайте также:  Emergency mode linux centos

Существуют различные способы настройки мостовой сети в Linux для использования в KVM. Сеть по умолчанию, используемая виртуальной машиной, запущенной в KVM, — это сеть NAT. В сети NAT создается виртуальная сеть для гостевых машин, которая затем сопоставляется с сетью хоста для обеспечения подключения к Интернету.

Когда вы настраиваете и используете мостовую сеть, гостевые операционные системы получают доступ к внешней сети, подключенной непосредственно к хост-машине. Мост можно создать либо с помощью диспетчера виртуальных машин, либо с помощью инструмента командной строки virsh , либо путем прямого редактирования сетевых сценариев, либо с помощью инструментов управления сетью Linux.

Шаг 1. Создание мостовой сети с помощью диспетчера виртуальных машин.

Выполните следующие действия, чтобы создать мост Linux из диспетчера виртуальных машин (GUI). В вашей системе должен быть установлен KVM.

Откройте диспетчер виртуальных машин и перейдите в меню «Правка»> «Сведения о подключении»> «Виртуальные сети».

Настройте новый сетевой интерфейс, щелкнув + в нижней части окна. Дайте виртуальной сети имя.

Нажмите кнопку «Вперед», в следующем окне укажите информацию о виртуальной сети.

Щелкните «Вперед» и выберите, следует ли включить IPv6.

Выберите тип сети и политику пересылки.

Завершите настройку и сохраните свои конфигурации. Новая виртуальная сеть должна отображаться на странице обзора.

Для сети автоматически создается мост в хост-системе.

$ brctl show virbr4 bridge name bridge id STP enabled interfaces virbr4 8000.525400c2410a yes virbr4-nic 

Шаг 2: Создайте мост KVM с помощью команды virsh.

Создайте новый XML-файл моста.

Добавьте в файл детали моста.

Чтобы определить сеть из файла XML без его запуска, используйте:

$ sudo virsh net-define br10.xml Network br1 defined from br10.xml

Чтобы запустить (ранее определенную) неактивную сеть, используйте:

$ sudo virsh net-start br10 Network br10 started

Чтобы настроить автоматический запуск сети при запуске службы:

$ sudo virsh net-autostart br10 Network br10 marked as autostarted

Установите флажок «Подтвердить», если флаг автозапуска установлен на yes — Постоянный также должен читать «да».

$ sudo virsh net-list --all Name State Autostart Persistent ---------------------------------------------------- br10 active yes yes default active yes yes docker-machines active yes yes fed290 active no yes vagrant-libvirt active no yes

Подтвердите создание моста и IP-адрес.

$ ip addr show dev br10 28: br10: mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:94:00:f5 brd ff:ff:ff:ff:ff:ff inet 192.168.30.1/24 brd 192.168.30.255 scope global br10 valid_lft forever preferred_lft forever

Шаг 3: Создайте мост, отредактировав сетевые скрипты (CentOS / RHEL / Fedora):

Ниже скрипт создаст мост под названием br10.

$ sudo vim /etc/sysconfig/network-scripts/ifcfg-br10
DEVICE=br10 STP=no TYPE=Bridge BOOTPROTO=none DEFROUTE=yes NAME=br10 ONBOOT=yes DNS1=8.8.8.8 DNS2=192.168.30.1 IPADDR=192.168.30.3 PREFIX=24 GATEWAY=192.168.30.1

Конфигурация интерфейса eth0, к которому я подключаюсь, будет следующей:

$ cat /etc/sysconfig/network-scripts/ifcfg-eno1 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BRIDGE=br10

Перезагрузите сетевой демон.

sudo systemctl disable NetworkManager && sudo systemctl stop NetworkManager sudo systemctl restart network.service

Шаг 4: Создайте мост, отредактировав сетевые сценарии (Debian / Ubuntu):

Настроить интерфейс Bridging:

$ sudo vim /etc/network/interfaces auto br10 iface br10 inet static address 192.168.1.10 network 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 bridge_ports eth0 bridge_stp off

Отключите все строки в разделе интерфейса eth0, чтобы они выглядели примерно так:

auto eth0 iface eth0 inet manual

Перезапустите сетевую службу.

 sudo systemctl restart networking.service

Шаг 5: Использование инструмента Nmcli

Используйте nmcli инструмент командной строки управления сетью, чтобы создать мост Linux на желаемом интерфейсе. Давайте сначала перечислим все доступные подключения.

$ sudo nmcli connection show NAME UUID TYPE DEVICE enp1s0 498869bb-0d88-4a4c-a83a-c491d1040b0b ethernet enp1s0 Wired connection 1 0977f29f-fa2e-3d7f-831c-6f41f8782be3 ethernet enp7s0

Поскольку мой мост будет создан на втором устройстве enp7s0 , я удалю существующее соединение, а затем создам мост с этим устройством.

$ sudo nmcli connection delete 0977f29f-fa2e-3d7f-831c-6f41f8782be3 Connection 'Wired connection 1' (0977f29f-fa2e-3d7f-831c-6f41f8782be3) successfully deleted.

1. Сохраните информацию, связанную с мостом, в переменных.

BR_NAME="br10" BR_INT="enp7s0" SUBNET_IP="192.168.30.10/24" GW="192.168.30.1" DNS1="8.8.8.8" DNS2="8.8.4.4"
  • BR_NAME: имя создаваемого моста.
  • BR_INT: физическое сетевое устройство, которое будет использоваться в качестве ведомого моста.
  • SUBNET_IP: IP-адрес и подсеть, назначенные созданному мосту.
  • GW: IP-адрес шлюза по умолчанию.
  • DNS1 и DNS2: IP-адреса DNS-серверов, которые будут использоваться.
Читайте также:  Linux grep если не найден

2. Определите новое мостовое соединение.

sudo nmcli connection add type bridge autoconnect yes con-name $ ifname $

Connection 'br0' (be6d4520-0257-49c6-97c2-f515d6554980) successfully added.

3. Измените мост, чтобы добавить IP-адрес, шлюз и DNS

sudo nmcli connection modify $ ipv4.addresses $ ipv4.method manual sudo nmcli connection modify $ ipv4.gateway $ sudo nmcli connection modify $ ipv4.dns $ +ipv4.dns $

4. Добавьте сетевое устройство как подчиненное устройство моста.

sudo nmcli connection delete $ sudo nmcli connection add type bridge-slave autoconnect yes con-name $ ifname $ master $

Connection 'enp7s0' (f033dbc9-a90e-4d4c-83a9-63fd7ec1cdc1) successfully added.
$ sudo nmcli connection show NAME UUID TYPE DEVICE br0 be6d4520-0257-49c6-97c2-f515d6554980 bridge br0 enp1s0 498869bb-0d88-4a4c-a83a-c491d1040b0b ethernet enp1s0 enp7s0 f033dbc9-a90e-4d4c-83a9-63fd7ec1cdc1 ethernet enp7s0

Шаг 6. Подключите сетевой мост

После того, как соединение с сетевым мостом будет создано, активируйте его.

$ sudo nmcli connection up br10 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

Просмотрите детали моста, запустив его.

sudo nmcli connection show br10

Команда ip addr должна выдать результат, аналогичный приведенному ниже.

$ ip ad 3: enp7s0: mtu 1500 qdisc fq_codel master br10 state UP group default qlen 1000 link/ether 52:54:00:a2:f6:a8 brd ff:ff:ff:ff:ff:ff 4: br10: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:a2:f6:a8 brd ff:ff:ff:ff:ff:ff inet 192.168.122.10/24 brd 192.168.122.255 scope global noprefixroute br10 valid_lft forever preferred_lft forever inet6 fe80::4f2f:ce6d:dc6b:2101/64 scope link noprefixroute valid_lft forever preferred_lft forever

Поздравляю . Вы успешно создали и настроили мостовую сеть для KVM в системе Linux.

Источник

Оцените статью
Adblock
detector