virt-manager: Virtuelles Netzwerk ohne integriertes DHCP/DNS erstellen

Veröffentlicht am Kategorisiert in Firewall, Linux, Virtualisierung Keine Kommentare zu virt-manager: Virtuelles Netzwerk ohne integriertes DHCP/DNS erstellen

In den meisten Fällen sollen virtuelle Maschinen auch untereinander oder mit dem Internet kommunizieren können. Virt-manager bietet standardmäßig das Netzwerk 192.168.122.0/24 mit NAT und integriertem DHCP-Server und DNS-Forwarding mithilfe von dnsmasq an. In meiner Testumgebung möchte ich später allerdings selber DHCP- und DNS-Server bereitstellen und benötige darum nur ein Netzwerk ohne weitere Netzwerkdienste.

In meinem Fall möchte ich das Netzwerk ipalab mit dem Adressraum 192.168.111.0/24 erstellen.

Ich greife im Rahmen meiner Artikelreihe auf meinen bestehenden Virtualisierungshost mit Remote-Zugriff per virt-manager und damut auf die QEMU/KVM-System-Session des Hosts zurück. Die Anleitung gilt aber auch für lokale Sessions.

1. Konfiguration eines virtuellen Netzwerks

Im virt-manager verbinde ich mich mit dem Host und öffne die Details:

virt-manager: Verbindungsdetails öffnen

Unter Virtuelles Netzwerk füge ich links unten ein neues Netzwerk hinzu:

virt-manager: Virtuelles Netzwerk

Das Netzwerk erhält den Namen ipalab und den IPv4-Adressraum 192.168.111.0/24. DHCP deaktiviere ich, da sich darum später mächtigere DHCP-Server kümmern werden:

virt-manager: Virtuelles Netzwerk erstellen

Auf IPv6 verzichte ich ebenfalls. Die virtuelle Netzwerkbücke ist an alle physischen Schnittstellen angeschlossen für den Modus Weitergeleitet (routed) konfiguriert. Der DNS-Domänenname soll leer bleiben:

virt-manager: Schnittstellen des physischen Netzwerks

Wenn der Assistent mit der Fehlermeldung abbricht, es fehle eine Firewall, muss auf dem Virtualisierungshost noch firewalld installiert und gestartet und anschließend der Dienst libvirtd neugestartet werden!

Nach Abschluss des Assistenten wird das Netzwerk in der Liste angezeigt. Das Fenster kann nun geschlossen werden.

2. Konfiguration der Firewall

Auf den meisten jüngeren Systemen wird firewalld als Firewall eingesetzt und in dieser Anleitung auch auf dem Virtualisierurngshost vorausgesetzt. Es handelt sich um eine Abstraktionsschicht für iptables. Man könnte jetzt bereits eine virtuelle Maschine erstellen und feststellen, dass sie zwar externe Ziele mit der IP-Adresse anpingen, aber selbst mit eingetragenen Google-DNS-Servern noch keine Namen auflösen könnte.

Eine Möglichkeit wäre es, entweder das Quellnetzwerk192.168.111.0/24 zur firewalld-Zone trusted hinzuzufügen, die jeglichen Traffic erlaubt. Auch Kommunikation von vertrauenswürdigen internen Subnetzen (in diesem Beispiel 192.168.1.0/24) mit den virtuellen Maschinen wäre wünschenswert:

sudo firewall-cmd --zone trusted --add-source 192.168.111.0/24 --permanent
sudo firewall-cmd --zone trusted --add-source 192.168.1.0/24 --permanent
sudo firewall-cmd --reload

Selbst wenn die Netzwerkschnittstelle selber in einer anderen Zone ist (zum Beispiel public), sollte die Zone, der das Quellnetzwerk zugewiesen wurde, Vorrang haben.

DNS-Anfragen können nun von einer virtuellen Maschine über die virtuelle Brücke zur externen Schnittstelle und zu einem in der Maschine angegeben DNS-Server weitergeleitete werden, und die Antworten werden auch ordentlich zugestellt.

Von Pascal Korz

IT Systems Engineer in und aus dem schönen Köln

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert