Verständnisproblem IPv6 Port Forwarding

AlphaAquila

Lt. Junior Grade
Registriert
Dez. 2007
Beiträge
443
Hallo,

ich habe ein Verständnisproblem was u. A. das Port Forwarding für IPv6 betrifft. Hoffe da kann mir jemand helfen :)
Ausgangslage ist folgende.
Ich habe im Netzwerk einen Raspberry Pi, der lokal einen Webserver hostet. Dieser ist über die lokale IPv4 Adresse auch ohne Probleme erreichbar. Ich möchte auf den Webserver auch von außerhalb meines lokalen Netzwerkes zugreifen. Dafür habe ich einen DynDNS Service auf dem RasPi installiert, der sowohl meine aktuelle IPv4 und IPv6 auf der Domain aktualisiert. Früher war es ja so: man hat eine externe IPv4 und kann diese dann über die Domain erreichen. Um mit dem Webserver zu kommunizieren musste im Router noch der entsprechende Port an die lokale IP weitergeleitet werden (in diesem Fall die des Pi's). Problem jetzt: Der Router kennt kein IPv4 Forwarding mehr. Eine Weiterleitung ist nur an eine MAC-Adresse möglich (??). Leite ich den entsprechenden Port an die MAC-Adresse des Pi's weiter, funktioniert das aber nicht.
Ich beziehe Internet über das Fernsehkabel von Vodafone - 100 Mbit/s. Wie genau der Tarif heißt weiß ich gerade nicht, schon einige Jahre dort Kunde. Scheinbar scheint es mittlerweile keine einzigartige öffentliche IPv4 mehr zu geben. Und damit auch keine "typische" Port Weiterleitung.

Fragen:

1. Das erste was mich stutzig macht: gebe ich die lokale IPv6 in die Adresszeile des Browsers ein (in []), dann ist der Server nicht erreichbar. Sollte der Server nicht genauso über die lokale IPv6 erreichbar sein? Über die IP v4 ist es ja kein Problem!?

2. Wie kann ich in dieser Konfiguration meinen Webserver von außen erreichen?
Muss ich von außen über den Browser die öffentliche IP des Routers oder des Pi's eingeben? Ich habe gelesen, dass bei IPv6 jedes Gerät eine eindeutige öffentliche IP erhält uns somit das ganze Forwarding obsolet ist?

Danke für die Hilfe.

Grüße
 
Bei IPv6 bekommen alle Geräte eine (oder mehrere) eigene externe IP Adresse. Du musst also überhaupt nichts forwarden, sondern nur die gewünschten Ports für das jeweilige Gerät in der Firewall des Routers öffnen.

Dass du kein forwarding für IPv4 konfigurieren kannst wird an DS-Lite liegen.

Für Details bitte die Suchfunktion verwenden, das Thema wurde schon des öfteren durchgekaut.
 
  • Gefällt mir
Reaktionen: Raijin und thomasschaefer
Das alle Geräte eine öffentliche IPv6 Adresse haben, auch wenn man eine Firewall dazwischen hat, finde ich höchst fahrlässig.

auch wenn das von 2011 der Artikel ist, es gab bisher keine wesentlichen Verbesserungen bisher: https://www.golem.de/1112/88043-2.html

Gibt es in der Zwischenzeit eigentlich sowas wie ein NAT für iPv6?
 
Zuletzt bearbeitet:
Sebbi schrieb:
Das alle Geräte eine öffentliche IPv6 Adresse haben, auch wenn man eine Firewall dazwischen hat, finde ich höchst fahrlässig.
Wenn man keine Ahnung hat, dann mag man das so empfinden.
 
  • Gefällt mir
Reaktionen: rezzler, Web-Schecki, thomasschaefer und eine weitere Person
Sebbi schrieb:
Gibt es in der Zwischenzeit eigentlich sowas wie ein NAT für iPv6?

Nein das wurde mitte der 2000er Jahre wohl diskutiert aber von der IETF abgelehnt. Ich weiss jetzt auch nicht ob das unbedingt Sinn machen würde denn bei aktivierter Firewall werden nicht angeforderte eingehende IPV6 Verbindungen generell geblockt und wenn die Privacy-Extensions aktiv sind ändert sich auch der hintere 64bit Bereich der IP Adresse bei jedem hochfahren das sollte dann sicher genug sein.
 
AlphaAquila schrieb:
2. Wie kann ich in dieser Konfiguration meinen Webserver von außen erreichen?
Muss ich von außen über den Browser die öffentliche IP des Routers oder des Pi's eingeben? Ich habe gelesen, dass bei IPv6 jedes Gerät eine eindeutige öffentliche IP erhält uns somit das ganze Forwarding obsolet ist?
Port Forwarding mit NAT ist damit überflüssig, aber einen Port öffnen musst Du damit immer noch.

Du nutzt die Adresse des Pi. Aber bei deinem Provider und der Box kann ich nicht weiter helfen.
Ergänzung ()

Untertan schrieb:
Nein das wurde mitte der 2000er Jahre wohl diskutiert aber von der IETF abgelehnt.
Es gibt NPt und mit der Sense kann ich IPv6 auch herkömmlich NATen.
 
Bob.Dig schrieb:
Ok wenn damit RFC 6296 gemeint ist läuft das noch unter Experimental aber wieder was gelernt. Ich schätze mal eine Fritzbox kann das eher nicht. :)
 
