Lösung für DS-Lite/CGNAT - Öffentliche IPv4 Adressen zuhause via GRE Tunnel

  • Hier eine coole Lösung für Nutzer von OPNsense mittels GRE Tunnel, so kann man ebenfalls DS Lite oder auch CGNAT umgehen. Anstelle von IPv4 Endpunkten wird dann natürlich IPv6 verwendet. Ich z.B. habe dadurch ein bestimmtes VLAN welches allen Clients dahinter mittels DHCP direkt öffentliche IPv4 Adressen verteilt. Das ganze ohne NAT, als Anbieter für den GRE Tunnel verwende ich NOEZ.

    Falls es Fragen oder Probleme gibt, einfach raus damit.


    Schritt 1: GRE-Tunnel einrichten

    • Navigiere zu „Interfaces: Other Types: GRE“ und füge einen neuen GRE-Tunnel hinzu:
      • Lokale Adresse: WAN-IP
      • Entfernte Adresse: Externe IP der Gegenstelle
      • Tunnel-Lokale Adresse: z. B. 10.0.6.2
      • Tunnel-Entfernte Adresse: z. B. 10.0.6.1
      • Tunnel-Netzmaske/Präfix: 30
      • Beschreibung: z. B. NOEZ
    • Speichern

    Schritt 2: Client-Interface erstellen

    • Lege ein neues Interface für die Clients an (z. B. VLAN), hier unter dem Namen „DMZ_EXT_IP“.

    Schritt 3: Interfaces zuweisen

    • Navigiere zu „Interfaces: Assignments“ und weise ein neues Interface zu:
      • gre0 (NOEZ)
      • Das zuvor erstellte Interface „DMZ_EXT_IP“
    • Speichern

    Schritt 4: DMZ-Interface konfigurieren

    • Gehe zu „Interfaces: DMZ_EXT_IP“ und aktiviere das Interface:
      • IPv4-Konfigurationstyp: Statische IPv4
      • IPv4-Adresse: Die erste IP des gewünschten Subnetzes (z. B. 5.230.167.168) mit Netzmaske
      • Hinweis: Bei einem /29-Subnetz wird z. B. /28 gesetzt, bei /27 entsprechend /26.
    • Speichern

    Schritt 5: NOEZ-Interface konfigurieren

    • Gehe zu „Interfaces: NOEZ“ und aktiviere das Interface:
      • MTU: 1468 bei PPPoE WAN oder 1476 bei Ethernet WAN
    • Speichern

    Schritt 6: Firewall-Regeln hinzufügen

    • Gehe zu „Firewall: Rules: NOEZ“ und füge eine neue Regel hinzu:
      • Alle Standard-Einstellungen beibehalten
      • Speichern
    • Gehe zu „Firewall: Rules: DMZ_EXT_IP“ und füge eine neue Regel hinzu:
      • Quelle: DMZ_EXT_IP-Netz
      • Ziel (invertiert): Alle LAN-Netze (z. B. per Alias)
      • Gateway: NOEZ_TUNNELV4
      • Speichern

    Schritt 7: DHCP für DMZ-Interface aktivieren

    • Gehe zu „Services: ISC DHCPv4: [DMZ_EXT_IP]“ und aktiviere den DHCP-Server:
      • Bereich definieren
      • DNS-Server nach Wunsch eintragen
      • Gateway: IP des „DMZ_EXT_IP“-Interfaces (z. B. 5.230.167.168)
    • Speichern

    Schritt 8: NAT-Regeln konfigurieren

    • Gehe zu „Firewall: NAT: Outbound“ und wähle „Manuelle NAT-Regelgenerierung“:
      • Füge eine neue Regel hinzu:
        • Interface: WAN
        • Quelladresse: Alle LAN-Netze (z. B. per Alias)
        • Ziel (invertiert): Alle LAN-Netze
        • Translation/Target: WAN-Adresse
      • Speichern

    Schritt 9: Konfiguration übernehmen

    • Wende die Änderungen an.

    Jetzt sollten Clients hinter dem „DMZ_EXT_IP“-Interface eine externe IPv4-Adresse aus dem Pool erhalten und sowohl aus dem Internet erreichbar sein als auch ins Internet gelangen können.


    Speedtest "normal" (direkt per WAN):


    Speedtest hinter GRE (Client mit externer IP):

    Firewall: DIY OPNsense (i5-10400, 16GB DDR4, 2x 25G Mellanox Connect-X4 Lx)

    Anschluss: Telekom FTTH @ GPON (1000/500)

    ONT: Zyxel PMG3000-D20B SFP

    PC: MacBook Pro 16" M3 Max (25G Mellanox Connect-X4 Lx via Thunderbolt 3 Adapter)

    Einmal editiert, zuletzt von kerneltask (10. Oktober 2024 um 09:57)

  • Danke für das Beispiel. Im Sinne der Übersichtlichkeit: Könntest du den Beitrag im Meta-Bereich wieder entfernen? Ich führe dann den Link im ersten Beitrag ein.

    Noch eine Frage dazu: GRE funktioniert nur, wenn die jeweiligen Endpunktadressen statisch sind, oder?

  • Danke für das Beispiel. Im Sinne der Übersichtlichkeit: Könntest du den Beitrag im Meta-Bereich wieder entfernen? Ich führe dann den Link im ersten Beitrag ein.

    Noch eine Frage dazu: GRE funktioniert nur, wenn die jeweiligen Endpunktadressen statisch sind, oder?

    Gerne. Hab ich gelöscht.


    Und nein, nicht zwingend. NOEZ ist aber statisch.

    Die haben eine API (wie zB DynDNS), über welche du dann die IP neu setzen kannst und dadurch baut sich dann der tunnel neu auf.


    Ich zB habe das einfach über einen Custom Link bei DynDNS eingetragen.

    Werde die Anleitung später noch damit erweitern.

    Firewall: DIY OPNsense (i5-10400, 16GB DDR4, 2x 25G Mellanox Connect-X4 Lx)

    Anschluss: Telekom FTTH @ GPON (1000/500)

    ONT: Zyxel PMG3000-D20B SFP

    PC: MacBook Pro 16" M3 Max (25G Mellanox Connect-X4 Lx via Thunderbolt 3 Adapter)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Für die, die kein OPNSense oder einen anderen geeigneten Router nutzen: Man kann den Tunnel auch auf einem Gerät im Heimnetz enden lassen, z.B. einem Raspi. Auf Wunsch kann ich das auch noch mal genauer beschreiben.

  • Für die, die kein OPNSense oder einen anderen geeigneten Router nutzen: Man kann den Tunnel auch auf einem Gerät im Heimnetz enden lassen, z.B. einem Raspi. Auf Wunsch kann ich das auch noch mal genauer beschreiben.

    Mach das gerne :) Ich würde es dann in meinem POST direkt hinzufügen unten, wenn das für dich okay ist (wirst natürlich erwähnt).


    Ich wollte die Antworten auf den POST hier nämlich hauptsächlich für Fragen oder Hilfe nutzen.

    Firewall: DIY OPNsense (i5-10400, 16GB DDR4, 2x 25G Mellanox Connect-X4 Lx)

    Anschluss: Telekom FTTH @ GPON (1000/500)

    ONT: Zyxel PMG3000-D20B SFP

    PC: MacBook Pro 16" M3 Max (25G Mellanox Connect-X4 Lx via Thunderbolt 3 Adapter)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Für statisches IPv6 würde es auch mit Fritzboxen funktionieren.

    Wenn du eine Anleitung hast dann schreib Sie gerne hier rein und ich übernehme Sie im Hauptpost.

    Firewall: DIY OPNsense (i5-10400, 16GB DDR4, 2x 25G Mellanox Connect-X4 Lx)

    Anschluss: Telekom FTTH @ GPON (1000/500)

    ONT: Zyxel PMG3000-D20B SFP

    PC: MacBook Pro 16" M3 Max (25G Mellanox Connect-X4 Lx via Thunderbolt 3 Adapter)

  • Wäre es möglich, dass du noch Screenshots in deinem Tutorial einbindest?

    Ich habe nämlich noch ein paar Fragen, z.B. wenn du ein neues VLAN Interface erstellst ob LAN oder WLAN als Parent ausgewählt werden müssen.

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Wäre es möglich, dass du noch Screenshots in deinem Tutorial einbindest?

    Ich habe nämlich noch ein paar Fragen, z.B. wenn du ein neues VLAN Interface erstellst ob LAN oder WLAN als Parent ausgewählt werden müssen.

    Müsste ich mal schauen. Hab dir aber eben privat geantwortet.

    Firewall: DIY OPNsense (i5-10400, 16GB DDR4, 2x 25G Mellanox Connect-X4 Lx)

    Anschluss: Telekom FTTH @ GPON (1000/500)

    ONT: Zyxel PMG3000-D20B SFP

    PC: MacBook Pro 16" M3 Max (25G Mellanox Connect-X4 Lx via Thunderbolt 3 Adapter)