[Gelöst] Kein Zugriff auf RPi Port 3000 - DSLite

Begonnen von IqpI, 15 Mai 2017, 17:11:00

Vorheriges Thema - Nächstes Thema

IqpI

Lösung des Zugriffsproblems bei IPv6: ICMPv6, Port 3000 ebenfalls als Portfreigabe einrichten.

---


Hi,

ich suche schon seit 2 Wochen nach einer Lösung und habe viel versucht. Ich finde immer wieder Lösungsschnipsel die funktionieren könnten und es dennoch nicht tun. Aber nun zum eigentliche Problem:

Ich habe mir die kleine Alexa gekauft, ein 3er Pack Brennenstuhl Funksteckdosen und mir einen nanoCUL zusammengelötet. Um das ganze anzusteuern habe ich genannten RPI 3 mit FHEM am laufen. Soweit so gut. FHEM läuft über die Weboberfläche, meine Steckdosen kann ich ansprechen. Nun habe ich nach diversen Videos und der Anleitung hier im Wiki versucht FHEM Elemente über Alexa zu steuern. Dazu habe ich alles wie beschrieben gemacht und scheitere dennoch. Das Problem welches sich mir dauerhaft in den Weg stellt ist unser DS-Lite Tunnel von M-Net oder der Zugriff auf die Ports vom RPI.

Über feste-ip habe ich sowohl DynDNS als auch einen universellen Portmapper erstellt. Ich habe zusätzlich die Ports 8083/3000 auf der Fritzbox freigegeben (ipv4 und ipv6), ich habe es mit myfritz Freigaben, die direkt auf den RPI richten versucht und komme nicht weiter.

Bei der DynDNS habe ich die IPv6 der Fritzbox eingetragen und kann über entsprechendes Portmapping auch auf die Oberfläche zugreifen. Leider komme ich aber nicht auf meinen Raspi. Ich bin inzwischen wahrscheinlich blind für die Lösung, weswegen ich leicht frustriert bin und hier nach Hilfe frage.

Im Anhang findet ihr Screenshots der verschiedenen Konfigurationen.

Was übersehe ich, bzw. wo habe ich den Denkfehler?

Ich danke euch schonmal und hoffe natürlich, dass die Frage nicht schon 100 mal beantwortet wurde.

Gruß, IqpI

KernSani

Hi,


grundsätzlich würde ich mich erstmal auf IPv4 konzentrieren, aber davon abgesehen: ich kenne die Fritzbox nicht, aber bei meinem Router muss ich ein port-forwarding einrichtenm bei dem ich für jeden eingehenden port angebe an welches Gerät/welche IP und welchen port die Pakete weitergeleitet werden sollen. Das sehe ich in deinen Screenshots so nicht...


Den Post könnte man vielleicht umbenennen mit "Raspberry Pi über Fritzbox-Portfreigabe nicht erreichbar" o.ä. Mit Alexa oder FHEM hat das aktuell noch nix zu tun...


Und nochmal grundsätzliches: Überleg Dir nochmal genau, ob du deine Haussteuerung wirklich einfach ins Internet stellen willst
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

amenomade

#2
Wie KernSani sagt, würde ich erstmal nur mit IPv4 versuchen. Einige Anmerkungen:

- die Freigabe auf der Fritzbox darf KEINE MyFritz! Freigaben  sondern "normale" Port-freigaben sein.
ZitatMyFRITZ!-Freigaben sind Portfreigaben, die nur beim Zugriff über MyFRITZ! vorhanden sind.
Hinweis:Die Netzwerkgeräte und Anwendungen, die Sie hier freigeben, sind ausschließlich für den Zugriff über MyFRITZ! erreichbar. Für Internetzugriffe, die nicht über MyFRITZ! stattfinden, sind die Freigaben nicht gültig.