Untertan schrieb:
Ich weiss jetzt auch nicht ob das unbedingt Sinn machen würde denn bei aktivierter Firewall werden nicht angeforderte eingehende IPV6 Verbindungen generell geblockt

Und genau das hier liegt ja ein Problem: schon in den 2000er Jahren konnte man anhand des Verhaltens einer Firewall mit einen Portscan mit einer guten Warscheinlichkeit herausfinden, welche Firewall eingesetzt wurde.
Das war alles schön, fein und prinzipell egal, solange die Firewall keinen Bug hatte und sich durch spezielle Packete aus dem Tritt bringen lässt. Falls dem aber so war, war Polen offen.

War damals interessant zu ISDN / Modem zeiten zu sehen wieviel Noise da an den öffentlichen IPs angekommen ist. Und so konnte sich auch Sasser Wurm verbreiten, weil viele noch keine Firewall aktiv hatten.
Und mit den ganzen Erpresser Würmern wird das heutzutage nicht anders sein.

Bob.Dig schrieb:
Wenn man keine Ahnung hat, dann mag man das so empfinden.

Wenn man sich gerne Risiken aussetzt und keine Lehren gerade aus den aktuellen Ereignissen mit den immer größer werdenden Bot Netzwerken aus IoT Geräten zieht, denn trifft man halt solange solche Aussagen, bis man mal selbst betroffen ist und alles verloren hat, da sich ein Wurm durch alles gefressen hat.
 
  • Gefällt mir
Reaktionen: Untertan
Ok - langsam wird es etwas klarer. Danke!
Ich habe scheinbar noch ein grundsätzliches Problem den Pi über IPv6 anzusprechen. Gebe ich statt der IPv4 die IPv6 in den Browser ein (im LAN), ist der Webserver trotzdem nicht erreichbar (Verbindung abgelehnt). Somit brauche ich es von extern wohl noch nicht versuchen. Da der Pi eine IPv6 bekommen hat, ist IPv6 wohl aktiviert. Pingbar ist die IPv6 auch. Firewall im Pi die standardmäßig IPv6 Verbindungen ablehnt möglicherweise?
 
Sebbi schrieb:
Und genau das hier liegt ja ein Problem: schon in den 2000er Jahren
Deine Aussagen sind halt veraltet. Heute einen Router zu finden, der keine IPv6 Firewall hat, ist schon schwierig. Und wenn er eine hat, dann ist er auch so sicher wie mit IPv4. Hier heißt es einfach, mit der Zeit zu gehen und nicht nur zurück zu blicken.
Ergänzung ()

