Има 2 вида мрежови мостове, a частен мрежов мост, и а мост на обществената мрежа.
Частен мрежов мост: Частният мрежов мост е като виртуален рутер. Той си присвоява частен IP адрес и създава DHCP сървър. KVM виртуалните машини, които са свързани към този мрежов мост, получават IP адреси чрез DHCP сървъра на моста. Мрежовият мост използва NAT (Превод на мрежови адреси), за да осигури интернет връзка с виртуалните машини KVM. Виртуалните машини KVM, които са свързани към моста на частната мрежа, могат да комуникират помежду си. KVM хостът (където работят виртуалните машини) може директно да има достъп и до виртуалните машини. Но виртуалните машини не са достъпни от външната мрежа.
Мост на публичната мрежа: Общественият мрежов мост е като виртуален превключвател. Можете да свържете един физически мрежов интерфейс към моста и виртуалните машини KVM, които използват мрежовия мост, ще си присвоят IP адреси, използвайки DHCP сървъра, работещ на рутера, към който е свързан физическият мрежов интерфейс. Ако се използва публичен мрежов мост, свързаните към него виртуални машини KVM ще получат IP адреси от вашия физически рутер или мрежови устройства. Виртуалните машини KVM ще бъдат достъпни една от друга, KVM хоста, както и външната мрежа.
В тази статия ще ви покажа как да създавате частни и публични мостове на KVM на CentOS 8. И така, нека започнем.
Предпоставки:
Ако искате да изпробвате примерите от тази статия, трябва да имате инсталиран KVM на вашата машина CentOS 8. Ако нямате инсталиран KVM на вашата машина CentOS 8, можете да прочетете статията ми Инсталирайте KVM на CentOS 8 в LinuxHint.com за помощ при инсталиране на KVM на CentOS 8.
Трябва също да имате KVM виртуална машина, създадена на вашия CentOS 8 KVM хост. По този начин можете да практикувате и промяна на мрежовия интерфейс на виртуалната машина.
Създаване на мост за частна мрежа на KVM:
По подразбиране KVM създава по подразбиране частен мрежов мост. Мрежовият мост използва частна IP подмрежа от клас C по подразбиране. В моя случай използва 192.168.122.0/24 подмрежа.
Както можете да видите, моята виртуална машина KVM, която използва по подразбиране частният мрежов мост получи IP адрес 192.168.122.60 което е IP адрес от 192.168.122.0/24 подмрежа.
В този раздел ще ви покажа как да създадете нов KVM частен мостов мрежов интерфейс.
Можете да изброите всички налични мрежови интерфейси на KVM със следната команда:
$ sudo virsh net-list --allКакто можете да видите, по подразбиране изброен е мрежовият интерфейс.
KVM използва XML широко за своята конфигурация.
За да видите как по подразбиране мрежовият мост е конфигуриран в XML, изпълнете следната команда:
$ sudo virsh net-edit по подразбиране
XML конфигурационният файл на по подразбиране мрежов мост е показан на екранната снимка по-долу. Както можете да видите, мрежовият мост име е по подразбиране. The напред режимът е нат или Превод на мрежови адреси. Мрежата мост името на интерфейса е virbr0. The ip адресът на моста е 192.168.122.1 и маската на подмрежата е 255.255.255.0. DHCP сървърът на мрежовия мост е конфигуриран в dhcp блок. Тук обхватът на DHCP адресите е 192.168.122.2 да се 192.168.122.254. И така, виртуалните машини ще получават IP адреси, започвайки от 192.168.122.2 да се 192.168.122.254.
За да създадете свой собствен мост за частна мрежа KVM, създайте нов XML файл частни.xml със следната команда:
$ нано частни.xml
Въведете следните редове във вашия частни.xml файл.
След като приключите, натиснете
Името на мрежата на KVM ще бъде частни.
Мостът ще използва Превод на мрежови адреси за интернет свързаност на виртуални машини KVM.
Името на интерфейса на мрежовия мост ще бъде virbr1.
Мрежовият мост ще използва 192.168.150.0/24 подмрежа на частната мрежа и ще присвои IP адреса 192.168.150.1 за интерфейса на моста virbr1.
KVM ще стартира DHCP сървър за мрежовия мост. Той ще предоставя IP адреси на виртуалните машини, използващи този мрежов мост. Виртуалните машини на KVM ще получат IP адреси в обхвата 192.168.150.100 да се 192.168.150.254.
За да създадете частни мрежов мост с помощта на частни.xml XML конфигурационен файл, изпълнете следната команда:
$ sudo virsh net-define private.xml
Както можете да видите, частни създаден е мрежов мост. то е неактивен в момента.
$ sudo virsh net-list --all
Можете да активирате частни мрежов мост със следната команда:
$ sudo virsh net-start private
Както можете да видите, частни мостовата мрежа е активирана.
$ sudo virsh net-list --all
Както можете да видите, интерфейс на мрежов мост virbr1 се създава и му се присвоява IP адрес 192.168.150.1.
$ ip a
Както можете да видите, мрежовият мост частни няма да стартира автоматично при зареждане. Тъй като всичко работи, добра идея е автоматично да стартирате мрежовия мост при зареждане.
$ sudo virsh net-list --all
За да позволите частни мрежов мост за автоматично стартиране при зареждане, изпълнете следната команда:
$ sudo virsh net-autostart private
Мрежовият мост частни трябва автоматично да стартира при зареждане отсега нататък.
$ sudo virsh net-list --all
Сега, нека конфигурираме виртуална машина KVM да използва новосъздадената частни мрежов мост.
Както можете да видите, вече имам виртуална машина KVM udesktop20_04-01 работи на моя CentOS 8 KVM хост.
$ sudo virsh list --all
Преди да промените конфигурацията на вашата KVM виртуална машина, уверете се, че е изключена. Ако вашата виртуална машина KVM работи, можете да я изключите със следната команда:
$ sudo virsh изключване udesktop20_04-01
Вашата виртуална машина KVM трябва да бъде изключена.
$ sudo virsh list --all
За да редактирате конфигурацията на вашата виртуална машина KVM, изпълнете следната команда:
$ sudo virsh редактиране udesktop20_04-01
Всички конфигурационни файлове на KVM са в XML формат. Файловете за конфигурация на виртуалната машина KVM не са изключение.
Намери интерфейс раздел, както е отбелязано на екранната снимка по-долу. По подразбиране по подразбиране се използва мрежов мост.
Променете мрежовия мост от по подразбиране да се частни както е отбелязано на екранната снимка по-долу.
ЗАБЕЛЕЖКА: Конфигурационният файл се отваря с текстовия редактор Vi по подразбиране. За да редактирате конфигурационния файл в Vi, натиснете i да отидеш до ПОСТАВЕТЕ режим. За да запазите конфигурационния файл, натиснете
Конфигурацията на виртуалната машина трябва да бъде променена.
Стартирайте KVM виртуалната машина със следната команда:
$ sudo virsh старт udesktop20_04-01
Виртуалната машина трябва да работи.
$ sudo virsh list --all
Сега се свържете с вашата виртуална машина с помощта на VNC клиент и проверете IP адреса на виртуалната машина със следната команда:
$ ip aКакто можете да видите, IP адресът е 192.168.150.228 което е IP адрес от 192.168.150.0/24 подмрежа. Това е подмрежата, която сме конфигурирали за частни мрежов мост. Така че частни мрежовият мост работи.
Създаване на KVM публичен мрежов мост:
Ако искате да осъществите достъп до вашите виртуални машини KVM от вашата домашна мрежа, тогава можете да конфигурирате KVM публичен мрежов мост и да конфигурирате виртуалните машини, които искате да свържете от вашата домашна мрежа, за да използват моста на публичната мрежа.
Преди да създадете KVM публичен мрежов мост, трябва ръчно да създадете мрежов мост, като използвате Network Manager на CentOS 8.
Можете да стартирате интерфейса на командния ред на Network Manager със следната команда:
$ sudo nmtui
Изберете Активирайте връзка и натиснете
Вашият кабелен мрежов интерфейс (ens160 в моя случай) трябва да бъде активен. Изберете го и Деактивирайте то.
Вашият кабелен мрежов интерфейс трябва да бъде деактивиран. Натиснете
Изберете Редактирайте връзка и натиснете
Изберете мрежовия интерфейс, който току-що сте деактивирали (ens160 в моя случай), отворете
Изберете Изтрий и натиснете
Премахнах физическия мрежов интерфейс ens160 защото искам да го добавя към порт на мрежовия мост, който ще създавам по-късно. Мислете за това като за мрежов превключвател. Свързвате Ethernet кабел, идващ от домашния ви рутер, към комутатора и след това можете да свържете други мрежови устройства към комутатора. Тези мрежови устройства ще получават IP адреси от рутера. Същата аналогия се прилага и тук. Просто всичко е виртуално.
За да създадете мрежов мост, отворете
Изберете Мост от списъка, отидете до
Въведете a Профилно име и а Устройство име. Мрежовият мост virbr0 и virbr1 вече съществува на моя CentOS 8 KVM хост. И така, използвах virbr2 като Устройство име. Можете да използвате всичко описателно като Профилно име. Не е задължително да е същото като Устройство име.
За да добавите мрежов интерфейс към моста, изберете
Изберете Ethernet от списъка, отидете до
Въведете името на мрежовия интерфейс, което искате да добавите към моста в Устройство раздел. The Профилно име може да бъде всичко описателно.
Ще добавя моя мрежов интерфейс ens160 (който съм премахнал по-рано) до моста.
След като приключите, преминете към
ЗАБЕЛЕЖКА: Можете да намерите името на всички налични мрежови интерфейси на вашия CentOS 8 KVM хост със следната команда:
$ ip a
Мрежовият интерфейс (ens160 в моя случай) трябва да се добави към моста.
След като приключите, преминете към
Нов мост virbr2 трябва да се създаде, както можете да видите на екранната снимка по-долу. Натиснете
Изберете Активирайте връзка и натиснете
Както виждате, мостът virbr2 се активира. Ако не е активиран, можете да го активирате от тук.
Натиснете
Както можете да видите, новосъздаденият мост virbr2 получих IP адрес чрез DHCP от моя домашен рутер. И така, новосъздаденият мост virbr2 работи добре.
$ ip a
Сега, когато имаме работещ мрежов мост virbr2, можем да го добавим към KVM.
Създайте нов XML файл публично.xml със следната команда:
$ nano публично.xml
Въведете следните редове кодове в публично.xml файл.
След като приключите, натиснете
Тук името на моста на KVM ще бъде публично.
Мрежовият мост ще работи в мост режим.
Мрежовият мост ще използва интерфейса на моста virbr2 (това е, което току-що създадохме с помощта на програмата nmtui).
За да създадете KVM мрежов мост с помощта на публично.xml конфигурационен файл, изпълнете следната команда:
$ sudo virsh net-define public.xml
Както можете да видите, публично създаден е мрежов мост. то е неактивен в момента.
$ sudo virsh net-list --all
Можете да активирате публично мрежов мост със следната команда:
$ sudo virsh net-start public
Както можете да видите, публично мостовата мрежа е активирана.
$ sudo virsh net-list --all
Мрежовият мост публично няма да стартира автоматично при зареждане. Тъй като всичко работи, добра идея е автоматично да стартирате мрежовия мост при зареждане.
$ sudo virsh net-list --all
За да позволите публично мрежов мост за автоматично стартиране при зареждане, изпълнете следната команда:
$ sudo virsh net-autostart public
Мрежовият мост публично трябва автоматично да стартира при зареждане отсега нататък.
$ sudo virsh net-list --all
Сега, нека конфигурираме виртуална машина KVM да използва новосъздадената публично мрежов мост.
Както можете да видите, вече имам виртуална машина KVM udesktop20_04-01 работи на моя CentOS 8 KVM хост.
$ sudo virsh list --all
Преди да промените конфигурацията на вашата виртуална машина KVM, уверете се, че е изключена. Ако вашата KVM виртуална машина работи, можете да я изключите със следната команда:
$ sudo virsh изключване udesktop20_04-01
Вашата виртуална машина KVM трябва да бъде изключена.
$ sudo virsh list --all
За да редактирате конфигурацията на вашата KVM виртуална машина, изпълнете следната команда:
$ sudo virsh редактиране udesktop20_04-01
Намери интерфейс раздел, както е отбелязано на екранната снимка по-долу. Променихме мрежовия мост на частни в по-ранния раздел на тази статия.
Променете мрежовия мост от частни да се публично както е отбелязано на екранната снимка по-долу.
ЗАБЕЛЕЖКА: Конфигурационният файл се отваря с текстовия редактор Vi по подразбиране. За да редактирате конфигурационния файл в Vi, натиснете i да отидеш до ПОСТАВЕТЕ режим. За да запазите конфигурационния файл, натиснете
Конфигурацията на виртуалната машина трябва да бъде променена.
Стартирайте KVM виртуалната машина със следната команда:
$ sudo virsh старт udesktop20_04-01
Виртуалната машина трябва да работи.
$ sudo virsh list --all
Сега се свържете с вашата виртуална машина с помощта на VNC клиент и проверете IP адреса на виртуалната машина със следната команда:
$ ip aКакто можете да видите, IP адресът е 192.168.20.138 което е IP адрес от 192.168.20.0/24 подмрежа. Това е мрежовата подмрежа, която моят домашен рутер използва в момента. Така че публично мостът работи.
Заключение:
В тази статия съм обяснил частния и публичния мрежов мост на KVM. Също така ви показах как да конфигурирате мостове за частна мрежа KVM, както и мостове за обществена мрежа KVM. Тази статия трябва да ви помогне да започнете с конфигурирането на мрежови мостове KVM.