Ausgangslage: Ein Ubuntu Server auf einem Raspberry Pi sollte aus dem Internet erreichbar sein. Aufgrund der Knappheit öffentlicher IPv4-Adressen nutzte der Internet Service Provider (ISP) Carrier-Grade NAT (CGNAT), wodurch keine öffentliche IPv4-Adresse für das lokale Netzwerk zur Verfügung stand. Ein vorhandener TP-Link 4G-Router bot zudem keine funktionalen Port-Forwarding-Optionen, um diese NAT-Einschränkungen zu kompensieren.
1. Analyse & Diagnose
- Netzwerk-Engpass: Identifikation des CGNAT-Problems. Der Server war von außen nicht direkt adressierbar, da die öffentliche IP-Adresse geteilt und eingehende Verbindungen blockiert wurden.
- Hardware-Limitierung: Die Analyse des 4G-Routers ergab, dass die Firmware keine notwendigen Funktionen (wie moderne Port-Weiterleitungen oder VPN-Pass-Through) bereitstellte, um den Zugriff trotz CGNAT zu ermöglichen.
2. Methodische Lösung
Anstatt in teure Hardware oder statische IP-Optionen zu investieren, entschied ich mich für eine softwarebasierte Tunnel-Lösung:
- Implementierung: Nutzung von Cloudflare Tunnel (
cloudflared). - Funktionsweise: Anstatt auf eine eingehende Port-Freigabe zu warten, baut der Server eine gesicherte ausgehende Verbindung zum Cloudflare-Netzwerk auf.
- Vorteil: Dies umgeht die NAT-Problematik und die Hardware-Einschränkungen des Routers vollständig, da keine Konfiguration am Edge-Gerät (Router) mehr erforderlich ist.
3. Ergebnis & Erkenntnis
- Ergebnis: Der Ubuntu Server ist nun sicher und stabil aus dem Internet erreichbar, ohne dass eine öffentliche IPv4-Adresse oder Eingriffe in die Router-Konfiguration notwendig waren.
- Lerneffekt: Cloud-basierte Tunneling-Lösungen sind eine moderne, skalierbare Alternative zu klassischen Port-Forwarding-Setups. Sie bieten ein höheres Sicherheitsniveau (keine offenen Ports am Router) und sind unabhängig von der Netzwerkinfrastruktur des Providers.