- es ist nicht nötig (und nicht empfohlen), den Port von FHEM (8083) freizugeben. Nur den von alexa-fhem (standardmässig 3000 - siehe AWS Funktion). Ebenso ist es nicht nötig in IPTables die 8083 freizuschalten. Die AWS Funktion redet mit alexa-fhem:3000 und dann redet alexa-fhem intern innerhalb deines Heimnetzes mit fhem:8083

- wenn es funktioniert, ist es (sehr) empfohlen mit Apache den Zugriff mit User/Passwort zu schützen. Siehe Wiki.

- Zum Testen der öffentliche URL muss man ausschliesslich ausserhalb vom Netzwerk der Fritzbox sein, z.B. mit einem Handy mit deaktivierten WLAN (dann über 3G/4G). Sobald Du aus einem "internen" Rechner (der eine IP Adresse im gleichen Subnetz wie die Fritzbox hat, z.B. 192.168.xx.xx) probierst, blockiert die Fritzbox die Flüsse.

- wenn Du eine Fritzbox nutzt, ist es einfacher, die DNS Funktionalitäten von MyFritz! zu nutzen. So bekommst Du eine feste URL in der Form https://zmeoifjmqozirg.myfritz.net. Dann, mit entspr. Freigabe der Port 3000, erreichst Du alexa-fhem über https://zmeoifjmqozirg.myfritz.net:3000

Gruß

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

IqpI

#3
Hi vielen Dank für eure Antworten. Leider bin ich bisher nicht dazu gekommen wieder an meinem Problemchen zu arbeiten.

Zitat von: KernSani am 15 Mai 2017, 23:29:35
Hi,


grundsätzlich würde ich mich erstmal auf IPv4 konzentrieren, aber davon abgesehen: ich kenne die Fritzbox nicht, aber bei meinem Router muss ich ein port-forwarding einrichtenm bei dem ich für jeden eingehenden port angebe an welches Gerät/welche IP und welchen port die Pakete weitergeleitet werden sollen. Das sehe ich in deinen Screenshots so nicht...


Den Post könnte man vielleicht umbenennen mit "Raspberry Pi über Fritzbox-Portfreigabe nicht erreichbar" o.ä. Mit Alexa oder FHEM hat das aktuell noch nix zu tun...


Und nochmal grundsätzliches: Überleg Dir nochmal genau, ob du deine Haussteuerung wirklich einfach ins Internet stellen willst

Ich habe es sowohl über IPv4 und IPv6 probiert und komme aber immer in eine Firewallsperre. Zugriff auf die Fritzbox Oberfläche funktioniert aber Problemlos. DIe Portweiterleitungen und die Firewall vom Raspi sind entsprechend konfiguriert...
Ich hänge also mit dem Problem irgendwo in der Firewall der FritzBox oder aber im RPi.

Ich habe den 8083 nur zu Testzwecken freigegeben, weil ich die Erreichbarkeit des Ports überprüfen wollte.

Zitat von: amenomade am 16 Mai 2017, 00:40:31
Wie KernSani sagt, würde ich erstmal nur mit IPv4 versuchen. Einige Anmerkungen:

- die Freigabe auf der Fritzbox darf KEINE MyFritz! Freigaben  sondern "normale" Port-freigaben sein.
- es ist nicht nötig (und nicht empfohlen), den Port von FHEM (8083) freizugeben. Nur den von alexa-fhem (standardmässig 3000 - siehe AWS Funktion). Ebenso ist es nicht nötig in IPTables die 8083 freizuschalten. Die AWS Funktion redet mit alexa-fhem:3000 und dann redet alexa-fhem intern innerhalb deines Heimnetzes mit fhem:8083

- wenn es funktioniert, ist es (sehr) empfohlen mit Apache den Zugriff mit User/Passwort zu schützen. Siehe Wiki.

- Zum Testen der öffentliche URL muss man ausschliesslich ausserhalb vom Netzwerk der Fritzbox sein, z.B. mit einem Handy mit deaktivierten WLAN (dann über 3G/4G). Sobald Du aus einem "internen" Rechner (der eine IP Adresse im gleichen Subnetz wie die Fritzbox hat, z.B. 192.168.xx.xx) probierst, blockiert die Fritzbox die Flüsse.

