Im Internet habe ich ein php-Skript schon gefunden:
1
<?
2
$pwort='xyz';
3
$dyntxt="ip.txt";
4
$port="";
5
$pwortcontrol=$_GET["pass"];
6
$IP=$_GET["meineip"];
7
$FW=$_GET["FW"];
8
9
if(file_exists($dyntxt)){
10
if($pwortcontrol==$pwort){
11
$a=fopen("$dyntxt","w");
12
fwrite($a,$IP);
13
fclose($a);
14
}
15
else{
16
$a=fopen("$dyntxt","r+");
17
$dynip=fread($a,filesize($dyntxt));
18
fclose($a);
19
if($FW==1)$url="https://".$dynip;
20
else$url="http://".$dynip."".$port;
21
header("Location: $url");
22
}
23
}
24
?>
Bereits auf einen php-fähigen kostenloser Webserver geladen
(hostinger.de) und funktioniert.
Ich will das für einen Webserver benutzen, der auf einem Raspberry PI
läuft und mit einer Fritzbox verbunden ist.
Aber man muss die aktuelle IP der Fritzbox wissen und dann auf
hostiger.de hochladen.
Dann wird man automatisch auf den Raspberry Webserver verzweigt.
Wie könnte man das Updaten der aktuellen Fritzbox-IP automatisieren?
Ein Dämon auf dem R-PI könnte periodisch die Statusseite der Fritzbox
holen mit
1
wget http://192.168.178.1/logincheck.lua
daraufhin den Inhalt parsen und die aktuelle IP rausfinden.
Wenn sich diese ändert, dann diese mit wget zum hostinger.de - Webserver
melden, damit dieser richtig umleitet.
Gibt es vielleicht schon fertige Lösungen?
Ich weiß, das Fritz seine eigenen Produkte anbietet, aber ich suche nach
allgemeinen freien Lösungen.
Jim Meba schrieb:> Dir ist schon klar, dass die anfragene IP Addresse normalerweise in> $_SERVER['REMOTE_ADDR'] drin ist?
Ja, und?
Ich will von einem fremden Rechner auf meinen Raspberry-Webserver via
hostinger.de (oder anderen Anbieter).
Die Adresse dieses fremden Rechners (z.B. Internet-Cafe) interessiert
mich nicht.
Statt etwas zu parsen und das ganze komplizierter zu machen als nötig:
Den RPi in Intervallen das "DynIP"-Script aufrufen lassen, das Script
checkt die anfragende IP (inkl. der weiteren Credentials) und schreibt
diese, sofern es eine andere ist, in die txt-Datei ...
Das wäre auf der jetzigen Schiene wohl die einfachste Lösung.
Richtig. Jetzt habe ich das endlich kapiert mit dem
$_SERVER['REMOTE_ADDR'] statement.
Der R-PI schickt dem hostinger.de irgendwas hin, dann kann der
hostinger-Webserver mit $_SERVER['REMOTE_ADDR'] die IP der Fritzbox
ermitteln.
Nürnberger schrieb:> Die Adresse dieses fremden Rechners (z.B. Internet-Cafe) interessiert> mich nicht.
...aber der RPi wird doch bestimmt im Netz der Fritzbox liegen?
RPi ruft auf:
http://dingenskirchen.hostinger.de/merkaktuelleip.php?key=1234
...die merkaktuelleip.php hat in $_SERVER['REMOTE_ADDR'] dann die IP
über die die Fritzbox von außen erreichbar ist stehen und kann die sich
irgendwie merken.
"key" hat den Zweck, das nicht ggf. hinz und kunz die
"merkmaktuelleip.php" einfach so aufrufen können, sondern den key wissen
müssten.
---
(Je nach Version der Fritzbox könnte man natürlich auch einfach AVMs
myfritz nutzen:
http://blog.netplanet.org/2013/07/27/myfritz-als-dyndns-ersatz-fuer-die-fritzbox/)
Aus dem Netz zusammenkopiertes PHP mit Credentials, Passwortabfragen
etc. ist immer so eine Sache...
Der Pi könnnte auch lokal seine IP bestimmen, eine Seite bauen und die
per FTP hochschieben.
Hi,
Nürnberger schrieb:> Im Internet habe ich ein php-Skript schon gefunden:> Bereits auf einen php-fähigen kostenloser Webserver geladen> (hostinger.de) und funktioniert.> Ich will das für einen Webserver benutzen, der auf einem Raspberry PI> läuft und mit einer Fritzbox verbunden ist.>> Aber man muss die aktuelle IP der Fritzbox wissen und dann auf> hostiger.de hochladen.> Dann wird man automatisch auf den Raspberry Webserver verzweigt.
Würde es dazu nicht völlig ausreichen, wenn Deine Fritzbox oder der RPi
einen DynDNS-Dienst updaten und Du dann auf den DynDNS-Hostnamen linken
würdest?
Am Rande bemerkt: wenn Du Dir solche Skripte zusammenkopieren mußt, ist
es möglicherweise keine gute Idee, Deinen Pi im Internet zu exponieren.
Zudem ist dieses PHP-Skript der allerletzte Müll.
HRH,
Karl
bluppdidupp schrieb:> RPi ruft auf:> http://dingenskirchen.hostinger.de/merkaktuelleip.php?key=1234> ...die merkaktuelleip.php hat in $_SERVER['REMOTE_ADDR'] dann die IP> über die die Fritzbox von außen erreichbar ist stehen und kann die sich> irgendwie merken.> "key" hat den Zweck, das nicht ggf. hinz und kunz die> "merkmaktuelleip.php" einfach so aufrufen können, sondern den key wissen> müssten.
Das muss nicht der Pi machen, das kann genausogut die Fritzbox selber.
Bei den dyndns-Einstellungen gibt es auch eine benutzerdefinierte, bei
der die Update-URL frei gewählt werden kann.
Vorteil: Das geschieht nur, wenn auch wirklich nötig, sprich, wenn sich
die IP-Adresse geändert hat.
Der Fritzbox ist es egal, ob sich hinter der Update-URL ein echter
dyndns-Dienst verbirgt oder irgendwas selbstgefrickeltes.
Richtiges Dyndns ist übrigens nicht teuer; eine eigene .de-Domain kann
man mit (mittlerweile) 20 Dyndns-Records für etwa 5€/Jahr bekommen.
Bei einem "echten" Dyndns-Dienst muss man sich nicht auf einen Port
festlegen, es funktionieren alle Protokolle - sofern sie dann vom Router
geforwardet werden. Bei diesen selbstgestrickten Lösungen ist das nicht
so, man muss jeden benötigten Port extra ausprogrammieren ...
Rufus Τ. Firefly schrieb:> Richtiges Dyndns ist übrigens nicht teuer; eine eigene .de-Domain kann> man mit (mittlerweile) 20 Dyndns-Records für etwa 5€/Jahr bekommen.
Hast du da ne URL?
Danke schon mal!
tk
Frank Esselbach schrieb:> Bei einem "echten" Dyndns-Dienst muss man sich nicht auf einen Port> festlegen, es funktionieren alle Protokolle - sofern sie dann vom Router> geforwardet werden. Bei diesen selbstgestrickten Lösungen ist das nicht> so, man muss jeden benötigten Port extra ausprogrammieren ...
Das Problem daran ist, dass es so einfach nur mit HTTP funktioniert.
Denn der "Location"-Header ist ein HTTP-Feature.
Es ist halt keine echte Domäne, sondern nur eine Weiterleitung.
Alles, was nicht HTTP ist, lässt sich damit halt nicht weiterleiten.
Eine einfache einlaufende TCP-Verbindung wird halt den öffentlichen Host
auflösen und dann dort ins Leere laufen, ohne von diesem PHP-Frickel
auch nur irgendwas zu sehen.
tk schrieb:> Hast du da ne URL?
Das gibts z.B. bei der schweizer Firma Joker.com.
Das erste Jahr kostet 6.30, die Verlängerung 5.30. Im Moment gibt es
aber eine Sonderaktion, da wird das erste Jahr günstiger.
Die Anzahl der nutzbaren DynDNS-Records wurde in letzter Zeit von 5 auf
20 erhöht. Ansonsten hat man vollen Zugriff auf die üblichen Records
eines Nameservers, d.h. man kann sich auch seinen eigenen mx-Record
einrichten, um Email abzuwickeln.
Ich bin mir sicher, daß es das auch bei anderen Dienstleistern gibt.
Da viele (nicht alle) Internet-User eine Fritzbox nutzen, möchte ich
nochmal auf myfritz.net hinweisen. Man liest zwar immer mal wieder, dass
die Server Störungen haben, da ich diesen Dienst aber nicht wirklich
jeden Tag nutze, ist mir dies bisher nicht negativ aufgefallen.
Ausserdem: Einem geschenkten Barsch guckt man nicht in den ...
Bei
http://www.axelteichmann.de/DynamicDNS/index-DynDNS-mit-Fritzbox.php
sieht mehrere Varianten des obigen Skripts.
Muss noch sagen, dass ich nicht wollte, dass die Fritzbox sichtbar ist
(somit fallen Dyndns Freigaben derselbigen weg), sondern nur der R-PI.
Beim obigen Script wird das PW über Plaintext übertragen, ansonsten sehe
ich keinen Nachteil.
Nürnberger schrieb:> Muss noch sagen, dass ich nicht wollte, dass die Fritzbox sichtbar ist> (somit fallen Dyndns Freigaben derselbigen weg)
Wieso sollte die Fritzbox "sichtbar" sein, nur weil sie das
DynDNS-Update-Skript ausführt?
Das Fritzbox-Update Skript hat ein anderes Problem:
man trägt eine (statische) Url (mit PW) ein.
Wenn jemand anders den gleichen Url aufruft, dann ist der PI viele
Stunden offline, bis die Fritzbox um ca. 3:00am ihre neue IP meldet an
den öffentl. Webserver.
Mit einer Bastel-Lösung könnte man das umgehen:
Das PHP Skript im öff. Server bekommt ein Array von 3652 Passwörtern
(automatisch generiert), das Update-Script im PI die gleiche Liste.
Ein PW ist nur einmal gültig. Die Liste reicht für 10 Jahre.
Nürnberger schrieb:> Wenn jemand anders den gleichen Url aufruft
Und warum sollte das jemand tun? Woher sollte dieser jemand Dein
Passwort etc. haben?
Das Problem liegt hier dann doch wohl an einer komplett anderen Stelle.
Warum sollte mir jemand SPAM-Mails schreiben und versuchen den Computer
zu hacken?
Zugegeben, der PI ist kein brauchbares Opfer, aber das wissen ja Hacker
ja nicht.
Ich denke, wenn regelmässig Passwörter unverschlüsselt übertragen
werden, geraten sie irgendwann in falsche Hände.
> Das Problem liegt hier dann doch wohl an einer komplett anderen Stelle.
Das verstehe ich jetzt nicht ...
Nürnberger schrieb:> Ich denke, wenn regelmässig Passwörter unverschlüsselt übertragen> werden, geraten sie irgendwann in falsche Hände.
Dann würde das gesamte DynDNS-Konzept nicht funktionieren, das
hunderttausendfach genutzt wird.
Hast Du schon mal irgendwelche ernstzunehmenden Berichte über Störungen
von DynDNS-Diensten wegen Passwort-Attacken gehört?
Obendrein: Es gibt auch die Möglichkeit, ssl (https) für Update-URLs zu
verwenden - damit ist das Passwort verschlüsselt.
Frank E. schrieb:> Also was soll der ganze Stress?
Der Stress sollte wohl innerhalb der letzten 5 Jahre bereits abgebaut
sein. So alt ist jedenfalls der Thread. Ich mache hier mal zu.