FHEM Port 8084 Raspberry Pi externer Zugriff

Begonnen von Dave9119, 22 Januar 2014, 14:21:32

Vorheriges Thema - Nächstes Thema

Dave9119

Moinsen,

ich habe jetzt FHEM auf meinem Pi installiert. Funktioniert per App-Steuerung im Haus (interner Zugriff) auch super mit der andFHEM App.
Leider habe ich kein Tutorial gefunden, welches mir beschreibt, wie ich auch von extern per DynDNS (No-IP) auf FHEM zugreifen kann.
Habe das Tutorial schon durch (http://www.fhemwiki.de/wiki/Apache_Authentication_Proxy bin aber langsam am Ende der erfolgreichen Suche angekommen.

Hat jemand eine passende Seite mit Tutorial, oder kann mir das erklären?

Danke schonmal im voraus.
P.S. Habe die Forumssuche bedient, jedoch kein zielführendes Ergebniss bekommen. (Lasse mich gerne eines besseren belehren)

Joachim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Dave9119

Habe Portwarding für SSH eingestellt.
Kann auch auf meinen Pi zugreifen.
Wenn ich jetzt ein Portwarding für 8083-85 einstelle, verliere ich die Weiterleitung für SSH.
Kann auch auf andere Ports zugreifen, die ich eingestellt habe (Apache z.b.)
Deswegen meine Frage, ob es auch anders geht?

masterpete23

na du musst den eingangs und ausgangsport anpassen
welchen router hast du?
software?

Dave9119

Welchen Eingangs- und Ausgangsport?
Vom Router? FHEM? Pi?

Habe (leider) eine o2 HomeBox. Also keine FB oder sonstiges. DynDNS unterstützt er ebenfalls nicht.
Bin froh das die Weiterleitung für SSH funktioniert.

Meines erachtens nach müsste das "Problem" ja bei FHEM liegen bzw. meine Config. Oder?

Wernieman

Nee ... Dein FHEM ist nicht extern erreichbar -> router muß routen, sonst kommt nix an.

Wie hast Du denn das ssh Portforwarding eingerichtet?

Alternative: Stichwort VPN
Alternative2: Portforwarding über ssh, nur kenne ich keinen guten/günstigen ssh Client für Android
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dave9119

Habe SSH per Portforwarding eingerichtet.

SSH Port vom Pi definiert und den dann nach außen freigegeben (natürlich nicht unter dem Standard SSH Port)

Benutze zurzeit die Juice SSH App. Ist mMn ziemlich gut. Nicht überladen, nur das nötigste. Freeversion sogar mit mehr Verbindungsunterstützung. Bietet alles was z.B. putty unter Win unterstützt.

Inwiefern VPN? Intern ein VPN erstellen und das dann per Portforwarding nach außen freigeben? Oder wie kann ich das verstehen?

Was meinst du mit "Router muss routen"?

Korrigiert mich bitte, wenn ich falsch liege. Ich habe doch ein Apache Proxy laufen. Rein logisch (abgesehen von der dazu benötigten Config) müsste ich doch dann per HTTPs und HTTP-Port von extern auf meinen Apachen und dadurch FHEM zugreifen können, oder?

Wernieman

Wenn der Apache extern erreichbar ist, dann kannst Du über Apache den Port erreichbar machen. Hast Du einen Apache als Proxy oder einen "Apache-Proxy"?

VPN meinte ich, das Du Dir ein VPN einrichtest, so das Dein externen gerät über VPN wie ein Internes ins Netz geht.

Mit "Router muss routen"" meine ich, wenn Du extern Deine IP (Namen) ansprichst, landest Du doch auf Port X dem router? Der muss dann Wissen, das der Port X bitte zum Gerät Y weitergereicht wird, also routen. Mich wundert, das Du für ssh (und apache?) es eingerichtet hast, es aber für FHEM nicht gehen soll?

P.S. Was weißt Du von Netzwerken?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

jm-muc

Hallo,

mit dem SSH-Zugang hast Du eigentlich alle Voraussetzungen geschaffen, Du musst lediglich noch einen "Tunnel" einrichten.
Ich habe das gleiche Thema mit dem Port 8083, nutze Putty als SSH-Client und richte dort einen Port-Forward wie folgt ein:
Tunnel -> Source Port: z.B. 8001, Destination: 192.168.1.180:8083 (IP-Adresse lokal meines "entfernten" RasPi mit FHEM), Putty-Radiobuttons "local" und "Auto".
Dann kann ich mit meinem lokalen Browser und der Webadresse "http://localhost:8001/fhem" auf das "entfernte" Web-GUI zugreifen.
Voraussetzung ist die gleichzeitig bestehende SSH-Verbindung.
Viel Erfolg!


FHEM auf RasPi/Raspbian
CSM als CUL
Arduino mit Firmata
AVR-NET-IO mit Ethersex

Dave9119

Zitat von: jm-muc am 22 Januar 2014, 20:13:44
Hallo,

mit dem SSH-Zugang hast Du eigentlich alle Voraussetzungen geschaffen, Du musst lediglich noch einen "Tunnel" einrichten.
Ich habe das gleiche Thema mit dem Port 8083, nutze Putty als SSH-Client und richte dort einen Port-Forward wie folgt ein:
Tunnel -> Source Port: z.B. 8001, Destination: 192.168.1.180:8083 (IP-Adresse lokal meines "entfernten" RasPi mit FHEM), Putty-Radiobuttons "local" und "Auto".
Dann kann ich mit meinem lokalen Browser und der Webadresse "http://localhost:8001/fhem" auf das "entfernte" Web-GUI zugreifen.
Voraussetzung ist die gleichzeitig bestehende SSH-Verbindung.
Viel Erfolg!

Zum Verständnis meiner Seits:
D.h. ich müsste jedes mal mit Putty einen Tunnel einrichten, wenn ich auf Port 8083 zugreifen will?
Für mich, wenn ich es denn richtig verstanden habe, nicht zielführend :/

Zitat von: Wernieman am 22 Januar 2014, 18:24:48
Wenn der Apache extern erreichbar ist, dann kannst Du über Apache den Port erreichbar machen. Hast Du einen Apache als Proxy oder einen "Apache-Proxy"?

VPN meinte ich, das Du Dir ein VPN einrichtest, so das Dein externen gerät über VPN wie ein Internes ins Netz geht.

Mit "Router muss routen"" meine ich, wenn Du extern Deine IP (Namen) ansprichst, landest Du doch auf Port X dem router? Der muss dann Wissen, das der Port X bitte zum Gerät Y weitergereicht wird, also routen. Mich wundert, das Du für ssh (und apache?) es eingerichtet hast, es aber für FHEM nicht gehen soll?

P.S. Was weißt Du von Netzwerken?

Habe ein "Apache-Proxy".
Generell weiß ich einiges von Netzwerken. Jedoch kein fundamentales Wissen.

Wenn ich meine DynDNS mit HTTP-Port-Angabe in den Browser eingebe (http://dyndns.org:80/), komme ich auf meinen Apachen.
Wenn ich per SSH Client meine DynDNS mit SSH-Port eingebe (http://dyndns.org:22/), kann ich auf meinen RPi zugreifen.

Habe im Router eine Portweiterleitung eingerichtet. Wenn von extern auf meinen Router und Port 22 (SSH) zugegriffen wird, wird auf Port 22 der IP des RPis verwiesen.

Wenn ich aber http://dyndns.org:3083/ eintippe, passiert gar nichts.

Wernieman

Wenn Du keine Weiterleitung auf dem router für den Port 3083 (oder meintest Du 8083?) eingerichtet hast, dann ist es logisch, das es nicht läuft. Was mich wundert, das Du nur eine Weiterleitung einrichten kannst, was hast Du denn für einen DSL-Router? Und Wo läuft Dein apache?

Um Sicherheitshalber Nachzufrage: Bei einem apache-proxy (ist ein proxy aus dem Apache projekt) kann ich Dir nicht helfen. Wenn Du dagegen einen "echten" Apache als Webside und Proxy konfiguriert hast, dann ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dave9119

Zitat von: Wernieman am 29 Januar 2014, 12:37:47
Wenn Du keine Weiterleitung auf dem router für den Port 3083 (oder meintest Du 8083?) eingerichtet hast, dann ist es logisch, das es nicht läuft. Was mich wundert, das Du nur eine Weiterleitung einrichten kannst, was hast Du denn für einen DSL-Router? Und Wo läuft Dein apache?

Um Sicherheitshalber Nachzufrage: Bei einem apache-proxy (ist ein proxy aus dem Apache projekt) kann ich Dir nicht helfen. Wenn Du dagegen einen "echten" Apache als Webside und Proxy konfiguriert hast, dann ....

Sry verschrieben. Sollte 8083 heißen.

Ich kann mehrere Weiterleitungen speichern, aber nur eine aktivieren. Frag mich nicht wieso. Habe einen Alice/o2 Router. Ist in der o2 Community auch verrufen, weil er fast nichts kann.
Mein Apache lauscht auf dem Http-Port (80)

Zur Klärung: Ich habe einen Apachen als Webserver laufen. Er lauscht an Port 80. Ich habe zusätzlich ein "Apache Authentication Proxy" installiert (http://www.fhemwiki.de/wiki/Apache_Authentication_Proxy).

Habe gerade http://www.forum-raspberrypi.de/Thread-apache-mod-proxy-und-fhem gefunden. Probiere das mal aus.

Danke ersteinmal für die Hilfe und wenn es funktioniert hat, berichte ich. Wenn nicht, frage ich weiter nach :D

Wernieman

Bei mir ist nur https (443) extern erreichbar und der Komplette vhost ist Passwortgeschützt. Esntsprechend brauchte ich mir bei fhem keine zusätzlichen Gedanken zu machen.

Im VHost habe ich dann zusätzlich drin:

ProxyRequests Off
ProxyVia On
RewriteEngine on

RewriteRule ^/fhem/(.*) http://localhost:8083/fhem/$1 [proxy]
RewriteRule ^/fhem http://localhost:8083/fhem [proxy]
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1


Kann Dir jetzt nicht sagen, ob die letzten 2 Zeilen für fhem wichtig sind, da ich noch mehr proxy-Definitionen drin habe. Wie in der von Dir gezeigten Doku Definition mit <location> hat bei irgendeinem Update nicht mehr funktioniert, deshalb aktuell ohne <location> definition

Meine apache version:
Apache/2.2.25 (Unix)

Hinweis:
Du hast aber 2 Port-Vorwardings drin: 1. SSH, 2. apache
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dave9119

Habe jetzt die Lösung für mein, eigentlich nicht vorhandenes, Problem.

Ich war so verwirrt von der Routeroberfläche, dass ich nicht gemerkt habe, dass beide Forwardings aktiv waren.
Habe jetzt eine dritte enigerichtet und es funktioniert.

Danke für die Hilfe.

Wernieman

grundsätzlicher Hinweis (nicht nur für Dich, sondernfür alle Threadleser)
Bitte beachte, das bei allen Port, welche zum "bösen Internet" geöffnet sind, ein passender Schutz, wie z.B. Passwörter, eingerichtet sind. Auch sollten alle Programm aktuell sein.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html