URL auf lokale IP umleiten / CaptivePortal

Begonnen von dadoc, 06 Mai 2019, 16:12:30

Vorheriges Thema - Nächstes Thema

dadoc

Hallo zusammen,
ich bin Besitzer einer Wetterstation (Ventus W830), die keine Möglichkeit bietet, die Daten lokal abzugreifen und an fhem zu übergeben. Die Daten gehen ausschließlich an Wetterportale wie Wunderground.
Ich möchte sie aber lokal haben. Das lässt sich erreichen, indem man den Call an das Wetterportal (rtupdate.wunderground.com) über den DNS abgreift und an fhem über die lokale IP übermittelt. Das ist hier im Forum auch schon verschiedentlich diskutiert wurden (z.B.
https://forum.fhem.de/index.php/topic,44022.195.html).
Die Fritzbox hat ja keine Möglichkeit, das einzustellen, und nur dafür einen DNS auf einem Raspi laufen zu lassen finde ich überdimensioniert.
Daher die Frage an die Experten, ob sich das nicht auch mit einem ESP8266 (Wemos 1D mini) erreichen lässt.
Ich habe es mit dem CaptivePortalAdvanced-Beispiel aus den Platformio-Beispielen versucht, aber nachdem ich es mit Hängen und Würgen auf die Platine gebracht habe, funktioniert es nicht wie erhofft. Auch mit der einfacheren Version https://platformio.org/lib/show/2952/DNSServer/examples (sie sich aber zumindest auf Anhieb ohne Fehler flashen lässt) habe ich es nicht hinbekommen - die scheinen ja alle nur dafür ausgelegt zu sein, URLs auf den Webserver auf dem Wemos umzuleiten.
Ich bin bei solchen Themen leider (noch) kein Experte. Vielleicht denke da auch zu kompliziert? Ginge es evtl mit dem ESPAsyncWebServer einfacher?

Redirect to another URL

//to local url
request->redirect("/login");

//to external url
request->redirect("http://esp8266.com");


Ich wäre sehr dankbar, wenn Ihr mich da auf die richtige Spur setzen könnten.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Christoph Morrison

Bist du dir sicher, dass dnsmasq auf einem PI nicht weniger Arbeit (und stabiler) ist, als das über ein eigenes Gerät zu lösen? Im Prinzip muss ja nur die Wetterstation dnsmasq nutzen, nicht das ganze Netz ... in Pihole ist dnsmasq auch schon eingebaut, falls du einen betreibst.

dadoc

Da bin ich mir keineswegs sicher ;) Ich wollte es nur vermeiden, auf dem fhem-Produktiv-Raspi Experimente zu machen, und einen zweiten Raspi nur für DNS laufen zu lassen erschien mir übertrieben. Und da ich weder mit dnmasq noch mit Pinhole Erfahrung habe, dachte ich, dass so ein 2-Euro-Teil (zumal ich es eh hier herumliegen habe) vielleicht eine elegante Lösung wäre.
Prinzipiell müsste es damit ja gehen, soweit ich das verstehe. Nur wie?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Tedious

Nimm wie vorgeschlagen einfach PiHole. Das lohnt sich denn doppelt und dreifach...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

dadoc

Danke, ist mir schon klar, dass das mit pi-hole bzw. dnsmasq geht, das haben wir ja im anderen Thread diskutiert. Aber mal abgesehen davon, dass ich beruflich bedingt eine klare Meinung zu Adblockern habe, habe ich auch keine Lust, nur wegen einer lumpigen Wetterstation meine Fritzbox in Sachen DNS auszubooten und den ganzen Verkehr über einen Raspi laufen zu lassen.
Daher habe ich meine Frage ja hier im ESP-Forum gestellt. Mich würde ja zuerst nur mal interessieren, ob es damit möglich ist:

-> Wetterstation mit softAP des Wemos verbinden -> rtupdate.wunderground.com auf dem Wemos auf die fhem-IP des lokalen Fritzbox-Netzes umbiegen.

Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

sbiermann

