Kategorien
Anwendungen

Virtualisierung unter Debian

Wird auf Windows-Clients oft VirtualBox als Desktop-Virtualisierungslösung eigesetzt, stellt man nach dem Wechsel auf Debian fest, daß VirtualBox seit Buster nicht mehr in den Paketquellen enthalten ist.

Das Debian-Wiki empfieht als Ersatzlösung das auf QEMU/KVM basierende Paket virt-manager, welches in den „normalen“ Paketquellen enthalten ist und somit einfach installiert werden kann:

$ sudo apt install virt-manager

Nach dem ersten Aufruf poppt erst einmal ein Fenster „System policy prevents management of local virtualized systems“ zur Eingabe des Kennwortes hoch. Wer dies vermeiden möchte, kann seinen Benutzer der Gruppe „libvirt“ hinzufügen:

$ sudo usermod -aG libvirt $(whoami)

Anschließend kann nun eine virtuelle Maschine aufgesetzt (und verwendet) werden.

Netzwerkbrücke

Je nach Anwendungsszenario stellt man sehr schnell fest, daß zwar die virtuelle Maschine ohne Probleme überall ins Netz kommunizieren kann, eine Kommunikation vom Host zur virtuellen Maschine hingegen nicht möglich ist.

Um dies zu ermöglichen, muß eine virtuelle Netzwerkbrücke eingerichtet werden. Hierzu schlagen die meisten per Suchmaschinen auffindbaren Lösungsmöglichkeiten vor, den Netzwork-Manager zu deaktivieren und die Konfiguration der Netzwerkinterfaces komplett von Hand zu übernehmen, aber es funktioniert auch mittels Network-Manager, und das sogar recht einfach und elegant.

Zuerst einmal gilt es, die aktuelle Netzwerkverbindung sowie das verwendete Interface auszulesen

$ sudo nmcli connection show
NAME                         UUID                                  TYPE      DEVICE 
Kabelgebundene Verbindung 1  4e405dd1-dc75-3990-bfd1-fdb013e95f18  ethernet  ens192

in diesem Fall sind es „Kabelgebundene Verbindung 1“ und „ens192“.

Nun wird dem System die Netzwerkbrücke hinzugefügt

$ sudo nmcli connection add type bridge ifname br0 stp no
Verbindung »bridge-br0« (e7a07a8f-beac-4ffe-adcf-47d406a82177) erfolgreich hinzugefügt.

$ sudo nmcli connection show
NAME                         UUID                                  TYPE      DEVICE 
Kabelgebundene Verbindung 1  4e405dd1-dc75-3990-bfd1-fdb013e95f18  ethernet  ens192 
bridge-br0                   e7a07a8f-beac-4ffe-adcf-47d406a82177  bridge    br0

und die Netzwerkschnittstelle als Slave der Brücke zugewiesen

$ sudo nmcli connection add type bridge-slave ifname ens192 master br0
Verbindung »bridge-slave-ens192« (e4a63a0d-4e1b-4a82-b1af-bdc9aecaf593) erfolgreich hinzugefügt.

$ sudo nmcli connection show
NAME                         UUID                                  TYPE      DEVICE 
Kabelgebundene Verbindung 1  4e405dd1-dc75-3990-bfd1-fdb013e95f18  ethernet  ens192 
bridge-br0                   e7a07a8f-beac-4ffe-adcf-47d406a82177  bridge    br0    
bridge-slave-ens192          e4a63a0d-4e1b-4a82-b1af-bdc9aecaf593  ethernet  -- 

Als letzter Schritt wird dann die Brücke aktiviert

$ sudo nmcli connection up bridge-br0
Verbindung wurde erfolgreich aktiviert (master waiting for slaves) (Aktiver D-Bus-Pfad: /org/freedesktop/NetworkManager/ActiveConnection/3)

sowie die bisher verwendete Verbindung deaktiviert

$ sudo nmcli connection down "Kabelgebundene Verbindung 1"
Verbindung »Kabelgebundene Verbindung 1« wurde erfolgreich deaktiviert (aktiver D-Bus-Pfad: /org/freedesktop/NetworkManager/ActiveConnection/1)

Ein Blick in die Verbindungseinstellungen zeigt, daß der Wechsel erfolgreich war:

$ sudo nmcli connection show
NAME                         UUID                                  TYPE      DEVICE 
bridge-br0                   e7a07a8f-beac-4ffe-adcf-47d406a82177  bridge    br0    
bridge-slave-ens192          e4a63a0d-4e1b-4a82-b1af-bdc9aecaf593  ethernet  ens192 
Kabelgebundene Verbindung 1  4e405dd1-dc75-3990-bfd1-fdb013e95f18  ethernet  --    

Die so erzeugte Brücke kann dann in virt-manager für die Netzwerkverbindungen der virtuellen Maschinen verwendet werden.