Product SiteDocumentation Site

Kapitel 8. Netzwerkkonfiguration

8.1. Network Address Translation (NAT) mit libvirt
8.2. Bridged-Netzwerk mit libvirt
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).
Host-Konfiguration
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
Gastkonfiguration
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>