- wenn Du eine Fritzbox nutzt, ist es einfacher, die DNS Funktionalitäten von MyFritz! zu nutzen. So bekommst Du eine feste URL in der Form https://zmeoifjmqozirg.myfritz.net. Dann, mit entspr. Freigabe der Port 3000, erreichst Du alexa-fhem über https://zmeoifjmqozirg.myfritz.net:3000

Gruß



Die Portfreigaben habe ich jetzt normal eingerichtet, sowohl IPv4 als auch IPv6. Die Passwortsperren habe ich auch eingerichtet. Ich werde es nun erneut versuchen. AWS Lambda sagt mir inzwischen aber immernoch, dass die COnnection refused wird...

Das Problem an myfritz ist, dass es bei mir nicht funktioniert. Ich bekomme über den Link keinen Zugriff auf die FB. Liegt wohl am DSLite Tunnel

justme1968

aws lambda kann kein ipv6. wenn du dslite hast geht ipv4 nicht. du brauchst einen externen proxy der das umsetzt. schau mal im alexa thread. da gibt es beispiele.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

IqpI

Hi Andre,

danke für die Antwort. Ich habe beim Suchen keine wirkliche Lösungsbeschreibung gefunden.
Aber ich denke ich werde Alexa nicht mehr hier betreiben, sondern an meinem 2. Wohnort, wo ich auch IPv4 habe. Der ganze DSLite Müll geht mir tierisch auf den Keks und beschert mir nur schlechte Laune. MyFritz funktioniert nicht so, wie ich es mir vorstelle, der Portmapper funktioniert zwar, dafür bekomme ich aber Firewallsperren auf feste-ip.net angezeigt, wenn ich Port 3000 versuche und AWS tut auch nicht wie es soll. 

Gruß,
Niko

rabehd

Bis auf den Provider, bei mit Unitymedia, ist alles gleich und funktioniert bei mir.

Der Raspi ist intern mit ipv4 erreichbar?

In der Fritzbox ist ipv6-Freigabe für den Port 3000 auf die externe ipv6-Adresse des Raspi eingerichtet.
Bei feste-ip.net kannst Du den Zugriff positiv testen?

von extern ist der Raspi:3000 über ipv4 (siehe Adresse bei feste ip) erreichbar?

Die Adresse und der Port von feste IP ist bei AWS eingetragen?
Auch funktionierende Lösungen kann man hinterfragen.

IqpI

Hi Rabehd,

- Raspi ist intern über IPv4 erreichbar
- IPv4 und IPv6 ist freigegeben (Port 3000 und auch der Mapping Port von feste-ip.net)
- Der Test ist negativ. Über das Portmapping erreiche ich die Fritzboxoberfläche, d.h. das sollte theoretisch funktionieren
- Der Raspi ist nicht erreichbar: laut feste-ip.net gibt es eine Firewallsperre
- Adresse und Port sind eingetragen. Fehlermeldung ist.entweder ECONREFUSED oder dass nichts gefunden wird.

Daher kommen ja meine Probleme. Theoretisch habe ich vieles versucht, auch den RPi schon als Exposed Host und alle IPv6 Ports freigegeben, letztenendes heißt es aber immer Firewallsperre...

rabehd

ZitatIPv4 und IPv6 ist freigegeben (Port 3000 und auch der Mapping Port von feste-ip.net)

IPv4 kannst Du Dir grundsätzlich sparen, da Dein netz bei DS-Lite per ipv4 nicht erreichbar ist.
wofür ist Deiner Meinung nach der Mapping Port von feste-ip.net in der Fritzbox freigegeben? Da willst Du doch gar nicht rein. Weisst Du was der Portmapper macht?

ZitatÜber das Portmapping erreiche ich die Fritzboxoberfläche,

