Ein simples DNAT-/NAT-Script für Proxmox VE
Mein Proxmox NAT Router Script entstand aus einem ganz einfachen Problem: Ich hatte nur eine einzige öffentliche IPv4-Adresse, wollte aber trotzdem mehrere virtuelle Maschinen und Container sauber voneinander trennen. Statt jede VM direkt ins Internet zu stellen, übernimmt der Proxmox-Host das Routing und die Weiterleitung. So bleibt mein internes Netzwerk vollständig privat, während einzelne Dienste gezielt veröffentlicht werden können.
Was ist der Proxmox NAT Router?
Der Proxmox NAT Router ist ein leichtgewichtiges Bash-Script, das einen Proxmox-Host als Router zwischen einem öffentlichen und einem privaten Netzwerk konfiguriert.
Dabei werden Linux-iptables verwendet, um Network Address Translation (NAT), Portweiterleitungen (DNAT) und die notwendigen Firewall-Regeln automatisch einzurichten.
Das Script richtet sich insbesondere an Homelab-Betreiber und Administratoren, die nur eine öffentliche IPv4-Adresse besitzen und dennoch mehrere virtuelle Maschinen oder Container sicher betreiben möchten.

Warum ich dieses Script entwickelt habe
Bevor ich dieses Script geschrieben habe, musste ich NAT- und DNAT-Regeln nach jeder Neuinstallation von Hand erstellen. Das war fehleranfällig und kostete jedes Mal unnötig Zeit.
Deshalb entstand ein kleines Bash-Script, das sämtliche benötigten Regeln automatisch erstellt und übersichtlich strukturiert. Heute bildet es die Grundlage meines kompletten Homelab-Netzwerks.
Da viele Hetzner- und OVH-Server sowie zahlreiche andere Hoster nur eine einzelne öffentliche IPv4-Adresse bereitstellen, habe ich das Projekt schließlich als Open Source auf GitHub veröffentlicht.


Wie nutze ich das Script?
NAT
Alle virtuellen Maschinen und LXC-Container erhalten private IP-Adressen und können über den Proxmox-Host auf das Internet zugreifen.
DNAT
Öffentliche Ports lassen sich gezielt an interne Systeme weiterleiten, ohne dass diese selbst direkt öffentlich erreichbar sind.
Firewall
Eigene iptables-Chains sorgen für eine übersichtliche Struktur und lassen sich jederzeit erweitern oder anpassen.
Open Source
Das komplette Projekt ist auf GitHub verfügbar und kann frei genutzt, angepasst und erweitert werden.
GitHub
Das vollständige Script inklusive Dokumentation und Installationsanleitung findest du auf GitHub.
