IP-Adresse überprüfen und notfalls per eMail melden...

30/09/2007 - 17:08 von Michael Hagedorn | Report spam
Hallo.
Ich bin dabei, ein kleines Skript zusammenzubasteln, das folgendes
leisten muss: Ein IP-Cop stellt per DSL die Internetverbindung her und
stellt dann über dyndns.org automatisch die Verbindung der aktuellen
Adresse zum Namen her. Dummerweise verweigert dyndns.org manchmal den
Dienst, wenn die Verbindung öfter abbricht und so sehr/zu oft
aktualisiert werden muss.
Dann kann man den Server über die (alte) Namenszuordnung natürlich von
außen nicht erreichen und hat somit keinen Zugriff mehr auf das Netz
(ssh, VPN...). Meine Idee war nun, ob man nicht einfach ein Script per
Cronjob im Halbstundentakt laufen lassen kann, das genau dieses
überprüft und notfalls eine eMail losschickt, wenn es einen Unterschied
gibt.
Erste Versuche sehen bisher so aus -- wer weiß weiter?

while true;
do myip=$(ip -4 a l dev eth0 | awk ...);
dynip=$(host <myhostname> | awk ...);
if [ $myip != $dynip ];
then mail -s "DynDns prüfen" ;
fi;
sleep 1000;
done

Soweit so gut -- nur gibt es jetzt folgendes Problem. Jemand meinte,
dass Script nicht funktionieren wird, da das Caching des OS da Probleme
machen wird. Als Gegenmaßnahme schlug er "dig" vor. Wer weiß weiter? Wie
müsste man das Script anpassen, damit es genau das verlangte leistet?
Danke,
M.
 

Lesen sie die antworten

#1 Heike C. Zimmerer
30/09/2007 - 17:50 | Warnen spam
Michael Hagedorn writes:

[Vergleich DynDNS-IP mit aktueller]

Soweit so gut -- nur gibt es jetzt folgendes Problem. Jemand meinte,
dass Script nicht funktionieren wird, da das Caching des OS da
Probleme machen wird.



Wenn Du einen Cacheing Nameserver betreibst. Das Problem hast Du aber
generell, nicht nur mit Deinem. Eine Änderung Deiner IP braucht Zeit,
bis sie überall durch ist.

Was DynDNS für Deine IP hàlt, fragst Du doch am Besten dort direkt an.
Aus http://www.dyndns.com/developers/sp...ectip.html :

$ wget -q -O - http://username:/nic/update?hostname=yourhostname&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG
nochg 84.161.xxx.xxx
$

Platzhalter (username, password, yourhostname) ersetzen, und schon
hast Du sie.

Ähnliche fragen