Springe zum Inhalt

Merkzettel für das Einrichten einer Bridge für libvirt (damit VMs auch ohne NAT mit der Außenwelt reden können bzw. die VM auch von außen ohne Kunstgriffe erreichbar ist):

  • Network-Manager stoppen und deaktivieren:
    1. systemctl stop NetworkManager.service
    2. systemctl disable NetworkManager.service
  • Interface Settings manuell in /etc/network/interfaces eintragen, Bridge-Parameter angeben und Nameserver manuell festlegen:
    1. auto br0
    2.      address 192.168.0.10
    3.      netmask 255.255.255.0
    4.      gateway 192.168.0.1
    5.      bridge_ports enp3s0
    6.      bridge_stp on
    7.      bridge_maxwait 0
    8.      dns-search local
    9.      dns-nameserver 192.168.0.1
  • Rechner neustarten

Die Bridge sollte nun korrekt konfiguriert sein und folgendermaßen aussehen:

  1. # ifconfig br0
  2. br0       Link encap:Ethernet  Hardware Adresse 50:xx:xx:xx:xx:xx  
  3.           inet Adresse:192.168.0.10  Bcast:192.168.0.255  Maske:255.255.255.0
  4.           inet6-Adresse: fe80::xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Verbindung
  5.           inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
  6.           inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
  7.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
  8.           RX-Pakete:39478 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
  9.           TX-Pakete:41158 Fehler:0 Verloren:0 Überläufe:0 Träger:0
  10.           Kollisionen:0 Sendewarteschlangenlänge:1000 
  11.           RX-Bytes:42091131 (42.0 MB)  TX-Bytes:6646905 (6.6 MB)
  12.  
  13. # brctl show br0
  14. bridge name	bridge id		STP enabled	interfaces
  15. br0             8000.50xxxxxxxxxx       yes             enp3s0

Anschließend kann die Bridge dann auch virtuellen Maschinen mit z.B. virt-manager zugewiesen werden:

Bridge Interface in virt-manager

Beim Anlegen von virtuellen Maschinen mit virt-manager wird standardmäßig in der VM eine Grafikkarte mit dem Treiber QXL erstellt und die Anzeige auf Spice gestellt. Das ist ansich gut so, denn diese Kombination ist aktuell die schnellste Möglichkeit, grafische Elemente einer VM darzustellen. Wenn man dann in der VM arbeitet kann es jedoch vorkommen, dass einzelne Buchstaben in der Anzeige fehlen und das auch noch unabhängig davon, ob man nun virt-viewer oder spicec zur Anzeige des VM-Bildschirms verwendet:

KVM fehlende Buchstaben

Der Fehler liegt im QXL-Treiber. Dieser kann aktuell nicht richtig mit Composite umgehen. Abhilfe schafft, dem Kernel der VM einen Parameter hinzuzufügen:

  1. hinzufügen von "nomodeset" zu GRUB_CMDLINE_LINUX_DEFAULT in /etc/defaults/grub
  2. "update-grub" zur Aktualisierung von Grub

Nach einem Neustart der VM wirkt der neue Kernelparameter dann und der oben beschriebene Fehler tritt nicht mehr auf.

Weitere Informationen: