Det finns två typer av nätverksbryggor, a privat nätverksbro, och en offentliga nätverksbro.
Privat nätverksbro: En privat nätverksbro är som en virtuell router. Det tilldelar sig en privat IP-adress och skapar en DHCP-server. De virtuella KVM-maskinerna som är anslutna till denna nätverksbro får IP-adresser via DHCP-servern på bron. Nätverksbryggan använder NAT (Network Address Translation) för att tillhandahålla internetanslutning till de virtuella KVM-maskinerna. De virtuella KVM-maskinerna som är anslutna till den privata nätverksbryggan kan kommunicera med varandra. KVM-värden (där de virtuella maskinerna körs) kan också få direkt åtkomst till de virtuella maskinerna. Men de virtuella maskinerna är inte tillgängliga från det externa nätverket.
Public Network Bridge: En offentlig nätverksbro är som en virtuell switch. Du kan ansluta ett fysiskt nätverksgränssnitt till bryggan, och de virtuella KVM-maskinerna som använder nätverksbryggan tilldelar sig IP-adresser med hjälp av DHCP-servern som körs på routern som det fysiska nätverksgränssnittet är anslutet till. Om en offentlig nätverksbro används kommer de virtuella KVM-maskinerna som är anslutna till den att få IP-adresser från din fysiska router eller nätverksenheter. De virtuella KVM-maskinerna kommer att vara tillgängliga från varandra, från KVM-värden såväl som från det externa nätverket.
I den här artikeln ska jag visa dig hur du skapar privata och offentliga KVM-nätverksbroar på CentOS 8. Så, låt oss komma igång.
Förutsättningar:
Om du vill prova exemplen från den här artikeln måste du ha KVM installerat på din CentOS 8-maskin. Om du inte har KVM installerad på din CentOS 8-maskin kan du läsa min artikel Installera KVM på CentOS 8 på LinuxHint.com för hjälp med att installera KVM på CentOS 8.
Du bör också skapa en virtuell KVM-maskin på din CentOS 8 KVM-värd. På så sätt kan du öva på att ändra nätverksgränssnittet för den virtuella maskinen också.
Skapa en KVM Private Network Bridge:
Som standard skapar KVM en standard privat nätverksbro. Nätverksbryggan använder som standard ett privat IP-undernät av klass C. I mitt fall använder den det 192.168.122.0/24 undernät.
Som du kan se, är min virtuella KVM-maskin som använder standard privat nätverksbro fick IP-adressen 192.168.122.60 som är en IP-adress från 192.168.122.0/24 undernät.
I det här avsnittet ska jag visa dig hur du skapar ett nytt KVM-nätverksgränssnitt för privata bryggor.
Du kan lista alla tillgängliga nätverksgränssnitt för KVM med följande kommando:
$ sudo virsh net-list - allSom du kan se standard nätverksgränssnittet listas.
KVM använder XML i stor utsträckning för sin konfiguration.
För att se hur standard nätverksbro är konfigurerad i XML, kör följande kommando:
$ sudo virsh net-redigera standard
XML-konfigurationsfilen för standard nätverksbro visas på skärmdumpen nedan. Som du kan se nätverksbryggan namn är standard. De fram- läget är nat eller översättning av nätverksadresser. Nätverket bro gränssnittsnamn är virbr0. De ip adressen till bron är 192.168.122.1 och nätmask är 255.255.255.0. DHCP-servern för nätverksbryggan är konfigurerad i dhcp blockera. Här är DHCP-adressintervallet 192.168.122.2 till 192.168.122.254. Så de virtuella maskinerna får IP-adresser från och med 192.168.122.2 till 192.168.122.254.
Skapa en ny XML-fil för att skapa din egen privata KVM-nätverksbro privat.xml med följande kommando:
$ nano privat.xml
Skriv in följande rader i din privat.xml fil.
När du är klar trycker du på
KVM-nätverksnamnet kommer att vara privat.
Bron kommer att använda nätverksadressöversättning för internetanslutning för virtuella KVM-maskiner.
Nätverksbryggans gränssnittsnamn kommer att vara virbr1.
Nätverksbryggan använder 192.168.150.0/24 privata nätverk undernät och kommer att tilldela IP-adressen 192.168.150.1 för brogränssnittet virbr1.
KVM kör en DHCP-server för nätverksbryggan. Det kommer att leverera IP-adresser till de virtuella maskinerna som använder denna nätverksbro. De virtuella KVM-maskinerna tilldelas IP-adresser inom intervallet 192.168.150.100 till 192.168.150.254.
Att skapa privat nätverksbro med privat.xml XML-konfigurationsfil, kör följande kommando:
$ sudo virsh net-definiera privat.xml
Som du kan se privat nätverksbro skapas. Det är inaktiv just nu.
$ sudo virsh net-list - all
Du kan aktivera privat nätverksbro med följande kommando:
$ sudo virsh net-start privat
Som du kan se privat bryggnätverket är aktiverat.
$ sudo virsh net-list - all
Som du kan se ett nätverksbrogränssnitt virbr1 skapas och den tilldelas en IP-adress 192.168.150.1.
$ ip a
Som du kan se nätverksbryggan privat startar inte automatiskt vid start. Eftersom allt fungerar är det en bra idé att automatiskt starta nätverksbryggan vid start.
$ sudo virsh net-list - all
För att tillåta privat nätverksbro för att starta automatiskt vid start, kör följande kommando:
$ sudo virsh net-autostart privat
Nätverksbryggan privat bör starta automatiskt vid start från och med nu.
$ sudo virsh net-list - all
Låt oss nu konfigurera en virtuell KVM-maskin för att använda den nyskapade privat nätverksbro.
Som du kan se har jag redan en virtuell KVM-maskin udesktop20_04-01 körs på min CentOS 8 KVM-värd.
$ sudo virsh list - all
Innan du ändrar konfigurationen på din virtuella KVM-maskin, se till att den är avstängd. Om din virtuella KVM-maskin körs kan du stänga av den med följande kommando:
$ sudo virsh avstängning udesktop20_04-01
Din virtuella KVM-maskin ska vara avstängd.
$ sudo virsh list - all
Om du vill redigera konfigurationen för din virtuella KVM-maskin kör du följande kommando:
$ sudo virsh redigera udesktop20_04-01
Alla KVM-konfigurationsfiler är i XML-format. Konfigurationsfilerna för virtuella KVM-maskiner är inget undantag.
Hitta gränssnitt avsnitt som markerat i skärmdumpen nedan. Som standard är standard nätverksbro används.
Ändra nätverksbryggan från standard till privat som markerat i skärmdumpen nedan.
NOTERA: Konfigurationsfilen öppnas med Vi-textredigeraren som standard. För att redigera konfigurationsfilen i Vi, tryck på i att gå till FÖRA IN läge. Tryck på för att spara konfigurationsfilen
Konfigurationen av den virtuella maskinen bör ändras.
Starta den virtuella KVM-maskinen med följande kommando:
$ sudo virsh start udesktop20_04-01
Den virtuella maskinen ska köras.
$ sudo virsh list - all
Anslut nu till din virtuella maskin med en VNC-klient och kontrollera den virtuella maskinens IP-adress med följande kommando:
$ ip aSom du kan se är IP-adressen 192.168.150.228 som är en IP-adress från 192.168.150.0/24 undernät. Detta är det undernät vi har konfigurerat för privat nätverksbro. Så, den privat nätverksbryggan fungerar.
Skapa en KVM Public Network Bridge:
Om du vill komma åt dina virtuella KVM-maskiner från ditt hemnätverk kan du konfigurera en KVM-nätverksbro och konfigurera de virtuella maskinerna som du vill ansluta från ditt hemnätverk för att använda den offentliga nätverksbryggan.
Innan du skapar en KVM-nätverksbro måste du skapa en nätverksbro manuellt med hjälp av Network Manager i CentOS 8.
Du kan starta Network Manager-kommandoradsgränssnittet med följande kommando:
$ sudo nmtui
Välj Aktivera en anslutning och tryck
Ditt kabelanslutna nätverksgränssnitt (ens160 i mitt fall) bör vara aktiv. Välj det och Avaktivera Det.
Ditt kabelanslutna nätverksgränssnitt bör inaktiveras. Tryck
Välj Redigera en anslutning och tryck
Välj det nätverksgränssnitt som du just har inaktiverat (ens160 i mitt fall), navigera till
Välj Radera och tryck
Jag har tagit bort det fysiska nätverksgränssnittet ens160 eftersom jag vill lägga till den i en port på nätverksbryggan kommer jag att skapa senare. Tänk på det som en nätverksbrytare. Du ansluter en Ethernet-kabel som kommer från din hemrouter till strömbrytaren och sedan kan du ansluta andra nätverksenheter till växeln. Dessa nätverksenheter får IP-adresser från routern. Samma analogi gäller också här. Det är bara virtuellt.
För att skapa en nätverksbro, navigera till
Välj Bro från listan, navigera till
Skriv in a Profilnamn och en Enhet namn. Nätverksbryggan virbr0 och virbr1 finns redan på min CentOS 8 KVM-värd. Så jag har använt det virbr2 som den Enhet namn. Du kan använda allt beskrivande som Profilnamn. Det behöver inte vara detsamma som Enhet namn.
Välj om du vill lägga till ett nätverksgränssnitt till bron
Välj Ethernet från listan, navigera till
Skriv in nätverksgränssnittsnamnet som du vill lägga till bron i Enhet sektion. De Profilnamn kan vara vad som helst beskrivande.
Jag lägger till mitt nätverksgränssnitt ens160 (som jag har tagit bort tidigare) till bron.
När du är klar navigerar du till
NOTERA: Du kan hitta namnet på alla tillgängliga nätverksgränssnitt för din CentOS 8 KVM-värd med följande kommando:
$ ip a
Nätverksgränssnittet (ens160 i mitt fall) bör läggas till bron.
När du är klar navigerar du till
En ny bro virbr2 ska skapas som du kan se på skärmdumpen nedan. Tryck
Välj Aktivera en anslutning och tryck
Som du kan se, bron virbr2 är aktiverad. Om den inte är aktiverad kan du aktivera den härifrån.
Tryck
Som du kan se den nyskapade bron virbr2 fick en IP-adress via DHCP från min hemrouter. Så den nyskapade bron virbr2 fungerar bra.
$ ip a
Nu när vi har en fungerande nätverksbro virbr2, vi kan lägga till det i KVM.
Skapa en ny XML-fil offentlig.xml med följande kommando:
$ nano allmänhet.xml
Skriv in följande rader med koder i offentlig.xml fil.
När du är klar trycker du på
Här kommer KVM-nätverksbronamnet att vara offentlig.
Nätverksbryggan fungerar bro läge.
Nätverksbryggan använder brogränssnittet virbr2 (det här är det vi just har skapat med nmtui-programmet).
För att skapa en KVM-nätverksbro med offentlig.xml konfigurationsfil, kör följande kommando:
$ sudo virsh nettodefinierar allmänheten.xml
Som du kan se offentlig nätverksbro skapas. Det är inaktiv just nu.
$ sudo virsh net-list - all
Du kan aktivera offentlig nätverksbro med följande kommando:
$ sudo virsh net-start allmänhet
Som du kan se offentlig bryggnätverket är aktiverat.
$ sudo virsh net-list - all
Nätverksbryggan offentlig startar inte automatiskt vid start. Eftersom allt fungerar är det en bra idé att automatiskt starta nätverksbryggan vid start.
$ sudo virsh net-list - all
För att tillåta offentlig nätverksbro för att starta automatiskt vid start, kör följande kommando:
$ sudo virsh net-autostart public
Nätverksbryggan offentlig bör starta automatiskt vid start från och med nu.
$ sudo virsh net-list - all
Låt oss nu konfigurera en virtuell KVM-maskin för att använda den nyskapade offentlig nätverksbro.
Som du kan se har jag redan en virtuell KVM-maskin udesktop20_04-01 körs på min CentOS 8 KVM-värd.
$ sudo virsh list - all
Innan du ändrar konfigurationen på din virtuella KVM-maskin, se till att den är avstängd. Om din virtuella KVM-maskin körs kan du stänga av den med följande kommando:
$ sudo virsh avstängning udesktop20_04-01
Din virtuella KVM-maskin ska vara avstängd.
$ sudo virsh list - all
Om du vill redigera konfigurationen för din virtuella KVM-maskin kör du följande kommando:
$ sudo virsh redigera udesktop20_04-01
Hitta gränssnitt avsnitt som markerat i skärmdumpen nedan. Vi har ändrat nätverksbryggan till privat i det tidigare avsnittet av denna artikel.
Ändra nätverksbryggan från privat till offentlig som markerat i skärmdumpen nedan.
NOTERA: Konfigurationsfilen öppnas med Vi-textredigeraren som standard. För att redigera konfigurationsfilen i Vi, tryck på i att gå till FÖRA IN läge. Tryck på för att spara konfigurationsfilen
Konfigurationen av den virtuella maskinen bör ändras.
Starta den virtuella KVM-maskinen med följande kommando:
$ sudo virsh start udesktop20_04-01
Den virtuella maskinen ska köras.
$ sudo virsh list - all
Anslut nu till din virtuella maskin med en VNC-klient och kontrollera den virtuella maskinens IP-adress med följande kommando:
$ ip aSom du kan se är IP-adressen 192.168.20.138 som är en IP-adress från 192.168.20.0/24 undernät. Detta är nätverksundernätet som min hemrouter använder just nu. Så, den offentlig bron fungerar.
Slutsats:
I den här artikeln har jag förklarat KVM: s privata och offentliga nätverksbro. Jag har också visat dig hur du konfigurerar KVM privata nätverksbroar liksom KVM offentliga nätverksbroar. Den här artikeln ska hjälpa dig att komma igång med att konfigurera KVM-nätverksbroar.