NEWS
Binding der IP Adresse des Admin Adapters
-
OK… Werde ich machen.
Danke!
-
Ähm…
Bedeutet:
@Balu1973:iobroker01:/opt/iobroker # iobroker set admin.0 –bind 192.168.178.52 `
nicht, dass du nur noch von der IP 192.168.178.52 auf den admin zugreifen könntest?Was passiert denn, wenn du in der admin Konfig bei der Instanz den Port änderst?
Gruß
Rainer
-
"bind IP" ist gleichzusetzen mit "horche auf IP bzw. reagiere nur wenn du mit IP angesprochen wirst"..
Hat nichts mit "reagiere nur wenn die Anfrage von IP kommt" zu tun.
Also schon der korrekte Weg - außer es hat in ioBroker eine andere Bedeutung?! Kann ich mir aber nicht vorstellen.
Eventuell steht im Log auch etwas diesbezüglich?
Vielleicht ist der Port schon belegt oder ähnliches..
Was mir gerade so einfällt, ich gehe ganz stark davon aus dass ioBroker selbst immer versucht über localhost / 127.0.0.1 mit sich selbst zu kommunizieren..
Wenn du das Binding jetzt nur auf 192.168.x.x legst, ist ioBroker für sich selbst nicht mehr unter 127.0.0.1 zu erreichen..
Versuch mal````
--bind 127.0.0.1 192.168.178.52Gruß
-
"bind IP" ist gleichzusetzen mit "horche auf IP bzw. reagiere nur wenn du mit IP angesprochen wirst".. `
sicher????nicht "reagiere nur wenn du von IP angesprochen wirst"
"horche auf" ist für mich nicht "gehorche als"
Die Standardeinstellungen sind deshalb 0.0.0.0 damit der admin von allen IPs aus erreichbar ist.
Gruß
Rainer
-
"bind IP" ist gleichzusetzen mit "horche auf IP bzw. reagiere nur wenn du mit IP angesprochen wirst"..
sicher????
Ich denke BuZZy hat Recht:https://nodejs.org/api/net.html#net_ser … g_callback
` > Start a TCP server listening for connections on the given port and host.
If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available, or the unspecified IPv4 address (0.0.0.0) otherwise.
Note: In most operating systems, listening to the unspecified IPv6 address (::) may cause the net.Server to also listen on the unspecified IPv4 address (0.0.0.0). `
Die Angabe der Adresse ermöglicht bei Geräten mit mehreren Netzwerkschnittstellen (z.b. Ethernet und WLAN) nur auf Verbindungen auf einer dieser Schnittstellen zu reagieren.
-
Danke - wieder was gelernt (wenn auch noch nicht ganz verstanden)
@[url=https://en.wikipedia.org/wiki/0.0.0.0:~~Wikipedia"]~~In the context of servers, 0.0.0.0 can mean "all IPv4 addresses on the local machine". If a host has two IP addresses, 192.168.1.1 and 10.1.2.1, and a server running on the host is configured to listen on 0.0.0.0, it will be reachable at both of those IP addresses. `
Gruß
Rainer
-
Zum eigentlichen Problem:
Der Admin-Adapter erstellt hier
https://github.com/ioBroker/ioBroker.ad … eb.js#L393
einen neuen HTTP-Server, was auf diese Zeile zeigt:
https://github.com/ioBroker/ioBroker.js ... pt.js#L175
Die Einstellung für "bind" (IP-Adresse) wird anscheinend an die Funktion übergeben, aber nie an den erstellen HTTP-Server.
-
Zum eigentlichen Problem:
Der Admin-Adapter erstellt hier
https://github.com/ioBroker/ioBroker.ad … eb.js#L393
einen neuen HTTP-Server, was auf diese Zeile zeigt:
https://github.com/ioBroker/ioBroker.js ... pt.js#L175
Die Einstellung für "bind" (IP-Adresse) wird anscheinend an die Funktion übergeben, aber nie an den erstellen HTTP-Server. `
hierhttps://github.com/ioBroker/ioBroker.ad … eb.js#L408
Muss
server.server.listen(port, settings.bind);
stehen
-
Danke - wieder was gelernt (wenn auch noch nicht ganz verstanden)
` Stell dir vor, du hast EINEN Server, mit ZWEI Netzwerkkarten.
Also hast du zwei IPs unter denen du den selben Server erreichen kannst.
192.168.0.1 und 192.168.0.2
Jetzt installierst du auf diesem Server einen Webserver welcher auf dem HTTP Standardport 80 zu erreichen ist..
Die Instanz vom Webserver ist mit "bind 0.0.0.0" (auf allen IPs horchen) konfiguriert.
Jetzt kannst du im Browser
oder
aufrufen, und landest auf genau der gleichen Seite.
Angenommen du willst jetzt dass auf den unterschiedlichen Adressen auch unterschiedliche Webseiten angezeigt werden.
Dafür konfigurierst du die Webserver-1 Instanz auf "bind 192.168.0.1" und installierst eine zweite Instanz vom Webserver (Webserver-2)
welche mit "bind 192.168.0.2" konfiguriert wird.
Du bindest sozusagen die HTTP-Serverprozesss an diese IP-Adressen.
Wenn du jetzt http://192.168.0.1 aufrufst, antwortet dir die Webserver-1 Instanz ..
rufst du http://192.168.0.2 auf, antwortet dir die Webserver-2 Instanz - beide auf Port 80 - mit unterschiedlichen IPs - auf dem selben Server. 8-)
Gruß
-
Danke Buzzy, das hatte ich inzwischen sacken lassen, aber…
Ich hatte in Erinnerung, dass man irgendwie auch den Zugriff auf einen Server durch Angabe der zulässigen (zugreifenden) IP-Adresse oder Bereiche limitieren könnte.
Das habe ich jetzt nicht wieder gefunden.
Danke nochmals
Rainer
-
Ich hatte in Erinnerung, dass man irgendwie auch den Zugriff auf einen Server durch Angabe der zulässigen (zugreifenden) IP-Adresse oder Bereiche limitieren könnte. ` Sprichst du jetzt von einer Firewall? :lol:
Gruß
-
-
Manchmal ist das auch alles sehr verwirrend..
Gibt viele Begriffe die auf "beides" zutreffen..
Man kann auch eine Firewall an eine IP binden z.B…
:lol:
Gruß
-
Hallo Zusammen,
Danke für die Diskussion. Wenn ich es richtig verstanden habe, sind die erforderlichen Änderungen von AlCalzone schon auf GIT gemacht und von Bluefox bestätigt, oder?
Ab wann wäre das dann im Adapter vorhanden? Habe es gerade mit Version 3.3.5 versucht und dort klappt es noch nicht. Das Bild bleibt gleich…
Danke und Grüße,
Balu
Edit: Falls es hilft/wichtig/interessant ist: Im Web Adapter konnte ich das Binding auf die zweite IP festlegen und den Port auf 443 stellen. Zugriff klappt einwandfrei...