Linux understøtter implementeringen af ​​en softwarenetværksbro til at reproducere funktionen af ​​en netværksbro, en netværksenhed, der forbinder to eller flere kommunikationsnetværk eller netværkssegmenter, hvilket giver dem mulighed for at fungere som et enkelt netværk. Den fungerer næsten som en netværksswitch, og i softwaremæssig forstand bruges den til at implementere konceptet en virtual network switch.

Et typisk brugstilfælde af softwarenetværksbro er i et virtualiseringsmiljø for at forbinde virtuelle maskiner (VM’er) direkte til værtsservernetværket. På denne måde implementeres VM’erne på det samme undernet som værten og kan få adgang til tjenester som f.eks DHCP og meget mere.

I denne artikel lærer du forskellige måder at opsætte en netværksbro på Ubuntu og brug det i et virtualiseringsmiljø til at skabe virtuelt netværk i en brokoblet tilstand under VirtualBox og KVMfor at forbinde virtuelle maskiner til det samme netværk som værten.

Installation af Network Bridge Utilities i Ubuntu

Begynd med at installere bridge-utils som indeholder værktøjer til at konfigurere Ubuntu ethernet-broen ved hjælp af apt-pakkehåndteringen som vist.

$ apt-get install bridge-utils

Identificer derefter interfacenavnet for din Ethernet-enhed ved hjælp af IP-kommandoen som vist.

$ ip ad
OR
$ ip add
Tjek netværksgrænseflader i Ubuntu

Oprettelse af en netværksbro ved hjælp af NetPlan i Ubuntu

Netplan er et simpelt og brugervenligt frontend-værktøj til at konfigurere netværk i Linux ved hjælp af YAML. Det understøtter i øjeblikket NetworkManager og systemd-netword som backend-værktøjer.

For at konfigurere netværk til en grænseflade som f.eks bridgerediger din netplan konfigurationsfil fundet i /etc/netplan/.

Det følgende er et eksempel på en konfigurationsfil, hvor renderer er systemd-netword som er standard (erstat enp1s0 dit Ethernet-grænsefladenavn).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Netplan konfigurationsfil
Netplan konfigurationsfil

Gem konfigurationsfilen og anvend konfigurationen for at aktivere bronetværket ved at køre følgende kommando.

$ sudo netplan apply

Brug derefter brctl for at vise alle broer på systemet. I dette tilfælde Ethernet tilføjes automatisk som en havn til broen.

$ sudo brctl show
Vis netværksbroer
Vis netværksbroer

Hvis du vil fjerne eller deaktivere den oprettede netværksbro, skal du slette den ved hjælp af følgende kommandoer.

$ sudo ip link set enp1s0 up
$ sudo ip link set br0 down
$ sudo brctl delbr br0
OR
$ sudo nmcli conn up Wired connection 1
$ sudo nmcli conn down br0
$ sudo nmcli conn del br0
$ sudo nmcli conn del bridge-br0

Oprettelse af en netværksbro ved hjælp af Nmcli i Ubuntu

nmcli er et udbredt netværksmanager kommandolinjeværktøj til at administrere NetworkManager (opret, vis, rediger, slet, aktiver og deaktiver netværksforbindelser) og visning af netværksenhedsstatus.

For at oprette en netværksbro ved hjælp af nmclikør følgende kommando.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Opret en netværksbro ved hjælp af nmcli-værktøjet
Opret en netværksbro ved hjælp af nmcli-værktøjet

Tilsæt derefter Ethernet som port i broen som vist (husk at udskifte enp1s0 dit enhedsnavn).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Tilføj en netværksbroporte
Tilføj en netværksbroporte

Bekræft derefter, at bridge er oprettet ved at vise alle netværksforbindelser.

$ sudo nmcli conn show --active
Bekræft netværksbroen
Bekræft netværksbroen

