%20IP-Adressen%20auf%20KVM-%2FProxmox-basierten%20Virtualisierungshosts%20verhindert%20werden%3F.png)
Nehmen wir die folgende Konfiguration an: ein Router, der IP-Subnetze ankündigt, und einige Proxmox-basierte KVM-Hosts. Auf jedem Proxmox-basierten Virtualisierungshost laufen mehrere von Kunden verwaltete virtuelle Server, und jedem virtuellen Server werden eine oder mehrere IPs zugewiesen.
Wie kann ich verhindern, dass (falsch konfigurierte oder bösartige) virtuelle Server IPs bekannt geben, die nicht zu ihrem Server gehören?
Die beste Idee, die mir einfällt, ist, iptables
Firewall-Regeln zu verwenden, um jeglichen Datenverkehr außer eingehendem mit der richtigen Zieladresse und ausgehendem mit der richtigen Quelladresse zu blockieren. Das sollte funktionieren (würde aber vermutlich auch jeglichen Broadcast-Datenverkehr blockieren, dachte, das wäre für dieses Szenario akzeptabel). Gibt es jedoch eine bessere Möglichkeit, dies zu tun (ohne Änderungen an den Routern)? Was ist die gängige Vorgehensweise bei diesem Problem?
Antwort1
IPTables kann den DHCP-Verkehr nicht blockieren, da es Paketfilter verwendet, die vor der Firewall in den IP-Stapel eingebunden sind.Dieser Linkspricht von CentOS, das Prinzip ist jedoch dasselbe.
Wenn Sie ein weiterer Kunde auf diesen Hosts sind, erstellen Sie ein dringendes Support-Ticket beim NOC Ihres Anbieters, in dem Sie auf einen nicht autorisierten DHCP-Server im Netzwerk hinweisen. Dieser sollte sich (wenn er seine Arbeit richtig macht) ziemlich schnell darum kümmern. Wenn dies Ihre Hardware ist, auf der diese VMs laufen, und Sie keinen Zugriff auf die VM-Übertragung haben, würde ich die Netzwerkverbindung deaktivieren und den Kunden bitten, sich über die Konsole zu verbinden, um das Problem zu beheben.
Antwort2
Nachdem ich herausgefunden hatte, dass iptables
dafür nicht das Richtige ist (was teilweise an Christophers Antwort oben für diese Information lag), habe ich mich ein wenig in eingelesen und ebtables
dabei festgestellt, dass Proxmox bereits integrierte Unterstützung zur Verhinderung von IP-Spoofing hat.
Dazu muss lediglich die folgende Regel zu den Firewall-Einstellungen jeder virtuellen Maschine in Proxmox hinzugefügt werden (siehe /etc/pve/firewall/<VMID>.fw
Dateien) und funktioniert mit IPv4 und IPv6:
[IPSET ipfilter-net0]
1.2.3.4
2f1:2:3:4::1
Dies war ohnehin bereits in den offiziellen Dokumenten versteckt:siehe SektionIP-Sätze>Standard-IP-Set ipfilter-net*