1. Startseite
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
  5. Digital Signage Info
  6. Glasfaserinternetanbieter bewerten
  7. Blog
    1. Artikel
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Blog-Artikel
  • Erweiterte Suche
  1. Glasfaserforum.de - Das Informations- und Hilfeforum rund um das Glasfaser-Internet.
  2. Forum
  3. Alles über das Glasfaser-Internet
  4. Glasfaser-Technik: Modem, Router, Netzwerk & Verkabelung

Deutscheglasfaser - Port Forwarding / Openwrt

  • fcc123
  • 6. Oktober 2023 um 22:03
  • fcc123
    Beiträge
    20
    • 6. Oktober 2023 um 22:03
    • #1

    Hallo Zusammen,

    ich habe heute einen DG-Anschluss bekommen (Wechsel von Inexio DSL).

    Normales Surfen etc. funktioniert nachdem ich einfach den WAN Port auf DHCP und einen WAN6 mit dhcpv6 angelegt habe,

    Dann wollte ich meine diversen Dienste wieder nach Aussen freigeben.

    Bei Inexio hatte ich eine IPv4 Adresse, d.h. dort konnte ich "Port Forwards" anlegen jetzt bei DG gibts keine dyn. IPV4 Adresse mehr also habe ich rules angelegt analog diesem Beispiel (https://openwrt.org/docs/guide-use…ipv6_examples):

    Code
    config rule
    	option src 'wan'
    	option proto 'tcp'
    	option dest 'lan'
    	option dest_ip '2001:db8:42::1337'
    	option dest_port '80'
    	option family 'ipv6'
    	option target 'ACCEPT'

    Ich habe mal die aktuelle komplette IPV6 Adresse als Ziel angeben zum Testen (dest_ip).

    Allerdings ohne Erfolg - ich komme von Aussen nicht drauf.

    Dann habe ich mal alles umgeleitet - auch ohne Erfolg.

    Code
    config rule
            option src 'wan'
            option family 'ipv6'
            option target 'ACCEPT'
            option dest 'lan'
            option name 'Forward to Server'
            list dest_ip '2a00:6020:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'
            list proto 'all'


    Dann habe ich mal einen traceroute versucht um zu sehen wie weit er kommt:

    Code
    traceroute to srv.example.net (2a00:6020:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx), 30 hops max, 80 byte packets
     1  2a03:4000:60::2 (2a03:4000:60::2)  0.550 ms  0.506 ms  0.504 ms
     2  2a00:11c0:47:8::e (2a00:11c0:47:8::e)  4.338 ms  0.603 ms  4.289 ms
     3  2a00:11c0:47:1:47::139 (2a00:11c0:47:1:47::139)  11.235 ms  11.217 ms 2a00:11c0:47:1:47::212 (2a00:11c0:47:1:47::212)  36.809 ms
     4  * * 2a00:11c0:47:1:47::141 (2a00:11c0:47:1:47::141)  5.513 ms
     5  * 2a00:6020:0:b::2 (2a00:6020:0:b::2)  28.361 ms *
     6  2a00:6020:0:c::2 (2a00:6020:0:c::2)  4.382 ms  4.085 ms 2a00:6020:ffff:ffff::e (2a00:6020:ffff:ffff::e)  19.799 ms
     7  * * 2a00:6020:ffff:ffff::e (2a00:6020:ffff:ffff::e)  4.712 ms
     8  * * *
     9  * * *
    10  * * *
    11  * * *
    12  * * *
    13  * * *
    14  * * *
    15  * * *
    16  * * *
    Alles anzeigen

    Traceroute bleibt scheinbar vorher schon hängen.

    Liegt das Problem bei meiner Config, oder bei DG?

    Viele Dank schonmal fürs Lesen ;)

  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.405
    • 6. Oktober 2023 um 22:15
    • #2

    Willkommen im Forum!

    Portforwarding ist bei IPv6 nicht üblich. Jedes Gerät in deinem Heimnetz besitzt (mindestens) eine eigene, weltweit gültige IPv6-Adresse. Diese musst Du lediglich in der Firewall deines Routers für den Zugriff freigeben (besser nur den spezifischen Port für diese Geräte-IPv6).

  • fcc123
    Beiträge
    20
    • 6. Oktober 2023 um 22:21
    • #3

    Hallo HubeBube, und Danke für die Willkommensgrüße ;)

    Ja, der interne Rechner hat auch eine öffentliche IPV6 IP.

    Zur Freigabe habe ich die Rules in Openwrt angelegt - ich dachte das sollte so passen.

    Aber scheinbar doch nicht...

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.405
    • 6. Oktober 2023 um 22:28
    • #4

    ICMP ist für einen Test auf Konnektivität nicht gut geeignet. Läuft den auf dem Server ein Dienst, der auf Port 80/http antwortet? Die Privacy Extensions hast Du auf dem Server (Windows? Linux?) disabled?

  • fcc123
    Beiträge
    20
    • 6. Oktober 2023 um 22:31
    • #5

    Dienste laufen via Podman/Linux und sind von Intern zu erreichen.

    net.ipv6.conf.all.use_tempaddr = 0

    Noch als Nachtrag: Der Router läuft noch mit OpenWrt 19.07.7

    2 Mal editiert, zuletzt von fcc123 (6. Oktober 2023 um 22:42)

  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.405
    • 6. Oktober 2023 um 23:08
    • #6

    Was bedeutet hier intern? Aus einem Container auf der gleichen Hardware oder von einem mobile Device, das seine IPv6 von dem OpenWRT erhält?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • fcc123
    Beiträge
    20
    • 7. Oktober 2023 um 00:03
    • #7

    intern meine ich Rechner und Mobile Devices die mit ipv4/v6 am Router hängen.

    Bsp: ssh user@2a00:6020:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx von meinem Windows PC auf die Linux-Box funktioniert.

    Ich kann jetzt ipv4 auf dem PC noch ausschalten, aber ich denke das macht keinen Unterschied.

    Die Nameserverauflösung löst auch korrekt auf (dyn dns auf IPV6 der Servers) und Ping etc. funktionieren wenn ich in meinem lokalen (physischem) Netzwerk bin.

    Edit:

    sshd läuft direkt auf dem Server, nicht in einem Container und der Rechner hört auch auf dem Port:

    Code
    tcp6       0      0 :::22                   :::*                    LISTEN

    Die anderen Dienste laufen fast alle als Container mit ipv4 Netzwerk - d.h. hier ist ggf. ein Problem was ich noch lösen muss, aber ssh sollte zumindest von aussen errreichbar sein.

    4 Mal editiert, zuletzt von fcc123 (7. Oktober 2023 um 02:20)

  • HubeBube
    Erleuchteter
    Reaktionen
    1.738
    Beiträge
    7.405
    • 7. Oktober 2023 um 08:37
    • #8

    Die Container würde ich erst einmal außen vor lassen, da können sich weitere Baustellen ergeben.

    Es reicht aus sich auf SSH via IPv6 zu beschränken, alles andere ist analog dazu einzurichten.

    Wichtig an dieser Stelle, sofern die Authentifizierung nicht über Zertifikate erfolgt, es dürfen keine erratbaren Accounts mit Standardpasswörtern verwenden werden. Am besten DenyUsers und/oder AllowUsers verwenden.

    Auch sollten DynDNS Einträge noch nicht verwendet werden, sondern die IPv6-Adressen. Dazu ist noch zu sagen, dass sich natürlich der Server und nicht der OpenWRT Router in den DynDNS Eintragen muss.

    Noch eine Sache, die mir einfällt: Dein Router teilt dem Server seine IPv6 Adresse auch aus dem 56er Netz zu, das Du als Präfix von DG erhälst?

  • Thomas1978
    Fortgeschrittener
    Reaktionen
    104
    Beiträge
    375
    • 7. Oktober 2023 um 11:24
    • #9

    Wenn du von Container schreibst dann meinst du damit doch Docker Container, richtig?

    Ich habe früher auch viel mit Freigaben in meinem Router gearbeitet, bin mittlerweile aber komplett auf einen Reverse Proxy umgestiegen. Bei mir läuft der NGINX Reverse Proxy in einem Docker auf meinem Unraid Server. Das ist jetzt nur noch der einzige Docker, der bei mir von außen erreichbar sein muss (über Port 80 und 443!).

    Wichtig ist, dass du entweder eine eigene Domaine hast, oder eine DynDNS Adresse mit Subdomains einrichtest. Für jedes Gerät aus deinem Netzwerk, das du von außen erreichen willst, legst du eine Subdomain an. Bei einer eigenen Domain reicht dafür ein cname Eintrag aus, der auf die IP-Adresse (v4 via NAT und/oder v6 direkt) des Dockers verweist. Beim Aufruf der Subdomain geht die Anfrage direkt an den Reverse Proxy Docker und der leitet ab da intern auf das verknüpfte Gerät weiter. Das Ganze lässt sich auch mit SSL absichern.

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Schöne Grüße
    Thomas

    Internet/Netzwerk: Fritzbox 5590 Fiber, E.ON Highspeed 1000/500, natives IPv4
    und IPv6 Dual Stack, ASUS QG-U1080, MikroTik CRS305-1G-4S+IN
  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • fcc123
    Beiträge
    20
    • 7. Oktober 2023 um 11:41
    • #10
    Zitat von HubeBube

    Die Container würde ich erst einmal außen vor lassen, da können sich weitere Baustellen ergeben.

    Es reicht aus sich auf SSH via IPv6 zu beschränken, alles andere ist analog dazu einzurichten.

    Wichtig an dieser Stelle, sofern die Authentifizierung nicht über Zertifikate erfolgt, es dürfen keine erratbaren Accounts mit Standardpasswörtern verwenden werden. Am besten DenyUsers und/oder AllowUsers verwenden.

    Auch sollten DynDNS Einträge noch nicht verwendet werden, sondern die IPv6-Adressen. Dazu ist noch zu sagen, dass sich natürlich der Server und nicht der OpenWRT Router in den DynDNS Eintragen muss.

    Noch eine Sache, die mir einfällt: Dein Router teilt dem Server seine IPv6 Adresse auch aus dem 56er Netz zu, das Du als Präfix von DG erhälst?

    Ja, für den Test lasse ich es mal offen, aber Du hast Recht - normalerweise habe ich den Port nicht offen.

    Ja, der Server hat einen dyn dns Eintrag.

    Der Server bekommt von Openwrt den öffentlichen Prefix mit und auch den ULA-Prefix.

    D.h. das sieht dann so aus:

    Code
    eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 2a00:6020:pref:pref:xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x0<global>
            inet6 fe80::xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
            inet6 fd00:yyyy:yyyy:0:xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x0<global>
            ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
            RX packets 17897  bytes 24240326 (23.1 MiB)
            RX errors 0  dropped 22  overruns 0  frame 0
            TX packets 6171  bytes 565279 (552.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            device interrupt 16  memory 0xdf000000-df020000
    Alles anzeigen
  • fcc123
    Beiträge
    20
    • 7. Oktober 2023 um 11:47
    • #11
    Zitat von Thomas1978

    Wenn du von Container schreibst dann meinst du damit doch Docker Container, richtig?

    Ich habe früher auch viel mit Freigaben in meinem Router gearbeitet, bin mittlerweile aber komplett auf einen Reverse Proxy umgestiegen. Bei mir läuft der NGINX Reverse Proxy in einem Docker auf meinem Unraid Server. Das ist jetzt nur noch der einzige Docker, der bei mir von außen erreichbar sein muss (über Port 80 und 443!).

    Wichtig ist, dass du entweder eine eigene Domaine hast, oder eine DynDNS Adresse mit Subdomains einrichtest. Für jedes Gerät aus deinem Netzwerk, das du von außen erreichen willst, legst du eine Subdomain an. Bei einer eigenen Domain reicht dafür ein cname Eintrag aus, der auf die IP-Adresse (v4 via NAT und/oder v6 direkt) des Dockers verweist. Beim Aufruf der Subdomain geht die Anfrage direkt an den Reverse Proxy Docker und der leitet ab da intern auf das verknüpfte Gerät weiter. Das Ganze lässt sich auch mit SSL absichern.

    Ja, so habe ich es für http/https auch implementiert via npm (nginx proxy manager) und podman statt docker.

    Aber es laufen noch diverse andere Dienste auf dem Server, d.h. ich habe noch einige andere Ports offen.

    Hast Du die Docker Netzwerke konfiguriert, oder nur ipv4?

    Einmal editiert, zuletzt von fcc123 (7. Oktober 2023 um 11:53)

  • frank_m
    Erleuchteter
    Reaktionen
    770
    Beiträge
    4.935
    • 7. Oktober 2023 um 11:54
    • #12

    Von wo testest du den Zugriff von außen? Ist das ein VPS bei Netcup?

    Ansonsten geh Schritt für Schritt vor. Greife zunächst auf die IP Adressen zu, später dann per dyndns. Mache auf dem VPS einen tcpdump vom Zugriffsversuch, um ggf. ICMP Antworten zu sehen und von wem diese Antworten kommen (OpenWRT Router?). Mache gleichzeitig einen tcpdump auf deinem Router, um dort zu beobachten, was an Traffic ankommt und wie damit verfahren wird. Nicht zuletzt beobachte auf dem Server ebenfalls mit tcpdump, was passiert. So bekommst du ein Bild davon, wie weit die Pakete kommen.

    Neben den eigentlichen Port Rules musst du ja auch die Firewall grundsätzlich so einrichten, dass Zugriffe von außen möglich werden (Policies etc). Ich weiß nicht, wie das bei OpenWRT geht, aber hast du das bedacht?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • fcc123
    Beiträge
    20
    • 7. Oktober 2023 um 12:04
    • #13
    Zitat von frank_m

    Von wo testest du den Zugriff von außen? Ist das ein VPS bei Netcup?

    Ansonsten geh Schritt für Schritt vor. Greife zunächst auf die IP Adressen zu, später dann per dyndns. Mache auf dem VPS einen tcpdump vom Zugriffsversuch, um ggf. ICMP Antworten zu sehen und von wem diese Antworten kommen (OpenWRT Router?). Mache gleichzeitig einen tcpdump auf deinem Router, um dort zu beobachten, was an Traffic ankommt und wie damit verfahren wird. Nicht zuletzt beobachte auf dem Server ebenfalls mit tcpdump, was passiert. So bekommst du ein Bild davon, wie weit die Pakete kommen.

    Neben den eigentlichen Port Rules musst du ja auch die Firewall grundsätzlich so einrichten, dass Zugriffe von außen möglich werden (Policies etc). Ich weiß nicht, wie das bei OpenWRT geht, aber hast du das bedacht?

    Ja, vps bei netcup ;)

    Ich versuche mal tcpdump.

    Grundsätzlich hatte bis gestern morgen alles noch via DSL funktioniert, allerdings hatte ich da noch eine dynamische ipv4 Adresse.

    Die Zonen in Openwrt sind für ipv4 und ipv6 konfiguriert, von daher gehe ich davon aus, dass ich da sauber bin.

    Aber wenn das kein DG Problem ist, dann liegt bei der Firewall der Hase im Pfeffer ;)

  • Thomas1978
    Fortgeschrittener
    Reaktionen
    104
    Beiträge
    375
    • 7. Oktober 2023 um 12:08
    • #14
    Zitat von fcc123

    Aber es laufen noch diverse andere Dienste auf dem Server, d.h. ich habe noch einige andere Ports offen.

    Der einzige Dienst bei mir, den ich nicht via https laufen hatte, war ein FTP-Server. Dafür läuft aber mittlerweile ein CrushFTP-Server. Vorteil bei dem ist die einfache Erreichbarkeit über einen Browser. Port 21-23 müssen dafür nicht mehr geöffnet werden. Für alles andere nutze ich Wireguard um von extern in mein Netzwerk zu kommen.

    Zitat von fcc123

    Hast Du die Docker Netzwerke konfiguriert, oder nur ipv4?

    Ich habe jetzt kein spezielles Docker Netzwerk angelegt. Die meisten Container bekommen von mir eine feste IPv4 und IPv6 Adresse. Die v6 Adressen sind aber eigentlich nur noch Überbleibsel aus der Zeit von vor dem Reverse-Proxy und an sich nicht mehr notwendig.

    Da ich aber ein großer Freund von IPv6 bin, hatte ich viele Docker halt vorher darüber aus dem Internet erreicht und die Adressen danach einfach belassen.

    Schöne Grüße
    Thomas

    Internet/Netzwerk: Fritzbox 5590 Fiber, E.ON Highspeed 1000/500, natives IPv4
    und IPv6 Dual Stack, ASUS QG-U1080, MikroTik CRS305-1G-4S+IN
  • fcc123
    Beiträge
    20
    • 7. Oktober 2023 um 12:45
    • #15

    So, tcpdump zeigt mit ssh Pakete, die am Router und auf dem Server ankommen.

    D.h. das ist dann wohl kein DG Problem sondern mein Config-Fehler ;)

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • frank_m
    Erleuchteter
    Reaktionen
    770
    Beiträge
    4.935
    • 7. Oktober 2023 um 12:47
    • #16

    Das sind doch schon mal gute Nachrichten. Vielleicht ist einfach nur der SSH Server nicht für IPv6 eingerichtet?

  • fcc123
    Beiträge
    20
    • 8. Oktober 2023 um 11:41
    • #17

    Ich habe jetzt die Sache mal mit tcpdump analysiert:

    Wenn ich auf meinem VPS bei Netcup eine ssh Session auf den Server initiiere (mit IPv6 Adresse)

    wandert das IP6 Paket durch den Router auf den Server und der Server schickt ein IP6 Paket zurück zum

    VPS. Dort kommt es aber nicht an.

    Im Router sehe ich das Paket zum VPS noch auf eth0 allerdings nicht auf eth0.2 (WAN,WAN6).

    Das ist zumindest mal die Erklärung warum von "Aussen" meine Dienste nicht erreichbar sind.

    Jetzt ist die Frage warum? ;)

    Einmal editiert, zuletzt von fcc123 (8. Oktober 2023 um 11:48)

  • mbo77
    Erleuchteter
    Reaktionen
    921
    Beiträge
    3.635
    • 8. Oktober 2023 um 12:27
    • #18

    Bin bei OpenWRT gerade unsicher. Aber wie ist es mit der Regel zurück ins WAN?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • frank_m
    Erleuchteter
    Reaktionen
    770
    Beiträge
    4.935
    • 8. Oktober 2023 um 13:25
    • #19
    Zitat von fcc123

    ... und der Server schickt ein IP6 Paket zurück zum VPS. Dort kommt es aber nicht an.

    Was ist denn das für ein Paket? Ein SSH Antwort-Paket oder ein ICMP Paket ala "Port not reachable" oder sowas?

    Zitat von fcc123

    Im Router sehe ich das Paket zum VPS noch auf eth0 allerdings nicht auf eth0.2 (WAN,WAN6).

    Für alle, die die Konfiguration deines Router nicht auswendig kennen: Das heißt, es kommt auf dem LAN Interface rein, geht auf dem WAN nicht raus? Das hört sich nach Firewall an. Darf das Paket raus? Kann der Server grundsätzlich per IPv6 ausgehend kommunizieren? Und die Firewall kann man doch bestimmt so einstellen, dass sie loggt, warum sie ein Paket verwirft. Du solltest bedenken, dass die Pakete von einer Adresse aus dem Prefix kommen, mit denen der Router an sich nichts zu tun hat, da er selber eine Public IP aus einem anderen Subnetz bekommt. Das muss man berücksichtigen.

  • fcc123
    Beiträge
    20
    • 8. Oktober 2023 um 16:16
    • #20

    Ich habe einen neuen Router aufgesetzt (gleiches Model, neueres OpenWRT).

    Alles auf Default gelassen.

    In dem Scenario gehen Ping (ICMP6) Pakete durch und kommen auch wieder zurück.

    Zitat von frank_m

    Kann der Server grundsätzlich per IPv6 ausgehend kommunizieren?

    Das habe ich ausprobiert - nachdem ich eine default Route gesetzt habe geht das jetzt auch - ich dacht das setzt der Router via RA...

    Ich konnte ssh auf den VPS machen.

    Leider funktioniert der umgekehrte Weg noch nicht.

    Auf dem Server kommt nichts auf port 22 an, die Pakete werden im Router geblock so wie ich tcpdump interpretiere.

    Code
    13:40:53.037396 IP6 mein.vpsbeinetcup.de.56402 > xxxx:xxxx:xxxx:xxxx::130.22: Flags [S], seq 306380445, win 43200, options [mss 1440,sackOK,TS val 91153059 ecr 0,nop,wscale 11], length 0
    13:40:53.037576 IP6 xxxx:xxxx:xxxx:xxxx::130.22 > mein.vpsbeinetcup.de.56402: Flags [R.], seq 0, ack 306380446, win 0, length 0

    In der Firewall habe ich darauf eine Regel angelegt um Daten auf Port 22 durchzulassen - will aber noch nicht.

    Code
    config rule
            option name 'ssh'
            option family 'ipv6'
            list proto 'tcp'
            option src 'wan'
            option src_port '22'
            option dest 'lan'
            option dest_port '22'
            option target 'ACCEPT'

Glasfaseranbieter jetzt bewerten

Du bist mit deinem Glasfaseranbieter (un)zufrieden?

Dann nutze unsere community-getriebene Bewertungsplattform glasfaseranbieter.de - jetzt mit dem Glasfaserforum Login unkompliziert bewerten!

Jetzt in wenigen Sekunden fair bewerten!
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™ 6.2.6

Wir respektieren Deine Privatsphäre

Wir nutzen Cookies und ähnliche Technologien für den Betrieb der Seite, Reichweitenmessung und Werbung. Du entscheidest, was Du erlaubst. Details in unserer Datenschutzerklärung. Deine Auswahl kannst Du jederzeit über den Link „Cookie-Einstellungen“ im Fußbereich ändern.

Cookie-Einstellungen

Wähle aus, welche Kategorien Du erlaubst. Für jede Kategorie kannst Du über „Details anzeigen“ sehen, welche Cookies und Skripte konkret geladen werden, welche Empfänger beteiligt sind und wie lange gespeichert wird.

Weitere Informationen: Datenschutzerklärung · Impressum