Nimm doch einfach nur den DNS des Pi für die Wetterstation. Setzt aber voraus du kannst dir das WLAN ohne DHCP in der Wetterstation konfigurieren. Dann läuft alles über die Fritzbox und die Wetterstation über den Pi.

dadoc

Die Konfiguration geschieht über eine App (WS Tool). Soweit ich mich erinnere bzw. das von hier aus ausprobieren kann (Station steht in Spanien), gibt es dafür keine Möglichkeit. Man kann nur die Wlan Credentials eintragen und sonst nichts.
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

RappaSan

Schon mal über /etc/hosts probiert, die Adresse umzubiegen?
Z.B so:
192.168.100.33   rtupdate.wunderground.com

dadoc

Wo sollte ich die denn editieren? Dazu müsste ich ja eine /etc/hosts auf dem Router (FB 7490) haben bzw. Freetz installieren?
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

yersinia

Dies ginge wohl mal: https://adrian-jagusch.de/2015/03/domains-abfangen-mit-der-fritzbox-als-dns-server/

Allerdings scheint die fritzbox hier stark begrenzt zu sein:
https://forum.ubuntuusers.de/topic/subdomain-im-heimnetz-funktioniert-nur-auf-hos/
https://avm.de/service/fritzbox/fritzbox-7490/wissensdatenbank/publication/show/663_DNS-Auflosung-privater-IP-Adressen-nicht-moglich/

Die bessere Lösung wäre wirklich einen anderen DNS Server im lokalen Netzwerk zu nutzen. Man müsste wahrscheinlich gar nicht soviel einrichten, ein einfacher DNS Service der alle Anfragen ungefiltert an den Provider-DNS (analog FB) weiterleitet und nur die eine URL 'verbiegt'.

Wie ich sehe hast du schon vier RasPi laufen - auf einem kann man sicher so einen Service einrichten. Möglicherweise sogar pi-hole (idealerweise mit DNScrypt) um dessen Vorzüge zu genießen.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

dadoc

"mal" ist das richtige Wort. Das geht nicht mehr mit den neueren FritzOS.
An "Standort 2" habe ich nur einen Raspi laufen, und wie oben geschrieben will ich nicht nur wegen einer lausigen Wetterstation den gesamten DNS-Traffic weg von der FB auf den Raspi schaufeln. Das wird mir - auch wg. diverser VPN-Tunnel - zu kompliziert und wackelig.
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Tedious

Was ich nicht verstehe - ich hab mir jetzt den Thread mal angeschaut, da steht vom Entwickler explizit

ZitatDu brauchst in deinem Netzwerk einen lokalen DNS, der einen Namen zu der IP 192.168.2.2 auflöst. Diesen Namen trägst du unter Server in der WH2600 Oberfläche ein. Eine direkte IP funktioniert dort nicht. Bei einer Fritzbox reicht der dortige DNS aus, du musst nur den Namen nehmen, den die Fritzbox sich da merkt (oder ihn dort entsprechend ändern). Testen kannst du die Namensauflösung mit einem einfachen Ping (zB "ping meinfhemserver.fritz.box").

Was spricht gegen die Vorgehensweise?
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

dadoc

Das bezieht sich auf eine andere Wetterstation (WH2600). Bei der W830 kannst Du keinen DNS eintragen. Das Vorgehen mit einem "normalen" DNS ist wie gesagt hier skizziert: https://forum.fhem.de/index.php/topic,44022.msg932129.html#msg932129
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

RappaSan

#13
Zitat von: dadoc am 08 Mai 2019, 11:53:48
Wo sollte ich die denn editieren? Dazu müsste ich ja eine /etc/hosts auf dem Router (FB 7490) haben bzw. Freetz installieren?
Haste natürlich recht. Wenn sonst kein Gerät wie z.B. ein RPi die Namensauflösung in Deinem Netzwerk bewerkstelligen kann, wird es mit der Fritzbox problematisch.

Kannst auch noch versuchen, ob dieser Artikel
https://adrian-jagusch.de/2015/03/domains-abfangen-mit-der-fritzbox-als-dns-server/
weiterhilft.

dadoc

Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods