Jürgen Schilling - Natur | Fotografie | Technik .

 

JürgenSchilling

Natur | Fotografie | Technik

 
 

 Home

 Black&White
 Cyanotypie
 Fotogramme
 Infrarot
 Jägerprüfung
 Kategorien
 Kirlianfotografie
 Lochkamera
 Makroaufnahmen



Lightbox


 Manuals:
 
Alle Manuals
 Aluminium eloxieren
 Hochspannungsgenerator
 Belichtungszeitentabelle
 Beurteilung v. Negativen
 Blitzlichtfotographie
 Farbmischung
 Filmentwicklung
 Infrarotfotografie
 Teslatrafo
 Teslatrafo Rechner
 Schrauben u. Gewinde

 Entwicklingszeiten:
 Agfa Rodinal
 Kodak D76

 Tiefenschäferechner

 
 Impressum


______

















  
  Bilder pro Gast
  phpMyAdmin
  Counter
  Most viewed
  Logout
  Login
  Theme curve
  Theme my-fruity

Cyanotypie auf Glas
ddclient Konfiguration + ddclient IP Update Problem mit einem Bash-Script lösen

Meine /etc/ddclient.conf:

DynDns Client:
ddclient (ist Teil von SuSE 11.x)
Wird über den Yast als Networkservice gestartet.
Das zugehörige Konfigurationsfile muß manuell editiert werden.
 

# /etc/ddclient/ddclient.conf
#
## ddclient configuration file
#daemon=600 # check every 600 seconds

syslog=yes # log update msgs to syslog

mail=schilling@sr71.de # Mail updates to user

mail-failure=info@sr71.de # Mail failed updates to user

pid=/var/run/ddclient.pid # record PID in file.

## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip='IP Address'

## DynDNS username and password here
login=????
password=????

## Default options
protocol=dyndns2
server=members.dyndns.org

## Aktivirt das www vor der Domaene
wildcard=yes

## Dynamic DNS hosts
380volt.dyndns.info, sitios.dyndns.info,tfk-home.dyndns.info,sr71.dyndns.info
 
 

 

Zugangsdaten / Konfiguration der Fritzbox:
 

Damit DynDNS den Webserver ansteuern kann, muß Port 80 (http) und Port 53 (DNS) auf der Firewall
von "Extern" auf den Webserver geleitet werden.
www.sr72.dyndns.info wird von der FritzBox, auf der auch die Firewall läuft aktualisiert.


Zugang zur FitzBox:
Über Webinterface: 192.168.178.1 PW: ????

Zugang zu Dyndns:
www.dyndns.com
Login / PW: ??? / ????


Feststellen ob Port 80 offen ist:
http://www.dyndns.com/support/tools/openport.html

Habe Port 80 auf der FritzBox auf den Webserver weitergeleitet. Dann war der Port offen.


Eigene IP feststellen:
http://checkip.dyndns.com:8245/
 
ddclient IP Update Problem mit einem Bash-Script einfach lösen
 
Ich glaube jeder kennt das Problem, daß der ddclient z.B. nach einem Update einfach die IP bei diversen Dynamic-DNS-Services nicht mehr updaten will.
Wenn auch Änderungen der Konfigurationsdatei nicht mehr zum Erfolg führen, ist diese Anleitung, welche beschreibt wie ihr das Problem mit Hilfe eines Scripts ein für alle Mal lösen könnt genau richtig für euch.
 

Das Skript überprüft mittels Ping, ob die Webseite erreichbar ist und zwingt den ddclient bei Nichterreichbarkeit zum Update.
Dieses Bash-Script kann man dann ganz einfach als Cronjob alle 10 Minuten ausführen lassen.
Man könnte natürlich auch alle 10 Minuten ein Update durchführen, dadurch kann es aber passieren, dass euer Account aufgrund von “Spamm” gesperrt wird.
Voraussetzung für das Script ist, dass der ddclient konfiguriert ist und ein erzwungenes Update funktioniert.
 
Ein IP Update zwangsweise durchführen:
sudo ddclient -force  

Nur ganz selten ausführen. Sonst sperrt Dyndns die Domäne!!

Skript:
Das Skript pingt die angegebene Adresse. Ist diese nicht erreichbar, wird der Ddclient mit der Option “force” ausgeführt.
Untenstehendes Script am besten als ddhelper.sh abspeichern.
In das Script, muß nur noch die Dyndns-Adresse eingetragen werden.
Das gewünschte Loglevel ist optional. Ebenfalls muss die Datei mit dem “chmod”-Befehl ausführbar gemacht werden.
 
sudo chmod +x ddhelper.sh  
 
#!/bin/n/ wählt das gewünschte Loglevel. Ebenfalls muss die Datei mit dem “chmod”-Befehl ausführbar gemacht werden.
 
sudo chmod +x ddhelper.sh  
Download: dress.com"

#number of pings (default 1)
PINGS=1

#pause between pings (default 3)
PAUSE=3

#logtype:
#0 disable log
#1 only on IP-change
#2 everything
LOGTYPE=1

#path to logfile
LOGFILE="/var/log/ddhelper.log"

#SCRIPT
if [ $LOGTYPE -ge 0 ]; then
 touch $LOGFILE
fi

ping -c $PINGS -i $PAUSE $ADDRESS > /dev/null
if [ $? -eq 0 ]; then
 if [ $LOGTYPE -eq 2 ]; then
  echo "[--]" `date` "-" $ADDRESS "is reachable, nothing to do." >> $LOGFILE;
 fi
else
 if [ $LOGTYPE -ge 0 ]; then
  echo "[XX]" `date` "-" $ADDRESS "is not reachable, forcing update." >> $LOGFILE;
 fi
sudo ddclient --force
fi
 

Cronjob erstellen

Damit das Script alle 10 Minuten läuft, erstellen wir einen Cronjob im Crontab von Root, um es mit Administratorrechten auszuführen.
Man öffnet die Datei mit:

sudo crontab -e

und fügt folgende Zeile am Ende der Datei ein.

 
*/10 * * * * /PFAD/ZUM/SCRIPT/ddhelper.sh  

Jetzt noch speichern und das Skript wird alle 10 Minuten gestartet.
Der eine Ping alle 10 Minuten sollte nicht allzu viele zusätzliche Ressourcen fressen und man erhält dadurch die Sicherheit, dass die IP trotz etwaiger Änderungen
durch Updates oder auch Konfigurationsfehler eingetragen wird
 


So schaut das Logfile aus, wenn der ddclient versagt hat, und das ddhelper.sh Skript den ddclient mit "ddclient --force" startet.
 

tail -10000 /var/log/messages | grep sr71.dyndns.info

[XX] Wed Dec 14 08:00:26 CET 2011 - sr71.dyndns.info is not reachable, forcing update.
[XX] Wed Dec 14 08:10:26 CET 2011 - sr71.dyndns.info is not reachable, forcing update.
[XX] Wed Dec 14 08:20:26 CET 2011 - sr71.dyndns.info is not reachable, forcing update.
[XX] Wed Dec 14 08:30:26 CET 2011 - sr71.dyndns.info is not reachable, forcing update.

[XX] Wed Dec 14 08:40:26 CET 2011 - sr71.dyndns.info is not reachable, forcing update.
Dec 14 08:44:18 webserver ddclient[14277]: SUCCESS: updating sr71.dyndns.info: good: IP address set to 178.10.116.71
[--] Wed Dec 14 08:50:01 CET 2011 - sr71.dyndns.info is reachable, nothing to do.

[--] Wed Dec 14 09:00:01 CET 2011 - sr71.dyndns.info is reachable, nothing to do.
[--] Wed Dec 14 09:10:01 CET 2011 - sr71.dyndns.info is reachable, nothing to do.
 

 

 
(c) Jürgen Schilling 18.12.2011