Vorige: Netzwerkbrücke für QEMU, Nach oben: Virtuelle Maschinen [Inhalt][Index]
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.
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.
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:
lan
192.168.2.0
255.255.255.0
Server-IP
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]