Linux podporuje implementaci softwarového síťového mostu pro reprodukci funkce síťového mostu, síťového zařízení, které propojuje dvě nebo více komunikačních sítí nebo síťových segmentů a poskytuje jim způsob, jak fungovat jako jedna síť. Funguje téměř jako síťový přepínač a v softwarovém smyslu se používá k implementaci konceptu a virtual network switch.

Typickým případem použití softwarového síťového přemostění je ve virtualizačním prostředí připojení virtuálních strojů (VM) přímo k síti hostitelského serveru. Tímto způsobem jsou virtuální počítače nasazeny ve stejné podsíti jako hostitel a mohou přistupovat ke službám, jako je např DHCP a mnohem víc.

V tomto článku se dozvíte různé způsoby, jak nastavit síťový most v Ubuntu a použít jej v rámci virtualizačního prostředí k vytvoření virtuální sítě v přemostěném režimu pod VirtualBox a KVMpro připojení virtuálních strojů ke stejné síti jako hostitel.

Instalace Network Bridge Utilities v Ubuntu

Začněte instalací bridge-utils který obsahuje nástroje pro konfiguraci ethernetového mostu Ubuntu pomocí správce balíčků apt, jak je znázorněno.

$ apt-get install bridge-utils

Dále určete název rozhraní pro vaše ethernetové zařízení pomocí příkazu IP, jak je uvedeno na obrázku.

$ ip ad
OR
$ ip add
Zkontrolujte síťová rozhraní v Ubuntu

Vytvoření síťového mostu pomocí NetPlan v Ubuntu

Netplan je jednoduchý a snadno použitelný front-end nástroj pro konfiguraci sítě v Linuxu pomocí YAML. V současné době podporuje NetworkManager a systemd-netword jako backendové nástroje.

Chcete-li nakonfigurovat síť pro rozhraní, jako je např bridgeupravte svůj netplan konfigurační soubor nalezený v /etc/netplan/.

Následuje příklad konfiguračního souboru, kde renderer je systemd-netword což je výchozí (nahradit enp1s0 název vašeho ethernetového rozhraní).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Konfigurační soubor Netplan
Konfigurační soubor Netplan

Uložte konfigurační soubor a aplikujte konfiguraci pro povolení sítě mostu spuštěním následujícího příkazu.

$ sudo netplan apply

Poté použijte brctl zobrazit všechny mosty v systému. V tomto případě je Ethernet je automaticky přidán jako port do mostu.

$ sudo brctl show
Zobrazit síťové mosty
Zobrazit síťové mosty

Pokud chcete vytvořený síťový most zrušit nebo deaktivovat, odstraňte jej pomocí následujících příkazů.

$ 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

Vytvoření síťového mostu pomocí Nmcli v Ubuntu

nmcli je široce používaný nástroj příkazového řádku správce sítě pro správu NetworkManager (vytvářet, zobrazovat, upravovat, mazat, aktivovat a deaktivovat síťová připojení) a zobrazovat stav síťového zařízení.

Chcete-li vytvořit síťový most pomocí nmclispusťte následující příkaz.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Vytvořte síťový most pomocí nástroje nmcli
Vytvořte síťový most pomocí nástroje nmcli

Poté přidejte Ethernet jako port v můstku, jak je znázorněno (nezapomeňte vyměnit enp1s0 název vašeho zařízení).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Přidejte porty síťového mostu
Přidejte porty síťového mostu

Dále potvrďte, že bridge byla vytvořena zobrazením všech síťových připojení.

$ sudo nmcli conn show --active
Ověřte síťový most
Ověřte síťový most

Dále aktivujte bridge připojení následovně (můžete použít buď název připojení/rozhraní nebo název UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Aktivujte síťové připojení Bridge
Aktivujte síťové připojení Bridge

Poté deaktivujte Ethernet nebo připojení.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Deaktivujte připojení Ethernet
Deaktivujte připojení Ethernet

Nyní zkuste ještě jednou zobrazit aktivní připojení Ethernet by nyní měl být otrokem v bridge připojení, jak je znázorněno na následujícím snímku obrazovky.

$ sudo nmcli conn show --active
Zkontrolujte Aktivní síťová připojení
Zkontrolujte Aktivní síťová připojení

Vytvoření síťového mostu pomocí nástroje nm-connection-editor Tool

Chcete-li otevřít nm-connection-editorspusťte z terminálu následující příkaz.

$ nm-connection-editor

z network connections v okně editoru klikněte na + podepsat pro přidání nového profilu připojení.

Přidat nové síťové připojení
Přidat nové síťové připojení

Dále zvolte typ připojení jako Bridge z rozbalovací nabídky a klikněte Create.

Vyberte Typ síťového připojení
Vyberte Typ síťového připojení

Dále nastavte název připojení mostu a název rozhraní.

Nastavte název připojení mostu
Nastavte název připojení mostu

Poté klikněte na Add přidat podřízené porty mostu, tj Ethernet jak je znázorněno na následujícím snímku obrazovky. Vybrat Ethernet jako typ připojení a klikněte Create.

Přidejte připojení síťového mostu
Přidejte připojení síťového mostu

Dále nastavte název připojení podle svých preferencí a klikněte Save.

Nastavte název nového připojení mostu
Nastavte název nového připojení mostu

Pod bridged připojení by se nyní mělo objevit nové připojení.

Ověřte připojení nového mostu
Ověřte připojení nového mostu

Pokud nyní otevřete editor síťových připojení ještě jednou, nové rozhraní mostu a rozhraní slave by měly existovat, jak je uvedeno na následujícím snímku obrazovky.

Zkontrolujte připojení síťového mostu
Zkontrolujte připojení síťového mostu

Dále aktivujte rozhraní můstku a deaktivujte rozhraní Ethernet pomocí příkazu nmcli.

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

Jak používat síťový most ve virtualizačním softwaru

Po nastavení a network bridge (virtuální síťový přepínač), můžete jej použít ve virtualizačním prostředí jako je např Oracle VirtualBox a KVM pro připojení virtuálních počítačů k hostitelské síti.

Použití síťového mostu v Oracle VirtualBox

OTEVŘENO VirtualBoxpak ze seznamu VMsvybrat VMa poté klikněte na jeho nastavení. V okně nastavení přejděte na Network a vyberte adapter (např Adapter 1).

Poté zaškrtněte volbu Enable Network Adapternastavte hodnotu připojeného k poli na Bridged Adapterpoté nastavte Name přemostěného rozhraní (např br0), jak je uvedeno na následujícím snímku obrazovky. Poté klikněte na OK.

Nakonfigurujte virtuální počítač tak, aby používal síť Bridge ve VirtualBoxu
Nakonfigurujte virtuální počítač tak, aby používal síť Bridge ve VirtualBoxu

Použití síťového mostu v KVM

Můžete použít nový síťový most pod KVM přidáním –network=bridge=br0 při vytváření nového virtuálního stroje pomocí 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 webové konzole bude vybrána automaticky. Kromě toho můžete také nakonfigurovat síťový most pomocí virsh-line a konfigurační soubor XML virtuálního počítače.

Pro více podrobností si přečtěte netplan a nmcli manuálové stránky (spuštěním man netplan a man nmcli) a také virtuální sítě libvirt a virtuálních sítí VirtualBox. Jakékoli dotazy nám můžete posílat prostřednictvím sekce komentářů níže.