Die Virtualisierung von Servern mit KVM (Kernel-based Virtual Machine) ist heute eine Standardtechnik in Rechenzentren. Eine saubere Einrichtung von KVM und libvirt sowie eine korrekt konfigurierte Netzwerkumgebung über Bridge-Interfaces und Netfilter ist entscheidend, um Performance, Sicherheit und Management-Flexibilität zu gewährleisten. In diesem Tutorial lernen Sie, wie Sie eine robuste Virtualisierungsumgebung auf Linux aufbauen.
KVM Installation und Kernel-Konfiguration
Bevor virtuelle Maschinen betrieben werden können, muss KVM und die dazugehörigen Tools installiert und aktiviert werden. Der Linux-Kernel muss die Virtualisierungsfunktionen unterstützen.
Prüfen der Virtualisierungsfähigkeit
egrep -c '(vmx|svm)' /proc/cpuinfo
Ein Wert größer 0 bedeutet, dass die CPU Hardware-Virtualisierung unterstützt. Für Intel-Prozessoren wird vmx, für AMD svm angezeigt.
KVM und Tools installieren
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
Dies installiert KVM, libvirt-Dienste und die Netzwerktools für Bridge-Setup sowie die GUI für Management.
libvirt Konfiguration
libvirt übernimmt die Verwaltung von virtuellen Maschinen, Storage-Pools und Netzwerkinterfaces. Eine saubere Konfiguration sorgt für stabile VM-Operationen und konsistente Berechtigungen.
libvirtd Dienst prüfen
sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd
Stellen Sie sicher, dass der libvirt-Dienst aktiv läuft, um VMs starten zu können.
Benutzerberechtigungen
sudo usermod -aG libvirt $USER
newgrp libvirt
Nur Benutzer in der libvirt-Gruppe können ohne Root-Rechte VMs starten und konfigurieren.
Bridge Netzwerk Setup
Virtuelle Maschinen benötigen Zugang zum Host-Netzwerk. Eine Bridge erlaubt den VMs, direkt im Netzwerk zu erscheinen, ohne NAT.
Bridge erstellen
sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection add type bridge-slave ifname enp3s0 master br0
sudo nmcli connection up br0
Hier wird eine Bridge br0 erstellt und die physische Netzwerkschnittstelle enp3s0 als Slave angebunden.
IP-Konfiguration auf der Bridge
sudo nmcli connection modify br0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify br0 ipv4.gateway 192.168.1.1
sudo nmcli connection modify br0 ipv4.method manual
sudo nmcli connection up br0
Die IP-Adresse des Hosts wird auf die Bridge gelegt, nicht auf die physische NIC.
Netfilter für Bridge Traffic
Damit iptables/nftables Regeln auf bridged Traffic angewendet werden, muss das Kernel-Modul und entsprechende Parameter aktiviert werden.
Bridge-NF aktivieren
sudo modprobe br_netfilter
sudo sysctl -w net.bridge.bridge-nf-call-iptables=1
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1
Dies stellt sicher, dass Firewall-Regeln auf Traffic zwischen VMs und externen Netzwerken greifen.
Firewall-Regeln für VMs
sudo nft add table inet vm_filter
sudo nft add chain inet vm_filter input { type filter hook input priority 0 ; }
sudo nft add rule inet vm_filter input iif "br0" tcp dport 22 accept
Ein einfaches Beispiel: SSH auf die Bridge zulassen, andere Ports können restriktiv geregelt werden.
VMs mit libvirt an die Bridge anbinden
Beim Erstellen von VMs muss als Netzwerkinterface die Bridge angegeben werden.
virsh Beispiel
virsh net-define /etc/libvirt/qemu/networks/br0.xml
virsh net-start br0
virsh net-autostart br0
Im XML wird die Bridge br0 als Source für das VM-Interface konfiguriert. Alternativ kann virt-manager die Bridge grafisch zugewiesen werden.
Best Practices
- Host-IP auf die Bridge legen, NICs nur als Slaves
- Netfilter aktivieren, um VM-Traffic zu kontrollieren
- libvirt nur vertrauenswürdigen Benutzern zugänglich machen
- Backup der libvirt-XMLs für Disaster Recovery
- Testing der VM-Connectivity nach Bridge-Konfiguration
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











