Zentralisiertes SSL-Gateway & IPv4-zu-IPv6 Bridge für ISPConfig

etron770

Member
Konzept Dieses System ist ein spezialisierter Nginx-Edge-Proxy für ISPConfig-Umgebungen. Es dient als zentraler Einstiegspunkt für den gesamten öffentlichen Traffic und reicht diesen transparent an dedizierte Backend-vServer weiter. Die Konfiguration erfolgt dabei vollautomatisch durch Abgleich mit der ISPConfig-Master-Datenbank.

Lösung der IPv4-Knappheit (Dual-Stack Gateway) Ein wesentlicher technischer Vorteil dieses Setups ist die Funktion als Protokoll-Gateway. In Zeiten knapper und teurer IPv4-Adressen ermöglicht das System ein hochgradig effizientes Ressourcen-Management:

  • Der Edge-Node (Proxy): Dieser verfügt über eine öffentliche IPv4- und IPv6-Anbindung (Dual-Stack).
  • Die Backend-Server (vServer): Diese können als reine IPv6-only Instanzen betrieben werden. Der Proxy nimmt Anfragen aus dem IPv4-Internet entgegen und leitet sie über das interne Netzwerk per IPv6 an die Backends weiter. Damit werden Dienste auf Servern ohne eigene öffentliche IPv4-Adresse weltweit erreichbar.
