Hi,
ich versuche mal etwas Licht ins Dunkel zu bringe.
Es gibt zwei grundlegende unterschiedlich Verbindungsarten.
Eingehende und Ausgehende. Fangen wir mit den einfacheren an.
-
Ausgehende
Jedes mal wenn man den Webbrowser öffnet und eine Webseite sehen will wird einer Ausgehende Verbindung aufgebaut. Wie jedem klar seinen sollte muss man dafür nur eine Verbindung ins Internet haben und nichts extra konfigurieren. Welches Protokoll gesprochen wird und welcher Port dafür benötigt wird kann ohne Probleme selbst gewählt werden. -
Eingehende
Hier wird die Verbindung von außen aufgebaut. Jetzt müsste man sich mal verdeutlichen das bei einem normalen Internetanschluss es ja nur ein Gerät (Router) gibt der wirklich mit einem Kable (egal ob DSL, Kable oder Mobilfunk) mit dem Internet verbunden ist. Das heißt alle Rechner/Handys die man zu Hause hat sende ihre Daten zu diesem Router und der versendet es dann ins Internet.
Wenn jetzt von außen einen Verbindung aufgebaut werden soll wird der Router das im normal Fall erst mal abblocken. Da er ja nicht weiß an welchen der vielen Geräte die man besitzt die Daten gesendet werden soll. Dies passiert durch die Firewall. Um es trotzdem hin zu bekommen einen Rechner gezielt aus dem Internet anzusprechen kann man eine Postweiterleitung bzw. NAT einrichten. Dabei sagt man der Firewall wenn jemand eine Verbindung zu einem ganz bestimmten Port öffnen will dann sende die Daten bitte genau an diese Gerät.
Was bedeute das jetzt konkret?
Die Adapter im iobroker entscheiden selber ob sie verschlüsselt oder unverschlüsselt mit dem Internet kommunizieren (Ausgehende Verdingung).
Solange man keine Postweiterleitung einrichtet kann auf die ioBroker instanz nur von den Rechner/handys hinter dem Router zugegriffen werden. Also auch allen Geräten die im WLan hängen[1]
Was kann ich machen wenn ich von unterwegs an den ioBroker kommen möchte
Meine Persönliche Empfehlung ist es nicht den Port zum ioBroker weiterzuleiten.
Ja man kann mit https es etwas sicherer machen jedoch nützt das nichts wenn im Login Code noch ein Fehler ist.
Ich bin der Meinung das es nur 3 gute Möglichkeiten dafür gibt.
-
VPN
Über einen VPN Service (z.b. in der Fritzbox)[2] kann man sich z.b. mit dem Handy von unterwegs in den Bereich hinter dem Router einwählen so das man an alle Geräte kommt (auch dem ioBroker) -
SSH
Mein Favorit jedoch für die meisten nicht Praktikable. Such begriffe wären "ssh-tunnel" (infos) -
Messanger
Wenn es nur darum geht ein paar Werte zu bekommen und etwas zu starten könnte man auch einfach einen Chatbot einrichten. So kann man einfach eine Nachricht senden um z.b. das Licht an zumachen oder so. (hier )
[1] außer wenn man VLANs und extra Firewall Regeln oder eine Gast-Wlan hat.
[2] habe ich selber noch nie verwendet.
P.S. Ich weiß ich habe das sehr vereinfacht da ich nichts über IP Adressen, dhcp, dyndns, DS-Lite usw. geschrieben haben.