Bekijk de volledige versie : Manuelles DDNS Update über Kommandozeile
Hallo,
ich verwende Olegs Firmware 1.9.2.7-7f auf einem Asus WL-HDD. Das Gerät ist per WLAN im Client Modus bei einem anderen Router angemeldet. Dieses Gerät (älterer Acer) kann keine Updates bei einem DDNS Service vornehmen. Das soll - wenn möglich - der WL-HDD übernehmen.
Mein Vorhaben wäre, die DynDNS Updates im post-boot Script anzustoßen, bzw. ggf. per Cron Job. Weiß jemand, wie der DDNS Service über die Kommandozeile genutzt werden kann?
Grüße
Florian
Da sich in der Thematik niemand auszukennen scheint, kann ich nach eigenen Versuchen meine Übergangslösung vorstellen. Wie der DDNS Service in der Firmware realisiert ist, bleibt zwar offen, zumindest aber dyndns.org lässt ich über ein einfaches HTTP GET aktualisieren. Das sollte jedoch nur getan werden, wenn sich die IP wirklich geändert hat, andernfalls wird man durch DynDNS gemahnt.
Dazu kann die eigene IP Adresse abgefragt werden über:
IP=$(wget -q -O - http://checkip.dyndns.org/ | \
sed -e 's|.*Address: ||; s|</body>.*||')
Das eigentliche Update erfolgt ebenfalls mit wget, wenn sichergestellt ist, dass es sich bei $IP um eine neue Adresse handelt:
wget -q -O /tmp/dyndns.org-answer \
"http://$ACCOUNT:$PASS@members.dyndns.org/nic/update \
?system=dyndns&hostname=$DOMAIN&myip=${IP}&wildcard=ON&offline=NO"
Die komplette Update-Prozedur in einem Skript:
http://dev.gentoo.org/~flameeyes/dyndns-updater
Florian
Cool, Shell-Magic :cool:
Der DDNS in der Firmware ist irgendwo in nem Binary mit drin, möglicherweise im Webserver...
Mfg
WlanMan
PeterRies
07-12-2006, 20:01
Danke Florian!
Genau sowas habe ich gesucht. War schon kurz davor mir sowas selber hinzuklöppeln, aber da ich *nix weiss, ist es so besser.
Weiss noch nicht, ob ich es brauche, aber die Zukunft wird es zeigen.
Werde demnächst auf Kabelinternet umsteigen und da weiss ich nicht, ob meine FritzBox hinter dem Kabelmodem die externe IP mitbekommt oder eine interne und dann würde mein ftp Server auf der WL-HDD nicht mehr rocken... Aber so geht's.
Danke nochmal!
Peter
PeterRies
08-12-2006, 13:38
Kleine Ergänzung zum Skript Link oben:
echo "Example:"
echo "nvram set ddns_username JoeSchmuh"
echo "nvram set ddns_passwd SomethingSecret"
echo "nvram set ddns_hostname JoeSchmuh.is-a-geek.net"
echo "nvram set ddns_iface web"
echo "nvram commit"
Da muss zwischen Variable und Wert noch ein =
Also:
echo "Example:"
echo "nvram set ddns_username=JoeSchmuh"
echo "nvram set ddns_passwd=SomethingSecret"
echo "nvram set ddns_hostname=JoeSchmuh.is-a-geek.net"
echo "nvram set ddns_iface=web"
echo "nvram commit"
Dann geht's. Hat einen Moment gedauert, bis ich es raushatte...
Hallo.
Ich habe auf meinem WL-500W Olegs Firmware 1.9.2.7-8 drauf. Nun würde ich gerne einen DDNS Update (bei Zoneedit (http://Zoneedit.com), falls irgendwie wichtig) erzwingen, da ich meinen Router gerne in einer anderen Zone registriert haben möchte.
Wenn ich auf IP Config -> Miscellaneous -> DDNS Setting -> Update klicke, so passiert (wie es scheint) rein gar nichts. Dh. im System Log des Routers steht nichts und die Zone wird auch nicht geupdated.
Wie kann ich einen DDNS Update erzwingen? Und was wäre auf der "Kommandozeile" nach einem Telnet Login aufzurufen?
Danke,
Alexander