Umleitung externe URL auf lokale IP des Raspberry

  • Hallo,

    ich habe meinen Raspberry zwischen meiner Fritzbox 7390 (Wlan) und meiner Heizung (Lan) hängen.
    Über eine Lan - Wlan Brücke übermittelt die Heizung Messwerte an einen Server (in der Form: heizung.portal.de Port 22460) im www. Die URL ist in der Heizung fest eingestellt und kann nicht verändert werden.

    Ein Perl - Script, das auf dem Raspberry Pi läuft, soll nun die Daten am Port 22460 abgreifen und die Messwerte lokal abspeichern. Über Wlan soll dann der Zugriff von einem anderen Rechner auf den Raspberry möglich sein. Ich möchte meine Fritzbox nicht moden (Freetz o. ä.) und kann daher dort den Nameservereintrag für heizung.portal.de nicht auf die lokale IP des Raspberrys verändern.

    Kann ich den Raspberry so konfigurieren, dass er "heizung.portal.de" auf seine lokale IP umleitet?
    Leider habe ich trotz google und co bisher keine Lösung gefunden. :no_sad:

    Gruß
    trineo


  • Kann ich den Raspberry so konfigurieren, dass er "heizung.portal.de" auf seine lokale IP umleitet?
    Leider habe ich trotz google und co bisher keine Lösung gefunden. :no_sad:


    Ich denke, das sollte mit der "/etc/hosts" oder mit dnsspoof oder mit dnsmasq auf dem Pi, möglich sein. Am einfachsten wäre m. E. die "/etc/hosts".

    EDIT:

    Testen kannst Du das nach der Änderung/Ergänzung, auf dem Pi, im Terminal/Konsole mit z. B.:

    Code
    dig +short heizung.portal.de

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (30. November 2013 um 10:43)


  • Ich denke, das sollte mit der "/etc/hosts" oder mit dnsspoof oder mit dnsmasq auf dem Pi, möglich sein. Am einfachsten wäre m. E. die "/etc/hosts".

    Vielen Dank für die schnelle Antwort :)

    Den Eintrag, den ich in der "/etc/hosts" auf 127.0.0.1 für "heizung.portal.de" gemacht habe, wurde bei einem "ping heizung.portal.de" richtig angezeigt. Sobald aber die Heizung an der Lan - Buchse des Raspberry hing wurde die Url über die Fritzbox aufgelöst.

    Benötige ich überhaupt eine Lan-Wlan-Bridge, da die Heizung eigentlich keinen Anschluss ans www benötigt?

    Ich habe bei deaktivierter Bridge auch dnsmasq ausprobiert, wobei das Routing dann nicht gepasst hat, da an eth0 ein Client (= die Heizung) hängt, der selbst eine IP- Adresse benötigt und die Netzanbindung des Raspberry über wlan0 an die Fritzbox nicht funktionierte.

    dnsspoof muss ich noch testen.

    Gruß
    trineo


  • Den Eintrag, den ich in der "/etc/hosts" auf 127.0.0.1 für "heizung.portal.de" gemacht habe, wurde bei einem "ping heizung.portal.de" richtig angezeigt. Sobald aber die Heizung an der Lan - Buchse des Raspberry hing wurde die Url über die Fritzbox aufgelöst.

    Dann benutzt deine Heizung nicht die "/etc/hosts" des Pi. dnsspoof und/oder dnsmasq auf dem Pi, wird dir dann auch nicht weiter helfen. Erst mal feststellen, welche Namensauflösung deine Heizung benutzt und dann weiter machen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (30. November 2013 um 13:31)


  • Dann benutzt deine Heizung nicht die "/etc/hosts" des Pi. dnsspoof und/oder dnsmasq auf dem Pi, wird dir dann auch nicht weiter helfen. Erst mal feststellen, welche Namensauflösung deine Heizung benutzt und dann weiter machen.

    Es wird immer der Nameserver der Fritzbox verwendet.


    Meine /etc/resolv.conf:

    Code
    domain fritz.box
    search fritz.box
    nameserver 192.168.178.1

    Selbst wenn ich hier den nameserver 192.168.178.1 auskommentiere wird die resolv.conf beim nächsten Start wieder überschrieben.

    Meine /etc/network/interfaces:


  • Es wird immer der Nameserver der Fritzbox verwendet.

    Zitat


    [font="Tahoma, Verdana, Arial, sans-serif"]ich habe meinen Raspberry zwischen meiner Fritzbox 7390 (Wlan) und meiner Heizung (Lan) hängen.[/font]

    Zitat


    [font="Tahoma, Verdana, Arial, sans-serif"]das auf dem Raspberry Pi läuft, soll nun die Daten am Port 22460 abgreifen und die Messwerte lokal abspeichern.[/font]

    Zitat


    [font="Tahoma, Verdana, Arial, sans-serif"]Kann ich den Raspberry so konfigurieren, dass er "heizung.portal.de" auf seine lokale IP umleitet?[/font]

    Hat die Heizung eine interne IP-Adresse aus dem Subnetz der FritzBox? Wenn ja, kannst Du vom Pi mit Hilfe der internen IP-Adresse der
    Heizung, den Port 22460 der Heizung scannen?
    Z. B.:

    Code
    sudo nmap -sS <int.-IP-Adresse-Heizung> -p22460

    EDIT:

    Wie ist nach einem:

    Code
    sudo nmap -sP 192.168.178.0/24


    auf dem Pi, die Ausgabe von:

    Code
    arp -av


    auf dem Pi?
    Wenn "[font="Monaco, Consolas, Courier, monospace"]192.168.178.0/24" nicht das Subnetz deiner FritzBox ist, dann bitte ändern.[/font]


    EDIT 2:

    Evtl. musst Du auf dem Pi, nmap noch installieren:

    Code
    sudo apt-get install nmap

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (30. November 2013 um 17:43)

  • Code
    sudo nmap -sS 192.168.178.46 -p22460


    ergibt:

    Code
    Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-30 22:07 CET
    Nmap scan report for Heizung.fritz.box (192.168.178.46)
    Host is up (0.0083s latency).
    PORT      STATE    SERVICE
    22460/tcp filtered unknown
    MAC Address: 2C:BE:97:00:30:73 (Ingenieurbuero Bickele und Buehler GmbH)
    
    
    Nmap done: 1 IP address (1 host up) scanned in 1.45 seconds


    Nach:

    Code
    sudo nmap -sP 192.168.178.0/24


    erhalte ich mit:

    Code
    arp -av


    Code
    fritz.box (192.168.178.1) auf bc:05:43:fd:22:79 [ether] auf br0

  • Benötige ich überhaupt eine Lan-Wlan-Bridge, da die Heizung eigentlich keinen Anschluss ans www benötigt?


    Kannst Du die Heizung und den Pi nicht separat, d. h. per Kabel mit der FritzBox verbinden?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Kannst Du die Heizung und den Pi nicht separat, d. h. per Kabel mit der FritzBox verbinden?

    Im Prinzip schon, doch leider ist die /etc/hosts in der Fritzbox nur ein Link auf /var/tmp/hosts. Ich habe keine Möglichkeit gefunden auf der Fritzbox die "Heizung"-URL einer lokalen IP zuzuordnen.
    Daher die Idee mit dem Raspberry als Bridge.

  • Zitat


    [font="Tahoma, Verdana, Arial, sans-serif"]... doch leider ist die /etc/hosts in der Fritzbox nur ein Link auf /var/tmp/hosts.[/font]

    Das ist gut so, denn "/etc/hosts" auf der FritzBox ist ro und "/var/tmp/hosts" ist rw. D. h. wenn Du mit telnet auf deine Box kommst, dann kannst Du über "/var/tmp/hosts" in die "/etc/hosts" schreiben (mit nvi). Evtl. hast Du telnetd auf deiner Box (ohne Freetz) schon aktiviert. Wenn nicht, dann siehe: http://www.wehavemorefun.de/fritzbox/Telnetd

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (30. November 2013 um 23:47)

  • Das ist gut so, denn "/etc/hosts" auf der FritzBox ist ro und "/var/tmp/hosts" ist rw. D. h. wenn Du mit telnet auf deine Box kommst, dann kannst Du über "/var/tmp/hosts" in die "/etc/hosts" schreiben (mit nvi). Evtl. hast Du telnetd auf deiner Box (ohne Freetz) schon aktiviert. Wenn nicht, dann siehe: http://www.wehavemorefun.de/fritzbox/Telnetd

    Die "var/tmp/hosts" habe ich gerade auf der Fritzbox abgeändert. Ein nslookup auf der Fritzbox löst nun auch auf die lokale IP auf. Ein nslookup von anderen an der Fritzbox angeschlossenen Geräten stört das nicht - es wird immer noch die externe IP angezeigt.


  • Ein nslookup von anderen an der Fritzbox angeschlossenen Geräten stört das nicht - es wird immer noch die externe IP angezeigt.

    Ja, das ist richtig. Hier könnte das statisch gelinkte dnsspoof binary für deine Box helfen. Freetz wird auf der Box nicht benötigt. Siehe den Link ( http://www.ip-phone-forum.de/showthread.php?t=239977&page=2 ) und dort im Beitrag #21 die Anhänge. Du solltest die Endianness (d. h., ob deine Box little- oder big-endian ist) für deine Box beachten.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Ja, das ist richtig. Hier könnte das statisch gelinkte dnsspoof binary für deine Box helfen. Freetz wird auf der Box nicht benötigt. Siehe den Link ( http://www.ip-phone-forum.de/showthread.php?t=239977&page=2 ) und dort im Beitrag #21 die Anhänge. Du solltest die Endianness (d. h., ob deine Box little- oder big-endian ist) für deine Box beachten.

    Vielen Dank für deine schnelle Hilfe. :thumbs1:

    Ich werde es mal testen.

    Vermutlich nun off-topic:
    Wenn ich das binary und das Hostfile auf meinen USB-Stick kopiert habe, starte ich dnsspoof dann direkt via telnet auf der Fritzbox?


  • Wenn ich das binary und das Hostfile auf meinen USB-Stick kopiert habe, starte ich dnsspoof dann direkt via telnet auf der Fritzbox?


    Ja, z. B. via telnet mit:

    Code
    nohup /var/media/ftp/uStor01/dnsspoofs -i lan -f </pfad/Hostfile> &
    Code
    ps | grep dnsspoof

    BTW: Das Dateisystem auf deinem USB-Stick an deiner FritzBox sollte ext* sein (d. h. das was die FB kann). Siehe:

    Code
    lsmod | grep -i ext


    auf der Box.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (1. Dezember 2013 um 17:44)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!