Hauptmenü

FHEM in Abhängigkeit von IP

Begonnen von LotharRappsilber, 30 Januar 2021, 15:12:54

Vorheriges Thema - Nächstes Thema

LotharRappsilber

Hallo,

wie kann man FHEM in Abhängigkeit von der IP starten.

Hintergrund:
Ich betreibe einen lokalen IIS-Server unter windows. Ich möchte einen Link auf meinen lokalen FHEM-Server setzen, aber fremde IPs sollen nur leserechte haben.
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

Otto123

Hi,

Ich habe es glaube ich nicht verstanden, aber ich fange mal an.
Ich habe ein Script. Damit müsstest Du fhem starten :)

#!/bin/bash
server=Server Oder IP
port=80
  if /usr/bin/nc -z $server $port 2>/dev/null; then
    #echo "$server ist auf $port erreichbar"
    cd /opt/fhem
    /usr/bin/perl fhem.pl fhem.cfg
  fi


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LotharRappsilber

Danke, aber wie ist der Code unter windows?

Ich möchte FHEM in Abhängigkeit von der IP starten. Alle anderen setze ich auf readonly!
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

Otto123

Dein FHEM läuft unter Windows? Also direkt und nicht in WSL?

Ich verstehe die Abhängigkeit von der IP nicht?

Wenn der Windows Rechner eine bestimmte IP hat?
Wenn eine bestimmte IP im Netzwerk verfügbar ist?

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LotharRappsilber

Ich möchte nur deinen Zugriff gewähren, die eine andere IP haben. Ich initialisiere dann anders. Einmal mit readonly und einmal ohne.
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

Otto123

Zitat von: LotharRappsilber am 30 Januar 2021, 15:32:26
Danke, aber wie ist der Code unter windows?
Also ich kann diese Frage noch beantworten, obwohl sie sicher nicht deine eigentlich Fragestellung ist. Irgendwie fehlt mir da der Kontext.
Powershell
if ((Test-NetConnection 192.168.178.1 -Port 80).TcpTestSucceeded) {
   write-output "Server an"
   # hier könnte jetzt der Start einen Programmes stehen
}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LotharRappsilber

#6
Ich möchte das:


define WEB FHEMWEB 8083 global
setuuid WEB 5cd7f177-f33f-2440-82c5-97402bf20b179aaa
attr WEB editConfig 1
attr WEB hiddenroom CUL_WS,KS300,FHT,CUL_HM,CUL_0,FS20,Plots
attr WEB iconPath default:fhemSVG:openautomation
attr WEB longpoll 1
attr WEB menuEntries restart,cmd=shutdown+restart,update,cmd=update,updatecheck,cmd=update+check,reloadMyUtils,cmd=reload+99_myUtils.pm,reloadMyUtilsTelefon,pm
attr WEB stylesheetPrefix dark


in Abhängigkeit von der IP auf readonlay setzen, also wenn es nicht meine eigene ist. Da ich einen internen Webserver betreibe, kann ich einen Link auf FHEM setzen.

Mit


define myIP HTTPMOD https://www.wieistmeineip.de/ 86400
setuuid myIP 6015741d-f33f-9284-d3b0-c5cccb34d3e8b8c7
attr myIP userattr reading01Name reading01Regex
attr myIP reading01Name IP
attr myIP reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP stateFormat IP


hab ich schon meine externe IP herausgefunden.
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

CoolTux

das nennt sich reverse proxy was du mit deinem iss machen willst. Da muss in fhem lediglich zugriff von local gestattet werden. und zwar am besten nur von local.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

LotharRappsilber

#8
Wenn ich einen internen Webserver habe und nur einen Link setzen möchte, brache ich doch nicht reverse proxy.
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

CoolTux

Zitat von: LotharRappsilber am 30 Januar 2021, 16:46:37
Wenn ich einen internen Webserver habe und nur einen Link setzen möchte, brache ich doch nicht reverse proxy.
Wenn Du das sagst. Kenne mich mit IIS nicht so aus. Du wirst das schon wissen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MadMax-FHEM

Deine externe IP landet doch gar nie nicht "in" fhem!

Die wird doch schon vom Router "vernated".

Also externer PC (irgendeine externe IP) greift mittels DEINER externen IP auf deinen ROUTER zu.
Der hat dann Port-Forwarding auf dein fhem oder deinen IIS, dazu nutzt der Router nat. eine INTERNE IP, d.h. bei/auf fhem/IIS kommt die Anfrage mit DIESER INTERNEN IP an.

Daher reicht bzw. funktioniert es nur so wie cooltux schon geschrieben hat: Zugriff mit lokaler IP...

Deine Absicherung muss aber dann (hoffentlich) im IIS gemacht werden!

Und der leitet dann (wenn Berechtigt) an fhem weiter (oder auch nicht)...
...das ist dann das "Reverse-Proxy"...

Warum nicht Zugriff von außen einfach per VPN?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

LotharRappsilber

#11
Das stimmt, aber ich habe die interne IP auf die ich verlinken möchte.

Es sollte etwa so aussehen:

Wenn die zugreifende IP nicht meine externe IP ist, setze ich readonly. Dazu brauche ich meine externe IP.
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

LotharRappsilber

Ich hatte leider einen Denkfehler. Die remote IP kann ich ja nicht herausfinden. Danke für Eure Hilfe!!!
FB 7590, FHEM, 1xCCU2, 6xDECT200, 1xDECT201, 1xHMIP-SWO-PL, 1xHMIP-PS, 1xDECT301,  2xHM-LC-Sw1-PL

MadMax-FHEM

Zitat von: LotharRappsilber am 30 Januar 2021, 17:28:00
Ich hatte leider einen Denkfehler. Die remote IP kann ich ja nicht herausfinden. Danke für Eure Hilfe!!!

Hatte ich ja geschrieben... ;)

Und VPN nutzen!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)