Linux podporuje implementáciu softvérového sieťového mosta na reprodukciu funkcie sieťového mosta, sieťového zariadenia, ktoré prepája dve alebo viac komunikačných sietí alebo sieťových segmentov a poskytuje im spôsob, ako fungovať ako jedna sieť. Funguje takmer ako sieťový prepínač a v softvérovom zmysle sa používa na implementáciu konceptu a virtual network switch.

Typický prípad použitia softvérového sieťového premostenia je vo virtualizačnom prostredí na pripojenie virtuálnych strojov (VM) priamo k sieti hostiteľského servera. Takto sú VM nasadené na rovnakej podsieti ako hostiteľ a môžu pristupovať k službám ako napr DHCP a oveľa viac.

V tomto článku sa dozviete rôzne spôsoby nastavenia sieťového mosta Ubuntu a použiť ho v rámci virtualizačného prostredia na vytvorenie virtuálnej siete v premostenom režime pod VirtualBox a KVMna pripojenie virtuálnych počítačov k rovnakej sieti ako hostiteľ.

Inštalácia nástrojov sieťového mosta v Ubuntu

Začnite inštaláciou bridge-utils ktorý obsahuje nástroje na konfiguráciu ethernetového mosta Ubuntu pomocou správcu balíkov apt, ako je znázornené.

$ apt-get install bridge-utils

Ďalej identifikujte názov rozhrania pre vaše ethernetové zariadenie pomocou príkazu IP, ako je znázornené.

$ ip ad
OR
$ ip add
Skontrolujte sieťové rozhrania v Ubuntu

Vytvorenie sieťového mosta pomocou NetPlan v Ubuntu

Netplan je jednoduchý a ľahko použiteľný front-end nástroj na konfiguráciu siete v systéme Linux pomocou YAML. V súčasnosti podporuje NetworkManager a systemd-netword ako backendové nástroje.

Ak chcete nakonfigurovať sieť pre rozhranie, ako je napr bridgeupravte svoje netplan konfiguračný súbor nájdený v /etc/netplan/.

Nasleduje príklad konfiguračného súboru, kde je renderer je systemd-netword čo je predvolené (nahradiť enp1s0 názov vášho ethernetového rozhrania).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Konfiguračný súbor Netplan
Konfiguračný súbor Netplan

Uložte konfiguračný súbor a použite konfiguráciu na aktiváciu siete mosta spustením nasledujúceho príkazu.

$ sudo netplan apply

Potom použite brctl zobraziť všetky mosty v systéme. V tomto prípade, Ethernet sa automaticky pridá ako port k mostu.

$ sudo brctl show
Zobraziť sieťové mosty
Zobraziť sieťové mosty

Ak chcete spustiť alebo deaktivovať vytvorený sieťový most, odstráňte ho pomocou nasledujúcich príkazov.

$ 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

Vytvorenie sieťového mosta pomocou Nmcli v Ubuntu

nmcli je široko používaný nástroj príkazového riadka správcu siete na správu NetworkManager (vytvárať, zobrazovať, upravovať, mazať, aktivovať a deaktivovať sieťové pripojenia) a zobrazovať stav sieťového zariadenia.

Na vytvorenie sieťového mosta pomocou nmclispustite nasledujúci príkaz.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Vytvorte sieťový most pomocou nástroja nmcli
Vytvorte sieťový most pomocou nástroja nmcli

Potom pridajte Ethernet ako port v moste, ako je znázornené (nezabudnite vymeniť enp1s0 názov vášho zariadenia).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Pridajte porty sieťového mosta
Pridajte porty sieťového mosta

Ďalej potvrďte, že bridge bola vytvorená zobrazením všetkých sieťových pripojení.

$ sudo nmcli conn show --active
Overte sieťový most
Overte sieťový most

Ďalej aktivujte bridge pripojenie nasledujúcim spôsobom (môžete použiť názov pripojenia/rozhrania alebo názov UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Aktivujte sieťové pripojenie Bridge
Aktivujte sieťové pripojenie Bridge

Potom deaktivujte Ethernet alebo spojenie.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Deaktivujte ethernetové pripojenie
Deaktivujte ethernetové pripojenie

Teraz skúste ešte raz zobraziť aktívne pripojenia, Ethernet by teraz mal byť otrokom v bridge pripojenie, ako je znázornené na nasledujúcom obrázku obrazovky.

$ sudo nmcli conn show --active
Skontrolujte aktívne sieťové pripojenia
Skontrolujte aktívne sieťové pripojenia

Vytvorenie sieťového mosta pomocou nástroja nm-connection-editor

Na otvorenie nm-connection-editorspustite nasledujúci príkaz z terminálu.

$ nm-connection-editor

Z network connections v okne editora kliknite na + podpísať na pridanie nového profilu pripojenia.

Pridajte nové sieťové pripojenie
Pridajte nové sieťové pripojenie

Ďalej vyberte typ pripojenia ako Bridge z rozbaľovacej ponuky a kliknite Create.

Vyberte Typ sieťového pripojenia
Vyberte Typ sieťového pripojenia

Ďalej nastavte názov pripojenia mosta a názov rozhrania.

Nastavte názov pripojenia mosta
Nastavte názov pripojenia mosta

Potom kliknite na Add pridať mostové podriadené porty, tj Ethernet ako je znázornené na nasledujúcom obrázku obrazovky. Vyberte Ethernet ako typ pripojenia a kliknite na Create.

Pridajte pripojenie sieťového mosta
Pridajte pripojenie sieťového mosta

Ďalej nastavte názov pripojenia podľa svojich preferencií a kliknite Save.

Nastavte nový názov pripojenia mosta
Nastavte nový názov pripojenia mosta

Pod bridged spojenia, teraz by sa malo objaviť nové spojenie.

Overte pripojenie nového mosta
Overte pripojenie nového mosta

Ak teraz znova otvoríte editor sieťového pripojenia, nové rozhranie mosta a rozhranie podriadeného zariadenia by mali existovať, ako je uvedené na nasledujúcom obrázku.

Skontrolujte pripojenie sieťového mosta
Skontrolujte pripojenie sieťového mosta

Potom aktivujte rozhranie mosta a deaktivujte rozhranie Ethernet pomocou príkazu nmcli.

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

Ako používať sieťový most vo virtualizačnom softvéri

Po nastavení a network bridge (virtuálny sieťový prepínač), využijete ho vo virtualizačnom prostredí ako napr Oracle VirtualBox a KVM na pripojenie VM k hostiteľskej sieti.

Použitie sieťového mosta v Oracle VirtualBox

OTVORENÉ VirtualBoxpotom zo zoznamu VMsvyberte a VMa potom kliknite na jeho nastavenia. V okne nastavení prejdite na Network a vyberte možnosť adapter (napr Adapter 1).

Potom začiarknite možnosť Enable Network Adapternastavte hodnotu pripojenej k poľu na Bridged Adapterpotom nastavte Name premosteného rozhrania (napr br0), ako je uvedené na nasledujúcej snímke obrazovky. Potom kliknite na tlačidlo OK.

Nakonfigurujte VM na používanie siete Bridge vo VirtualBoxe
Nakonfigurujte VM na používanie siete Bridge vo VirtualBoxe

Použitie sieťového mosta v KVM

Môžete použiť nový sieťový most pod KVM pridaním –network=bridge=br0 pri vytváraní nového virtuálneho počítača pomocou 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

Z webovej konzoly sa vyberie automaticky. Okrem toho môžete tiež nakonfigurovať sieťový most pomocou virsh-line nástroj a konfiguračný súbor XML virtuálneho počítača.

Pre viac podrobností si prečítajte netplan a nmcli manuálové stránky (spustením man netplan a man nmcli), ako aj virtuálne siete libvirt a virtuálne siete v VirtualBox. Akékoľvek otázky nám môžete poslať prostredníctvom sekcie komentárov nižšie.