DynDns Update, soll Skript ausführen

IceRage

Neuer User
Mitglied seit
3 Dez 2007
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Hallo allerseits,

ich suche nach einer Möglichkeit, von der FB ein Skript auszuführen, nachdem sich die IP geändert hat. Ist sowas möglich?

Bei mir ist es so, dass ich 4 verschiedene Domains bei DynDns eingerichtet habe, und ich ein perlskript geschrieben habe, was eben diese updated. Nun ist es aber so, dass ich das mach Möglichkeit nicht über einen Cronjob machen will, der dann alle Minute das Skript aufruft, sondern über die FB. Also falls das möglich sein sollte. Irgendwie muss die FB ja mitbekommen, dass sich die IP geändert hat. Vielleicht kann man in da ansetzen.

Gruß, IceRage
 
Jo thx, test ich mal. Sieht aber gut aus ;-)
 
Bringt nichts. Aktualisiert auch nur, wenn eine updatesoftware und/oder ein Updateskript läuft. Ist also genau das gleich, wie ein cronjob nur in grün. Und ein Perlskript für den updatejob hab ich ja schon.

Mich würde also wirklich interessieren ob es möglich ist, eine toolchain zu implementieren die etwa so aussieht:

FB-IP-Changeing -> IP-Update-Script

Auf der FB muss es doch einen Prozess geben, der darüber wacht, wann sich die IP geändert hat. Sonst könnte die FB doch nicht das IP-Update einer Domain bei DynDns einleiten. Der Gedanke dabei ist jetzt, dass man vielleicht in einer Konfigdatei für diesen Prozess, ein Skript als Parameter angiebt, dass dann eben einfach ausgeführt wird, wenn der Prozess erkennt, dass sich die IP geändert hat.

Weiß vielleicht wenigstens jemand wie der Prozess heißt, der die Änderung der IP überwacht?


Gruß, IceRage
 
Ich habe mal ein Script geschrieben, dass die Änderung der IP in eine Textdatei loggt. Vielleicht kannst du das Script für deine Zwecke anpassen.

Code:
USB=/var/media/NEW_LINK
LOG=iplog.txt
IP0=leer
while true
do 
    IP1=`showdsldstat | grep "0: ip" | sed -e 's/0: ip //g' | sed -e 's/peer.*//g'`
    if [ ! $IP1 == $IP0 ] 
     then
      DT=`date +%Y-%m-%d' '%H:%M:%S`
      echo "$DT $IP1" >> $USB/$LOG
      IP0=$IP1
    fi
    sleep 60
done
 
Tja scheisse wenn man nicht lesen kann ;-)

Dein Bild hat mir sehr geholfen. Geht echt gut. Vielen Dank ;-)
 
Auf der FB muss es doch einen Prozess geben, der darüber wacht, wann sich die IP geändert hat.

Den gibt es auch, ist der multid, allerdings muss der angewiesen werden, ein Script bei IP Änderung auszuführen. Das könnte so aussehen (debug.cfg)

Code:
multid -s                    #Stoppt den Dienst
multid -S /script/path...    #Startet Ihn mit Angabe welches Script starten soll

Bei Trennung wird Parameter "offline" übergeben, bei neuer Verbindung wird "online" übergeben. Du kannst in dem Script also sogar unterscheiden, wann die Box wieder online ist ;)

Auch wenn dnsomatic ja ganz Nützlich zu sein scheint, verwende ich lieber meine eigenen Scripte, da weis man was man hat.

Grüße Lemur
 
Das ist genau was ich gesucht habe. dnsomatic gefällt mir doch nicht so richtig gut. Da gibst immer wieder Probleme mit dem Update einiger Domains. Ich habe da jetzt 4 eingetrage: 2 funktionieren, und 2 nicht. Die hinterlegten Daten sind allerdings korrekt ... na egal.

