Kapitel 8. Netzwerkkonfiguration
Diese Seite gibt einen Überblick über gebräuchliche Netzwerkkonfigurationen, die von Anwendungen genutzt werden, die auf libvirt basieren. Diese Informationen gelten für alle Hypervisoren, egal ob Xen, KVM oder andere. Weitere Informationen finden Sie in der Dokumentation zur libvirt-Netzwerkarchitektur.
Die zwei gebräuchlichsten Konfigurationen sind "Virtuelles Netzwerk" und "Gemeinsam verwendetes physisches Gerät". Ersteres ist identisch über alle Distributionen hinweg und im Lieferumfang enthalten. Letzteres dagegen erfordert eine distributionsspezifische, manuelle Konfiguration.
8.1. Network Address Translation (NAT) mit libvirt
Eine der häufigsten Methoden zur gemeinsamen Verwendung von Netzwerkverbindungen ist der Einsatz von Network Address Translation (NAT) Weiterleitung (auch "virtuelle Netzwerke" genannt).
In jeder standardmäßigen libvirt
-Installation ist NAT-basierte Konnektivität zu virtuellen Maschinen bereits integriert. Dies ist das sogenannte "Virtuelle Standardnetzwerk". Überprüfen Sie dessen Verfügbarkeit mit dem Befehl virsh net-list --all
.
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes
Falls es nicht vorhanden ist, kann die Beispiel-XML-Konfigurationsdatei neu geladen und aktiviert werden:
# virsh net-define /usr/share/libvirt/networks/default.xml
Das Standardnetzwerk ist durch /usr/share/libvirt/networks/default.xml
definiert.
Kennzeichnen Sie das Standardnetzwerk zum automatischen Start:
# virsh net-autostart default
Network default marked as autostarted
Starten Sie das Standardnetzwerk:
# virsh net-start default
Network default started
Sobald das libvirt
-Standardnetzwerk läuft, werden Sie ein isoliertes Bridge-Gerät sehen. Dieses Gerät besitzt keine physischen Schnittstellen, da es NAT- und IP-Weiterleitung verwendet, um sich mit der Außenwelt zu verbinden. Fügen Sie keine neuen Schnittstellen hinzu.
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
libvirt
fügt iptables
-Regeln hinzu, die Datenverkehr von und zu Gästen erlauben, die mit dem virbr0
-Gerät in den INPUT
, FORWARD
, OUTPUT
und POSTROUTING
-Ketten verknüpft sind. libvirt
versucht daraufhin, den ip_forward
-Parameter zu aktivieren. Einige andere Anwendungen deaktivieren möglicherweise ip_forward
, deshalb sollten Sie am Besten Folgendes zur /etc/sysctl.conf
-Datei hinzufügen.
net.ipv4.ip_forward = 1
Sobald die Host-Konfiguration abgeschlossen ist, kann ein Gast basierend auf seinem Namen mit dem virtuellen Netzwerk verbunden werden. Um einen Gast mit dem virtuellen Standardnetzwerk zu verbinden, kann folgendes XML im Gast verwendet werden:
<interface type='network'>
<source network='default'/>
</interface>
Note
Es steht Ihnen frei, ob Sie eine MAC-Adresse angeben möchten. Falls Sie keine angegeben, wird automatisch eine MAC-Adresse generiert. In einigen Fällen kann das manuelle Einstellen der MAC-Adresse jedoch sinnvoll sein.
<interface type='network'>
<source network='default'/>
<mac address='00:16:3e:1a:b3:4a'/>
</interface>