AlphaAquila schrieb:
Pingbar ist die IPv6 auch. Firewall im Pi die standardmäßig IPv6 Verbindungen ablehnt möglicherweise?
Das klingt ganz so.
Ergänzung ()

AlphaAquila schrieb:
Somit brauche ich es von extern wohl noch nicht versuchen.
Auch korrekt. Vermutlich wird der Pi einfach nicht auf seiner IPv6-Adresse lauschen, weil er so nicht eingerichtet wurde. Ich nutze den nicht, aber wühl dich doch mal durch die Einstellungen im WebUI oder frage eine Suchmaschine deiner Wahl.
 
Zuletzt bearbeitet:
Sebbi schrieb:
Das war alles schön, fein und prinzipell egal, solange die Firewall keinen Bug hatte und sich durch spezielle Packete aus dem Tritt bringen lässt.
Und mit NAT ist das dann alles auf einmal kein Problem mehr, weil NAT ja bekanntlich keine Bugs haben kann?

Wer Angst davor hat, dass bekannt wird, welche Firewall eingesetzt wird, der setzt die falsche Firewall ein. Security by obscurity funktioniert nicht.
 
  • Gefällt mir
Reaktionen: TheCadillacMan und up.whatever
Bob.Dig schrieb:
Wenn man keine Ahnung hat, dann mag man das so empfinden.
Ach wie ich solche Aussagen ja liebe...

AlphaAquila schrieb:
1. Das erste was mich stutzig macht: gebe ich die lokale IPv6 in die Adresszeile des Browsers ein (in []), dann ist der Server nicht erreichbar. Sollte der Server nicht genauso über die lokale IPv6 erreichbar sein? Über die IP v4 ist es ja kein Problem!?
Hast du denn mal geprüft ob dein "Apache" oder "Nginx" mit Port 80 auch auf IPv6 lauscht?

Guck mal bitte auf deinem Pi mittels 'netstat -tulpn' ob da folgende Einträge drin sind.
Code:
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      261/lighttpd
tcp6       0      0 :::80                   :::*                    LISTEN      261/lighttpd

Der erste Teil wird da sein, da es sich hierbei um den IPv4 Eintrag handelt. Und der zweite bezieht sich auf die IPv6. Wenn dieser ebenfalls vorhanden ist, müsstest du mal bitte die Config für deine Webseite prüfen ob auch hier alles für IPv6 korrekt eingestellt ist. Sollte der Befehl nicht funktionieren, musst du noch die "net-tools" installieren ;)

Gruß, Domi
 
  • Gefällt mir
Reaktionen: TheCadillacMan
Was ist denn das für ein Webdienst, den Du auch von außen erreichbar machen willst? Besser wäre vermutlich eine VPN-Verbindung.
 
Zuletzt bearbeitet:
Vielleicht eine kleine private Homepage, die jeder sehen können soll? Gibt genug Anwendungsfälle…
 
SuperSabo schrieb:
Vielleicht eine kleine private Homepage, die jeder sehen können soll?
Die nur via IPv6 erreichbar ist? Klar, kann man machen...
Da das Thema Sicherheit hier nun schon Thema war, wollte ich den Punkt halt aufgreifen.
 
ich nutze keinen Webserver, nur Node-Red und Grafana.
Node-Red unterstützt z.B. kein IPv6, ist also nicht erreichbar darüber, Grafana schon.
Erst mal klären ob der Webserver überhaupt IPv6 kann oder ob das nur aktiviert werden muss.
 
@AlphaAquila, wenn du nicht auf die Frage eingehen möchtest was es für ein Webdienst ist, nicht darauf antworten!!

Nun werden sich hier einige fragen "warum nicht?", ich bin nicht seit gestern hier und das kann am Ende in einem Gartenschlauch Thema enden!

Daher ist die Information "es ist ein Webdienst", erst einmal ausreichend. Also wollen wir hier eventuell Port 80 frei machen. Vielleicht auch noch Port 443 oder ein anderer Port der für diese Webapplikation zuständig ist.
 