Was nahe legt, dass Du nicht die Adresse des Raspi eingegeben hast.

Ich hatte auch ab und zu mal Probleme, dass alles ok war trotzdem eine Sperre war. Da hat es geholfen, alles Weiterleitungen in der Fritzbox zu löschen und neu zu setzen (incl. Neustart).
Auch funktionierende Lösungen kann man hinterfragen.

IqpI

#9
Hi rabehd,

danke für deine Antwort und entschuldige die Lange Funkstille.

Ich habe testweise einfach alles freigegeben, um mögliche Fehlerquellen auszuschließen. Das Portmapping verstehe ich ebenfalls.

Und richtig, da hatte ich nicht die IPv6 des RPi angegeben. Das habe ich inzwischen getan und komme mit meinem Problem aber leider nicht weiter.

Ich habe den RPI nun umgezogen und bin jetzt bei Unitymedia im Netz, d.h. keine Fritzbox, aber weiterhin Dualstack Lite. Ich habe alles neu konfiguriert, den RPi plattgemacht und alles sauber aufgesetzt. FHEM funktioniert im Heimnetz problemlos, auf Port 3000 komme ich trotzdem nicht.

Muss ich in FHEM weitere Einstellungen vornehmen, dass es IPv6 Anfragen akzeptiert? Ich komme momentan nicht auf die Oberfläche, wenn ich die IPv6 statt der IPv4 eingebe...

Edit: Auch wenn ich versuche über den Portmapper auf SSH zuzugreifen tut sich nichts. Gibt es eine Möglichkeit herauszufinden ob das Problem beim RPi oder der ConnectBox von Unitymedia liegt?

amenomade

Ich verstehe etwas nicht: du versuchst den Port 3000 von alexa-fhem zu erreichen, und nicht den von FHEM oder?

Für FHEM, Zitat aus CommandRef:
ZitatTo use IPV6, specify the portNumber as IPV6:<number>, in this case the perl module IO::Socket:INET6 will be requested. On Linux you may have to install it with cpan -i IO::Socket::INET6 or apt-get libio-socket-inet6-perl; OSX and the FritzBox-7390 perl already has this module.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

IqpI

Ja, ich möchte Port 3000 von alexa-fhem erreichen

rabehd

Ich glaube, das war blinder Aktionismus  :-[

Gehen wir doch langsam vor.

Auf dem Raspi läuft Alexa und hört auf Port 3000? (Ist vielleicht nicht ganz richtig formuliert - für die Spezialisten)
Dann müßte eine Anfrage innerhalb deines Netzwerkes mit der ipv6-Adresse des Raspi auf Port 3000 eine Antwort bringen.

Wenn das klappt, dann können wir uns um den Zugriff von außen kümmern.
Auch funktionierende Lösungen kann man hinterfragen.

amenomade

@rabehd : Du hast natürlich recht. Nur die Formulierung hier war ein bisschen verwirrend, deswegen meine Frage
Zitat von: IqpI am 31 Mai 2017, 14:54:15
Muss ich in FHEM weitere Einstellungen vornehmen, dass es IPv6 Anfragen akzeptiert? Ich komme momentan nicht auf die Oberfläche, wenn ich die IPv6 statt der IPv4 eingebe...

Zitat von: rabehdAuf dem Raspi läuft Alexa und hört auf Port 3000? (Ist vielleicht nicht ganz richtig formuliert - für die Spezialisten)
Dann müßte eine Anfrage innerhalb deines Netzwerkes mit der ipv6-Adresse des Raspi auf Port 3000 eine Antwort bringen.
Schauen wir mal...
(ein Spezialist hätte bestimmt "lauscht" statt "hört" benutzt. Eh eh  8) )
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rabehd

@amenomade
Stimmt, lauschen ist üblicher  8)

@IqpI
Port bezieht sich auf die Hardware und dort lauscht die Anwendung. Ich vermute ein paar Grundlagen könnten dir helfen.
Auch funktionierende Lösungen kann man hinterfragen.