Funktionsweise

  1. Automatisierte Synchronisation: Ein Hintergrundprozess auf dem Proxy-Server liest die Web-Konfigurationen des ISPConfig-Masters aus. Er erkennt neue oder geänderte Webseiten und generiert daraus automatisch die passenden Nginx-Vhost-Konfigurationen auf dem Edge-Node.
  2. Zentrales SSL-Management: Die Verwaltung und Erneuerung von SSL-Zertifikaten (z. B. Let's Encrypt) erfolgt ausschließlich auf dem Proxy. Die Backend-vServer werden vollständig von der SSL-Validierungslogik und der damit verbundenen Rechenlast befreit.
  3. Transparenter Datenfluss: Anfragen werden unter Beibehaltung aller relevanten Header (Host, Real-IP, Protokoll) an die Backends weitergereicht. Die vServer verarbeiten die Anfragen so, als kämen sie direkt vom Client.
  4. Panel-Konformität: Die Steuerung der Backend-Dienste erfolgt weiterhin direkt über das ISPConfig-Panel. Spezifische Anforderungen wie Port-Weiterleitungen an lokale Dienste (z. B. Gitea oder Docker-Container) werden standardkonform über das Feld der Apache-Direktiven gelöst.
Vorteile

  • Kosteneffizienz: Reduktion der IPv4-Adresskosten, da nur noch der zentrale Proxy-Einstieg eine IPv4-Adresse benötigt.
  • Erhöhte Sicherheit: Die Backend-Infrastruktur ist nicht direkt über das öffentliche IPv4-Netz erreichbar und bleibt hinter dem Proxy maskiert.
  • Zentralisierung: Nur ein System muss für ACME-Challenges (Port 80) offen sein, was die Fehleranfälligkeit bei Zertifikats-Erneuerungen minimiert.
  • SSL-Offloading: Die Verschlüsselung wird am Rand des Netzwerks terminiert, was die Performance der Backend-Applikationen verbessert.
Fazit Dieses Gateway bietet eine Architektur, um ISPConfig-Umgebungen trotz IPv4-Mangels mit IPV4 zu versorgen, ohne den administrativen Aufwand für die Erreichbarkeit und Verschlüsselung der einzelnen Instanzen zu erhöhen.

(Im Gegensatz zu meinem ersten Setup ist kein ISPCONFIG-Patch auf den Clients mehr nötig.)

Aktuelle Scripte und Anleitungen dazu: https://git.sargas.org/public/IPV4-proxyserver-zu-IPV6-only-servern

git.sargas.org wird auch über diesen hier beschriebenen Proxyserver betrieben und hat keine eigene IPV4 Adresse mehr.
 
Zuletzt bearbeitet:

etron770

Member

>Aktuelle README.md hier<


Rich (BBCode):
============================================================
Dokumentation: ISPConfig & Proxy Inventar (proxy-inventory.sh)
============================================================

BESCHREIBUNG
Dieses Skript dient der automatisierten Statusprüfung aller in
ISPConfig (Version 3.3.0p3) verwalteten Web-Domains.

Es gleicht den Datenbankbestand mit der tatsächlichen
Nginx-Konfiguration auf dem Proxy-Server ab und validiert den
aktuellen DNS-Status.


KERNFUNKTIONEN
FunktionAufgabe
Datenbank-AbgleichExtrahiert aktive Domains (vhost, alias, subdomain)
Proxy-ValidierungPrüft Vorhandensein der Nginx-Konfigurationen
Routing-AnalyseLiest Ziel-IP (proxy_pass) aus den Configs
DNS-Live-CheckPrüft AAAA-Record per dig
Automatischer ExportErstellt /var/www/html/proxy_inventory.txt
VORAUSSETZUNGEN
  • System: Linux (getestet auf Debian 12, Proxmox Hostserver mit LCX und VM als Client.
  • Proxysever VM).
  • Abhängigkeiten: mysql-client, bind9-host (dig), grep, sed
Konfigurationsdateien:
  • /usr/local/bin/sync-ispconfig-proxy.conf
  • /usr/local/bin/proxy_based_server.conf
INSTALLATION
  1. proxy-inventory.sh nach /usr/local/bin/ kopieren
  2. chmod +x /usr/local/bin/proxy-inventory.sh
  3. DB-Zugangsdaten in sync-ispconfig-proxy.conf setzen
NUTZUNG
ParameterBeschreibungBeispiel
DOMAINDomain-Filter (Wildcard *)./proxy-inventory.sh knut*
ID <n>ISPConfig Server-ID./proxy-inventory.sh ID 17
PROXY OK/FEHLTProxy-Status filtern./proxy-inventory.sh PROXY FEHLT
DNS OK/N/ADNS-Status filtern./proxy-inventory.sh DNS N/A
MODUSNORMAL oder DUMMY./proxy-inventory.sh MODUS DUMMY
STATUS-DEFINITIONEN
  • PROXY OK – Konfigurationsdatei vorhanden
  • PROXY FEHLT – Domain aktiv, aber keine Proxy-Config
  • DNS OK – AAAA-Record korrekt
  • DNS N/A – Keine oder falsche IPv6
============================================================ ISPConfig Proxy Sync Script (sync-ispconfig-proxy.sh) ============================================================ BESCHREIBUNG Synchronisiert Web-Domains zwischen ISPConfig-Master und Nginx-Proxy-Server und erzeugt automatisch Nginx-VHosts inklusive SSL-Zertifikaten via acme.sh. KERNFUNKTIONEN
FunktionAufgabe
LockfileVerhindert parallele Ausführung
Datalog-SyncÄnderungen via sys_datalog
Auto-SubdomainAutomatische www-Subdomains
SSL/TLSLet's Encrypt ECC via acme.sh
IPv6 RoutingInterne Netze (z.B. ::113)
Hybrid-ServingLokal + Backend-Proxy
PARAMETER
ParameterBeschreibung
[DOMAIN]Nur eine Domain verarbeiten
testDry-Run, keine Änderungen
forceGesamten Bestand neu verarbeiten
renew / repairSSL-Zertifikate neu ausstellen
-debugDebug-Ausgaben
PRIORITÄTEN
  • test – verhindert Änderungen
  • [DOMAIN] – beschränkt Scope
  • force – verarbeitet alles
============================================================ ISPConfig Proxy Cleanup Script (sync-ispconfig-cleanup.sh) ============================================================ BESCHREIBUNG Entfernt verwaiste Nginx-Proxy-Konfigurationen, die nicht mehr in der ISPConfig-Datenbank existieren. KERNFUNKTIONEN
FunktionAufgabe
Verwaisten-CheckFindet nicht mehr genutzte .conf-Dateien
Blocklist-SchutzSchützt manuelle Spezialkonfigurationen
LockfileVerhindert parallele Ausführung
nginx -tSyntax-Check vor Reload
PARAMETER
ParameterBeschreibung
-e / --executeLöschen + nginx Reload
-h / --helpHilfe anzeigen
HINWEIS Ohne -e läuft das Cleanup-Skript immer im Dry-Run-Modus. Es werden keine Dateien gelöscht.
 
Zuletzt bearbeitet:

Werbung

Top