Sebbi schrieb:
auch wenn das von 2011 der Artikel ist, es gab bisher keine wesentlichen Verbesserungen bisher: https://www.golem.de/1112/88043-2.html
Oh, die Erkenntnisse sind allenfalls noch was fürs ägyptische Museum. Er mahnt die Implementierung von IPv6 an, nicht den Standard an sich. Die Implementierung ist seitdem aber 12 Jahre gereift. Was die Topologieverschleierung von NAT angeht, weise ich auf ein Paper von Nokia hin (Link müsste ich raussuchen), wo ausschließlich aufgrund der Portnutzung eines NAT Routers zuverlässig Art und Anzahl der dahinter aktiven Geräte erkannt werden konnte. Mobilfunkprovider nutzen das heute noch, um Tethering auf SIMs zu unterbinden, bei denen Tethering vertraglich ausgeschlossen wird.

Generell warne ich davor, eine Firewall durch NAT zu ersetzen. Schon allein der ausgehende Datenverkehr geht bei NAT immer uneingeschränkt durch, von protokoll- oder ALG spezifischen Aspekten will ich gar nicht anfangen. An einer gescheiten Firewall geht also auch bei IPv4 kein Weg vorbei, und dann ist es auch kein Unterschied mehr zu IPv6.
 
  • Gefällt mir
Reaktionen: Bob.Dig, Web-Schecki und TheCadillacMan
Danke für eure zahlreichen Wortmeldungen!
Was ich dort hosten möchte ist kein Geheimnis. Auf dem Pi habe ich die Mess- und Steuersoftware Mycodo installiert. Damit lassen sich allerhand Messwerte visualisieren und auch Automatisierungen realisieren. Meine Netzwerk- sowie Linuxkenntnisse sind leider rudimentär. Was ich sagen kann: die Software wird per Skript installiert und hostet dann lokal auf dem Pi ein Webinterface. Der 443 Port für HTTPS scheint hier beim forwarden relevant zu sein. Das ganze läuft anscheinend über Nginx. Ich vermute der Installer konfiguriert den Server nur für den IPv4 Zugriff, kann das aber nicht anhand der Skripte beurteilen.

@Domi83
Danke für den Hinweis. Da schaue ich mal rein (bin allerdings bis zum Wochenende nicht mehr zu Hause). Da wäre VPN jetzt ja schon praktisch :p
Vielleicht ist es ja nur ein Eintrag der gesetzt werden muss um zunächst die Erreichbarkeit im LAN zu gewährleisten.

@Bob.Dig
Dass VPN ggf. einfacher wäre dachte ich mir gestern dann auch, nachdem ich mich etwas mehr in die DS-Lite Hosting Problematik eingelesen habe. Um Erreichbarkeit von überall zu gewährleisten bräuchte es nach meinem Wissensstand zusätzlich zum DynDNS und einer funktionierenden Port-Öffnung am Router noch einen Relay-Server, der IPv4 Konnektivität (z. B. für Zugriff aus dem Mobilnetz?) bereitstellt.

Was gäbe es denn für übliche VPN Optionen? Letztendlich will ich hauptsächlich von unterwegs mit dem Smartphone (Android) auf mein Dashboard schauen - mehr nicht. Hat man über VPN nicht aber das gleiche Problem, dass mein Router keine öffentliche IPv4 hat und somit ein Relay-Server dazwischen muss? Oder läuft der Dienst über einen externen Server der auf jeden Fall IPv4 und IPv6 versteht?
 
AlphaAquila schrieb:
Hat man über VPN nicht aber das gleiche Problem, dass mein Router keine öffentliche IPv4 hat
In der Tat, aber Du hast ja noch deine öffentliche IPv6-Adresse und kannst dich darüber verbinden. Ich würde wohl WireGuard auf dem Pi installieren, wenn ich denn einen hätte. Kann Dir da also technisch nicht weiterhelfen.
 
Zurück
Oben