Vorige: , Nach oben: Virtuelle Maschinen   [Inhalt][Index]


5.2 Netzwerk-Routing anschalten in libvirt

Wenn die Maschine, auf der Ihre virtuellen Maschinen laufen sollen, nur eine drahtlose Verbindung ins Netzwerk hat, haben Sie keine Möglichkeit, eine echte Netzwerkbrücke zu deren Anbindung einzurichten, wie wir sie im vorigen Abschnitt beschrieben haben (siehe Netzwerkbrücke für QEMU). Ihnen bleibt die zweitbeste Option, eine virtuelle Netzwerkbrücke mit statischem Routing zu benutzen und eine mit libvirt betriebene virtuelle Maschine so einzurichten, dass sie benutzt wird (zum Beispiel mit Hilfe der grafischen Benutzeroberfläche virt-manager). Das ist ähnlich zu dem voreingestellten Betriebsmodus von QEMU/libvirt, außer dass wir, statt NAT (Network Address Translation) zum Einsatz zu bringen, mit statischen Routen die IP-Adresse der VM (virtuellen Maschine) ins LAN (Local Area Network) aufnehmen. Damit wird eine beidseitige Verbindung zu und von der virtuellen Maschine möglich, damit alle in Ihrem Netzwerk Zugriff auf die auf der virtuellen Maschine angebotenen Dienste bekommen.

5.2.1 Eine virtuelle Netzwerkbrücke anlegen

Eine virtuelle Netzwerkbrücke besteht aus mehreren Komponenten bzw. Konfigurationen wie einer TUN-Schnittstelle („Netzwerk-Tunnel-Schnittstelle“), DHCP-Server (dnsmasq) und Firewall-Regeln (iptables). Mit dem Befehl virsh aus dem Paket libvirt lässt sich die virtuelle Bridge sehr einfach anlegen. Zuerst müssen Sie wissen, welches Netzwerk-Subnetz Ihre virtuelle Brücke haben soll. Wenn Ihrem LAN zu Hause das ‘192.168.1.0/24’-Netzwerk gehört, könnten Sie z.B. ‘192.168.2.0/24’ vergeben. Legen Sie eine XML-Datei an z.B. als /tmp/virbr0.xml mit folgendem Inhalt:

<network>
  <name>virbr0</name>
  <bridge name="virbr0" />
  <forward mode="route"/>
  <ip address="192.168.2.0" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.2.1" end="192.168.2.254"/>
    </dhcp>
  </ip>
</network>

Damit legen Sie die Schnittstelle mit Hilfe des virsh-Befehls an, welchen Sie als Administratorbenutzer root ausführen:

virsh net-define /tmp/virbr0.xml
virsh net-autostart virbr0
virsh net-start virbr0

Die Schnittstelle ‘virbr0’ müsste jetzt zum Beispiel in der Ausgabe des Befehls ‘ip address’ zu sehen sein. Sie wird automatisch gestartet, sobald Ihre virtuelle Maschine mit libvirt gestartet wird.

5.2.2 Statische Routen für Ihre virtuelle Netzwerkbrücke einrichten

Wenn Sie Ihre virtuelle Maschine so eingerichtet haben, dass sie auf der neu geschaffenen Schnittstelle ‘virbr0’ für die virtuelle Bridge läuft, sollte sie von sich aus bereits eine IP wie ‘192.168.2.15’ über DHCP beziehen und darüber von dem Wirts-Serverrechner aus erreichbar sein mit ‘ping 192.168.2.15’ oder entsprechend. Zum Schluss fehlt noch eine letzte Konfiguration, damit die VM auch das externe Netzwerk erreichen kann: Sie müssen im für das Netzwerk zuständigen Router statische Routen hinzufügen.

In diesem Beispiel gehen wir davon aus, dass das LAN-Netzwerk bei Ihnen den Block ‘192.168.1.0/24’ bekommt und die Router-Einstellungswebseite könnte z.B. unter http://192.168.1.1 verfügbar sein. Wenn auf Ihrem Router die Firmware von libreCMC läuft, würden Sie nach Netzwerk → Statische Routen navigieren (auf die Seite https://192.168.1.1/cgi-bin/luci/admin/network/routes) und dort einen neuen Eintrag für ‘Statische IPv4-Routen’ mit den folgenden Informationen anlegen:

Schnittstelle

lan

Ziel

192.168.2.0

IPv4-Netzmaske

255.255.255.0

IPv4-Gateway

Server-IP

Routen-Typ

unicast

Dabei schreiben Sie statt Server-IP die IP-Adresse der Wirtsmaschine, auf der die VM laufen. Diese sollte als statische Adresse eingerichtet sein.

Sobald Sie diese neue statische Route speichern und anwenden, sollten Sie sich von und nach außen mit Ihrer VM verbinden können. Um zu überprüfen, ob es funktioniert, führen Sie z.B. den Befehl ‘ping gnu.org’ aus.


Vorige: Netzwerkbrücke für QEMU, Nach oben: Virtuelle Maschinen   [Inhalt][Index]