DynDNS via 3rd Party

Status
Für weitere Antworten geschlossen.

Phil88

Benutzer
Mitglied seit
01. Okt 2007
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Hallo

Ich weiß das mit DynDNS wurde schon oft besprochen, aber nach dem ich so gesehen habe was ihr so mit 3rd Party anstellt, habe ich mir gedacht, vielleicht kann man das damit schöner gestallten.
Ich habe speziell das Problem, das ich verschiedene Adressen beit "Strato" aktualisieren muss, alle mit anderem Benutzernamen und Kennwort. Im Moment lasse ich Nachts meinen Rechner kurz hochfahren der aktualisiert alle Adressen (Programm: DirectUpdate) und fährt dann wieder herunter, das läuft auch soweit, wenn sich die IP auch nur in dem Zeitraum ändert. Ist das nicht der fall, stehe ich da und schau in die Röhre.
Jetzt ist meine Frage, kann man das überhaupt mit 3rd Party realisieren, das man dort dann verschiedene Server (DynDNS, Strato, etc) auswählen kann, halt so in der Art wie bei dem Progamm?

Schonmal Danke

Phil
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Jetzt ist meine Frage, kann man das überhaupt mit 3rd Party realisieren, das man dort dann verschiedene Server (DynDNS, Strato, etc) auswählen kann, halt so in der Art wie bei dem Progamm?
Das könnte man sicherlich irgendwie umsetzen. Viel Spass beim Programmieren ;) Ich glaube kaum, dass es bereits etwas pfannenfertiges dazu gibt...
 

Phil88

Benutzer
Mitglied seit
01. Okt 2007
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Nun ja wenn ich mir irgendwann mal das programmieren beigebracht habe, dann werde ich mich daran versuchen :rolleyes: , aber ich glaube das dauert erst noch.
Trotzdem Danke.

Phil
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das was man mit DDNS (dynamischer DNS) machen möchte, ist ja eigentlich, einen Automaten zu konfigurieren, der alle paar Minuten nachschaut, ob sich die externe IP-Adresse (der Routers) geändert oder nicht. Das muss ja nicht unbedingt über die DS gehen, sondern kann auch auf dem Router laufen.

Wenn man es auf der DS macht, muss man entweder einen Server schreiben (also ein Programm, dass immerzu läuft und auf Events von außen lauert) oder es mittels dem crond (cron-Server) periodisch aktivieren (so alle 5 Minuten), sonst kann ja einen Versorgungslücke entstehen.

Ob diese Konfiguration per 3rd-Party-Apps dann gemacht wird oder von Hand ist eigentlich egal. Hauptsache man kommt rechtzeitig genug an seinen eigene externe neue/geänderte IP-Adresse heran. Und genau das ist das Problem. Die Disk Station hat eine eingebaute IP-Abfrage, die meines Wissens nach alle 3 Minuten zu Hause in Taiwan anruft und sich die IP-Adresse geben lässt. Leider muss man dann die IP-Adresse aus dem Http-Header auslesen, was es nicht gerade einfach macht. Für den eigentlichen Update ist sie nicht nicht einmal erforderlich.

Warum der ganze Zirkus? Weil man ja nicht alle 3 Minuten bei seinem DDNS-Provider einen Update der IP-Adresse schicken kann. Da hätte er zuviel Last. Deswegen muss man sein Programm solange 'nichts' tun lassen, bis sich endlich die IP-Adresse geändert hat. Deswegen der Aufwand, sich die IP-Adresse zu besorgen.

Den eigentlichen DDNS-Update kann man mit wget vornehmen. Der ist also recht einfach. Die Konfiguration kann man auch aus den bestehenden Dateien auslesen, wenn man möchte.

Das folgende kleine Skript wird bei mir alle 10 Minuten vom Crond aufgerufen (/etc/crontab):

Rich (BBCode):
actualip=$(wget -q --output-document=- http://XXXX/ipresponse.php)
read lastip </tmp/externalIP
if [ "$lastip" == "$actualip" ] ; then exit; fi
echo $actualip >/tmp/externalIP
while read rec; do
case $rec in
\[*)
read a;eval $a
read b;eval $b
read c;eval $c
if [ "$rec" == "[DYNDNS.org]" ]; then
  wget "http://$username:$passwd@members.dyndns.org/nic/update?hostname=$hostname"
  fi
if [ "$rec" == "[TwoDNS.de]" ]; then
  wget "http://$username:$passwd@update.twodns.de/update?hostname=$hostname"
  fi
if [ "$rec" == "[selfhost.de]" ]; then
  wget "http://$username:$passwd4@carol.selfhost.de/nic/update?hostname=$hostname"
  fi
  ;;
esac
done </etc/ddns.conf
Synology>

Das Skript ipresponse.php sieht wie folgt aus:
Rich (BBCode):
<?php print $_SERVER['REMOTE_ADDR']; ?>
und muss auf irgendeinem durchlaufenden externen Web-Server liegen (sonst bekäme man ja seinen IP-Adresse nicht).

Ich hatte das auch schon mal in ähnlicher Form hier im Forum gepostet - ist also nicht wirklich was neues.

itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat