Und schon wieder war der Server vom Netz aus nicht erreichbar. Grund diesmal: DynDns hatte nicht mehr die aktuelle IP meines Servers. Ich habe eine DSL-EasyBox 802 mit der aktuellsten Firmware (Version:20.02.223) und die Option “Dyndns” funktioniert dort gar nicht.
Es gibt ständig die Meldung, dass ein Fehler bei der Autentifizierung bei dyndns.org aufgetreten ist. Nach einem Neustart des ganzen Teils geht es aber wieder. Und dann komt es auch vor, dass bei einem wechsel der IP das Ding laut Log behauptet, die IP ist noch immer gleich und DynDns muss nicht benachrichtigt werden. Kurzum: unbrauchbar und der totale Schrott.
Viel zu Aufwendig und außerdem immer noch Fehleranfällig. Dieses Script hat auch behauptet, dass die IP nochh gleich ist, obwohl sie sich schon geändert hatte. ich hab was anderes probiert. Mal sehen ob’s jetzt geht.
Immerhin gibts leiche Abhilfe unter Ubuntu mit dem Perl-Scriptchen dyndns welches über apt-get einfach installiert werden kann. Es nimmt einem die Arbeit ab die IP alle 5 Minuten zu kontrollieren und bei einer Änderung DynDns zu benachrichtigen. Auch wird beachtet, dass man mindestens alle 30 Tage eine Meldung schicken muss, da DynDns sonst den Account sperrt. Allerdings ist die Doku für die Katz, da die Textbeschreibung vorne und hinten unvollständig ist. So wird der Parameter –file als Optional angesehen, obwohl man ihn braucht und Standardmäßigg wird die aktuelle IP durch ifconfig ermittellt, was ja nich stimmt, da diese ja nur die interne IP ist.
Folgendes funktioniert aber einwandfrei:
dyndns --debug --login USERNAME --password PASSWORT --host HOSTNAME-BEI-DYNDNS --urlping-dyndns --file /var/log/dyndns.log -D 5 & Damit prüft er die eigene, aktuelle IP über ein Script auf DynDns, schreibt den aktuellen Stand in die Log und trägt die aktuelle IP bei DynDns ein, wenn sich seit dem letzten IP-Eintrag in der Datei was geändert hat.
Wichtig! Wenn man den Prozess startet, nicht vergessen, per disown das Ding auch frei zu geben. Ansonsten läuft der nur so lange, wie die eigene Shell. Ist mir gestern passiert, weswegen der Server SCHON WIEDER einen ganzen Tag nicht erreichbar war.
Damit man sich nicht mehr drum kümmern muss, ist folgendes Startscript hilfreich: #!/bin/sh -e
echo "dyndns $1 ..."
case $1 in
start)
dyndns --debug --login USERNME --password PASSWORD --host HOSTNAME-BEI-DYNDNS --urlping-dyndns --file /var/log/dyndns.log -D 5 &
disown
echo "started"
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported"
exit 3
;;
stop)
killall dyndns
echo "stopped"
;;
*)
echo "Usage: /etc/init.d/dyndns {start|stop}"
exit 3
;;
esac
exit 0
Damit es beim Syastemstart gleich mit gestartet wird, muss es nur unter /etc/init.d/dyndns abgelegt und mit sudo chmod +x /etc/init.d/dyndns und zusätzlich sudo update-rc.d dyndns defaults 98 aktiviert werden.
Das funktioniert jetzt jedenfalls erst mal wieder alles korrekt. Ich hoffe nur, dass mir jetzt nicht noch ein Teil ärger macht und der Server endlich mal problemlos am Netz bleibt