also das mit der debug.cfg ist so ähnlich, als wenn ich den telnetd darin eintrage oder? Das Perl Skript, dass zum updaten meiner 4 Domains sein soll, hab ich ja schon fertig. Aber wie bekomme ich jetzt

Code:
multid -s                    #Stoppt den Dienst
multid -S /script/path...

in die debug.cfg?
 
2 funktionieren, und 2 nicht. Die hinterlegten Daten sind allerdings korrekt

Sicher, dass die nicht funktionieren? Ich habe auch 2, bei denen mir immer "Fehlschlag" gemailt wird - wenn ich aber die Fehlermeldung lese, steht drin dass alles korrekt ist... :roll:
 
ja, da bin ich sicher! Und es ist mir auch wurscht, wie das mit dem dnso-was-auch-immer funktioniert, wenn ich das selbst über skripte regeln kann. Da ich skripten kann, und ein skript WESENTLICH mehr möglichkeiten, was customizing angeht, bietet. Mach ich das lieber auf diesem Weg. Allerdings müsste ich dann wahrscheinlich das Skript über eine Freigabe verfügbar machen, da die FB ja wohl nicht direkt perl skripte ausführen kann oder?

Und deshalb ich würd gern wissen, wie ich das mit dem multid in debug.cfg einbauen kann. Wenn der Telnetd gestartet werden soll, kann man das ja auch glaub ich auch dort einbauen, bzw. es schreibt sich rein, wenn diese bestimmte Sequent auf dem Telefon gedrückt wird. Debug.cfg ist wohl aus etwas wie ein init-skript oder etwas derartiges.

Wenn der Lemur noch mal Zeit hat, wäre es nett, wenn er mir das veraten könnte.

Vielen Dank ;-)
 
[HowTo] für HostEurope

Da mich DynDNS gerade wieder ärgern möchte (zu viele Updates pro Zeiteinheit) und ich seit langem eh eine Subdomain meiner eigenen Domains nutzen möchte, habe ich ein Skript geschrieben, welches eine konfigurierte Subdomain bei HostEurope updaten kann.

Man geht wie folgt vor:
1. KIS einloggen
2. Administration -> Domainservices -> AutoDNS ... -> ... [Editieren]
3. letzte Zeile in Tabelle "Hostnamen": subdomain - A - 1.1.1.1 [Neu anlegen]
4. Seitenquelltext nach subdomain.meinedomain.de durchsuchen
5. nach hostid suchen --> Zahl daneben merken

Danach richtet man folgendes /var/tmp/onlinechanged-Skript ein (Achtung, multid mit -S starten!):
Code:
#!/bin/sh
IP="`showdsldstat | grep -o "^0: ip [0-9.]*" | sed 's/.* //'`"
[ "$1" != "online" ] || [URL="http://avmload.svn.sourceforge.net/viewvc/avmload/trunk/FritzLoad/bin/curl"]curl[/URL] -k --url "https://kis.hosteurope.de/?kdnummer=[COLOR="Red"]123456[/COLOR]&passwd=[COLOR="Red"]geheim[/COLOR]" --url "https://kis.hosteurope.de/administration/domainservices/index.php?record=A&pointer=$IP&menu=1&mode=autodns&domain=[COLOR="Red"]meindomain.de[/COLOR]&submode=edit&truemode=host&hostid=[COLOR="Red"]12345678[/COLOR]&submit=Update" -c /dev/null >/dev/null 2>1

Die noch zu ändernden Stellen habe ich rot markiert. Die IP-Adresse wird etwas eleganter ermittelt. Am Ende ist die eigene Box dann repräsentativ unter https://subdomain.meinedomain.de/ erreichbar. ;-)

EDIT: Das o.g. Skript setze ich aufrgund der langen TTL von Host Europe doch nicht mehr ein. Dort habe ich allerdings einen Name-Record auf einen afraid.org-Account gesetzt. Diesen darf die Fritz!Box auch beliebig oft aktualisieren, ohne dass man gleich gesperrt wird.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.