3 måter å lage en nettverksbro i RHEL/CentOS 8


En nettverksbro er en datalinklagsenhet som kobler sammen to eller flere nettverkssegmenter, og tilbyr kommunikasjon mellom dem. Den oppretter et enkelt nettverksgrensesnitt for å sette opp et enkelt samlet nettverk fra flere nettverk eller nettverkssegmenter. Den videresender trafikk basert på MAC-adressene til verter (lagret i en MAC-adressetabell).

Linux-operativsystemer som RHEL (Red Hat Enterprise Linux) og CentOS 8 støtter implementeringen av en programvarebasert nettverksbro for å emulere en maskinvare bro. Broen tjener en lignende funksjon som en nettverkssvitsj; den fungerer mer eller mindre som en virtuell nettverkssvitsj.

Det er flere brukstilfeller av nettverksbro, en praktisk applikasjon er i et virtualiseringsmiljø for å lage en virtuell nettverkssvitsj som brukes til å koble virtuelle maskiner (VM-er) til samme nettverk som verten.

Denne veiledningen viser flere måter å sette opp en nettverksbro i RHEL/CentOS 8 og bruke den til å sette opp virtuelle nettverk i en brokoblet modus under Oracle VirtualBox og KVM, for å koble virtuelle maskiner til samme nettverk som verten.

På denne siden:
  1. Opprette en nettverksbro ved hjelp av nmcli-verktøyet
  2. Opprette en nettverksbro via Cockpit Web Console
  3. Opprette en nettverksbro ved hjelp av nm-connection-editor
  4. Slik bruker du nettverksbroen i en virtualiseringsprogramvare

Sette opp en nettverksbro ved hjelp av nmcli-verktøyet

nmcli er et mye brukt, skriptbart og kraftig kommandolinjeverktøy for å kontrollere NetworkManager og rapportere nettverksstatus. Den kommuniserer direkte til NetworkManager og kontrollerer kun systemomfattende tilkoblinger. Viktigere, det lar brukere bruke forkortelser, så lenge de er et unikt prefiks i settet med mulige alternativer.

Først bruker du IP-kommandoen til å identifisere nettverksgrensesnittene (både fysiske og virtuelle) som er koblet til maskinen din og nettverkene de er koblet til.

ip add

Fra utgangen av kommandoen ovenfor kalles Ethernet-grensesnittet enp2s0, vi vil legge til dette grensesnittet til broen som en slave.

Deretter, for å liste de aktive nettverkstilkoblingene på testsystemet, bruk følgende nmcli-kommando.

nmcli conn show --active

Viktig: Hvis libvirtd-demonen (libvirtd) er installert og startet, vil standard nettverksgrensesnitt som representerer nettverksbroen (virtuell nettverkssvitsj) er virbr0 som vist i skjermbildene ovenfor. Den er konfigurert til å kjøre i NAT-modus.

Deretter oppretter du et nettverksbro-grensesnitt ved å bruke følgende nmcli-kommando, der conn eller con står for tilkobling, og tilkoblingsnavnet er br0 og grensesnittnavnet er også br0.

nmcli conn add type bridge con-name br0 ifname br0

Merk: I en brokoblet modus er de virtuelle maskinene lett tilgjengelige for det fysiske nettverket, de vises innenfor samme undernett som vertsmaskinen og de kan få tilgang til tjenester som f.eks. DHCP.

For å angi en statisk IP-adresse, kjør følgende kommandoer for å angi IPv4-adresse, nettverksmaske, standard gateway og DNS-server for br0-tilkoblingen (angi verdiene i henhold til miljøet ditt).

nmcli conn modify br0 ipv4.addresses '192.168.1.1/24'
nmcli conn modify br0 ipv4.gateway '192.168.1.1'
nmcli conn modify br0 ipv4.dns '192.168.1.1'
nmcli conn modify br0 ipv4.method manual

Legg nå til Ethernet-grensesnittet (enp2s0) som en bærbar enhet til broen (br0)-tilkoblingen som vist.

nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp2s0 master br0

Ta deretter opp eller aktiver broforbindelsen, du kan bruke tilkoblingsnavnet eller UUID som vist.

nmcli conn up br0
OR
nmcli conn up 2f03943b-6fb5-44b1-b714-a755660bf6eb

Deaktiver eller fjern deretter Ethernet- eller Kablet-tilkoblingen.

nmcli conn down Wired\ connection\ 1
OR
nmcli conn down e1ffb0e0-8ebc-49d0-a690-2117ca5e2f42

Nå når du prøver å liste de aktive nettverkstilkoblingene på systemet, skal broforbindelsen vises på listen.

nmcli conn show  --active