Aktivér derefter bridge forbindelse som følger (du kan bruge enten forbindelsen/grænsefladenavnet eller UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Aktiver Bridge Network Connection
Aktiver Bridge Network Connection

Deaktiver derefter Ethernet eller forbindelse.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Deaktiver Ethernet-forbindelse
Deaktiver Ethernet-forbindelse

Prøv nu at se aktive forbindelser igen, den Ethernet skulle nu være en slave i bridge forbindelse som vist på det følgende skærmbillede.

$ sudo nmcli conn show --active
Tjek Aktive netværksforbindelser
Tjek Aktive netværksforbindelser

Oprettelse af en netværksbro ved hjælp af nm-connection-editor Tool

For at åbne nm-connection-editorkør følgende kommando fra terminalen.

$ nm-connection-editor

Fra network connections editor vindue, klik på + tegn for at tilføje en ny forbindelsesprofil.

Tilføj en ny netværksforbindelse
Tilføj en ny netværksforbindelse

Vælg derefter forbindelsestypen som Bridge fra rullemenuen og klik Create.

Vælg netværksforbindelsestype
Vælg netværksforbindelsestype

Indstil derefter broforbindelsesnavnet og interfacenavnet.

Indstil broforbindelsesnavn
Indstil broforbindelsesnavn

Klik derefter på Add at tilføje broens slaveporte, dvs Ethernet som vist på det følgende skærmbillede. Vælg Ethernet som forbindelsestype og klik Create.

Tilføj en netværksbroforbindelse
Tilføj en netværksbroforbindelse

Indstil derefter forbindelsesnavnet efter dine præferencer og klik Save.

Indstil nyt broforbindelsesnavn
Indstil nyt broforbindelsesnavn

Under bridged forbindelser, skulle den nye forbindelse nu vises.

Bekræft ny broforbindelse
Bekræft ny broforbindelse

Hvis du nu åbner netværksforbindelseseditoren igen, skulle den nye bridge-grænseflade og slave-grænsefladen eksistere som angivet i det følgende skærmbillede.

Tjek netværksbroforbindelse
Tjek netværksbroforbindelse

Aktiver derefter brogrænsefladen og deaktiver Ethernet-grænsefladen ved hjælp af nmcli-kommandoen.

$ sudo nmcli conn up br0
$ sudo nmcli conn down Ethernet connection 1

Sådan bruger du en netværksbro i en virtualiseringssoftware

Efter opsætning af en network bridge (virtuel netværksswitch), kan du bruge den i et virtualiseringsmiljø som f.eks Oracle VirtualBox og KVM at forbinde VM’er til værtsnetværket.

Brug af en netværksbro i Oracle VirtualBox

Åben VirtualBoxderefter fra listen over VMsvælg en VM, og klik derefter på dens indstillinger. Fra indstillingsvinduet skal du gå til Network og vælg en adapter (for eksempel Adapter 1).

Tjek derefter indstillingen Enable Network Adapterskal du indstille værdien af ​​det vedhæftede til feltet til Bridged Adapterog indstil derefter Name af den brokoblede grænseflade (f br0) som angivet i det følgende skærmbillede. Klik derefter på Ok.

Konfigurer VM til at bruge Bridge Network i VirtualBox
Konfigurer VM til at bruge Bridge Network i VirtualBox

Brug af en netværksbro i KVM

Du kan bruge den nye netværksbro under KVM ved at tilføje –network=bridge=br0 mens du opretter en ny virtuel maskine ved hjælp af virt-install.

# virt-install --virt-type=kvm --name Ubuntu18.04 --ram 1536 --vcpus=4 --os-variant=ubuntu18.04 --cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2

Fra webkonsollen vælges den automatisk. Desuden kan du også konfigurere en netværksbro ved hjælp af virsh-line-værktøj og en VM’s XML-konfigurationsfil.

For flere detaljer, læs netplan og nmcli man-sider (ved at køre man netplan og man nmcli) samt virtuelt netværk i libvirt og virtuelt netværk i VirtualBox. Du kan sende eventuelle spørgsmål til os via kommentarfeltet nedenfor.