Deretter bruker du følgende bro-kommando for å vise gjeldende broportkonfigurasjon og flagg.

bridge link show

For å deaktivere broforbindelsen og slette den, kjør følgende kommandoer. Merk at du først og fremst må aktivere den kablede tilkoblingen.

nmcli conn up Wired\ connection\ 1
nmcli conn down br0
nmcli conn del br0
nmcli conn del bridge-br0

For mer informasjon, se håndboksiden for nmcli.

man nmcli

Opprette en nettverksbro via Cockpit Web Console

Cockpiten er et lett, interaktivt og brukervennlig webbasert serveradministrasjonsgrensesnitt. For å samhandle med systemets nettverkskonfigurasjon bruker cockpiten NetworkManager og DBus API-ene den gir.

For å legge til en bro, gå til Nettverk og klikk deretter Legg til bro som uthevet i følgende bilde.

Et popvindu med alternativer for å legge til en ny bro vises. Angi bronavnet og velg portene som vist i følgende skjermbilde. Du kan eventuelt aktivere STP (Spanning Tree Protocol) og deretter klikke Bruk.

Under listen over grensesnitt skal den nye broen nå vises og Ethernet-grensesnittet skal deaktiveres.

For å se broen i detalj, dobbeltklikk på den. Det er alternativer for å ta den ned eller slette, legge til en ny portenhet til den og mer.

Opprette en nettverksbro ved hjelp av nm-connection-editor-applikasjonen

nm-connection-editor er et grafisk redigeringsverktøy for nettverkstilkobling for NetworkManager, som brukes til å legge til, fjerne og endre nettverkstilkoblinger lagret av NetworkManager. Eventuelle modifikasjoner kan bare fungere hvis NetworkManager kjører.

For å starte den, kjør kommandoen nm-connection-editor som root på kommandolinjen eller åpne den fra systemmenyen.

nm-connection-editor

Når den åpnes, klikker du på plusstegnet for å legge til en ny tilkobling som uthevet i følgende skjermbilde.

Fra pop-vinduet, velg tilkoblingstypen fra rullegardinmenyen, Bridge i dette tilfellet og klikk Opprett.

Angi deretter en broforbindelse og grensesnittnavn, og klikk deretter Legg til for å legge til en broport. Velg Ethernet som tilkoblingstype. Klikk deretter Opprett.

Deretter redigerer du tilkoblingsdetaljene for portenheten og klikker Lagre.

Nå skal den brokoblede porten legges til listen over brokoblede forbindelser. Klikk deretter Lagre.

Fra tilkoblingseditorens hovedgrensesnitt bør du kunne se den nye brokoblede tilkoblingen og brogrensesnittet som vist i følgende skjermbilde.

Gå nå videre for å aktivere broforbindelsen og deaktiver den kablede forbindelsen fra kommandolinjen ved å bruke nmcli-verktøyet som vist før.

nmcli conn up br0
nmcli conn down Wired\ connection\ 1

Slik bruker du nettverksbroen i en virtualiseringsprogramvare

I denne delen vil vi vise hvordan du bruker en bro til å koble virtuelle maskiner til vertsnettverket, under Oracle VirtualBox og KVM som forklart nedenfor.

Bruke en nettverksbro i Oracle VirtualBox

For å konfigurere en virtuell maskin til å bruke en brokoblet adapter, velg den fra listen over VM-er, gå deretter til innstillingene, klikk Nettverk og velg adapter (f.eks. >Adapter 1), sørg deretter for at Aktiver nettverksadapter-alternativet er merket, sett tilkoblet til som Bridged Adapter, og velg deretter navnet på det brokoblede grensesnittet (br0) og klikk Ok.

Bruke en nettverksbro i KVM

For å bruke nettverksbroen opprettet ovenfor under KVM, bruk --network=bridge=br0-alternativet mens virtuelle maskiner bruker kommandolinjegrensesnittet, bruker virt -installkommandoen.

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

Du kan like godt opprette flere nettverk og konfigurere dem ved å bruke virsh-kommandolinjeverktøyet, og en VMs XML-konfigurasjonsfil kan redigeres for å bruke et av disse nye brokoblede nettverkene.

I denne veiledningen har vi vist hvordan du setter opp en nettverksbro i RHEL/CentOS 8 og bruker den innenfor for å koble VM-er til samme nettverk til verten, under Oracle VirtualBox > og KVM.

Som vanlig kan du nå oss via tilbakemeldingsskjemaet nedenfor for spørsmål eller kommentarer. Du kan finne flere detaljer for å forstå virtuelle nettverk og konfigurere en nettverksbro i RHEL 8-dokumentasjonen.