Ddclient: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Installation von ddclient: Ergänzt um Sourceforge Downloadquelle)
K (Weitere Quellen und Links: Projekthomepage hinzugefügt)
Zeile 251: Zeile 251:
  
 
=Weitere Quellen und Links=
 
=Weitere Quellen und Links=
 +
* [http://ddclient.sourceforge.net Offizielle ddclient Projethomepage] {{Englisch}}
 
==Einige unterstützte DynDNS Serviceanbieter==
 
==Einige unterstützte DynDNS Serviceanbieter==
 
Die Liste stammt aus der Dokumentation von ddclient, den tests nach ist die Aktualität aber nicht  wirlich gegeben:
 
Die Liste stammt aus der Dokumentation von ddclient, den tests nach ist die Aktualität aber nicht  wirlich gegeben:

Version vom 6. Juni 2007, 17:58 Uhr

Autor: Yehudi & TomcatMJ

Wer die SuFu verwendet hat, der wird wahrscheinlich festgestellt haben, dass er sich durch zig Einträge kämpfen muss, und seine Konfiguration trotzdem nicht funktioniert. Also werde ich hier ein recht kurzes HOWTO anlegen, welches gerne erweitert werden kann, da es immer Einzelfälle gibt, die nicht berücksichtigt worden sind.

Über ddclient selbst

Das im Titel aus technischen Gründen nicht komplett kleingeschriebene Programm ddclient dient als Daemon im Hintergrund gestartet dazu, einem DynDNS Serviceanbieter die Änderung der eigenen IP mitzuteilen, damit der dortige DNS-Servereintrag entsprechend automatisch aktualisiert werden kann. Dieses keline Hilfsprogramm wird heute von den meisten Linux Distributionen mitgeiefert, ist jedoch dort nicht immer auf dem aktuellsten Stand. Daher kann man es auch oft in alternativen Software-Repositories für diverse Paketmanager in aktuelleren Versionen finden, z.B. für openSUSE im Guru-Repository oder sich bei den meisten DynDNS-Anbietern auch über die dortige Liste der unterstützten IP-Abgleich-Clients als Tarball herunterladen um es dann manuell zu installieren.

Konfiguration

Die Konfiguration von ddclient erfolgt je nach distribution über die Anpassung der Datei

/etc/ddclient.conf

oder

/etc/ddclient/ddclient.conf

die durch die bereits in ihr selbst enthaltenen Kommentare im Auslieferungszustand ausreichend dokumentiert sein dürfte um die entsprechenden Anpassungen durchführen zu können. Als Beispiel wird hier der DNS-Serviceprovider DynDNS.org aufgeführt.

Webadresse

Du brauchst eine Adresse für Deine Webseite, die auf Deinem Rechner im Apache liegt, und Deine IP ändert sich ständig, weil Dein Provider Dich alle 24 Stunden vom Netz trennt. Ein Script zur Wiedereinwahl und einen Cron-Job dafür hast Du.

Also gehst Du auf https://www.dyndns.com/ und legst einen Benutzernamen, mit Passwort für Dich an. Unter "Add Host Services" > "Add Dynamic DNS Host" wählst Du Dir einen Namen aus.


http://www.noreasontodie-music.com/linux/DynDNS.jpg

Es sei darauf hingewiesen, dass ich nicht Besitzer des Accountes "yehudi" bei DynDNS bin, und dieser genauso wie meine IP ausgeblendet ist.

Unter "My Services" > runter scrollen > "Host Level Services" ist jetzt Deine gewählte Adresse zu finden. Dort klickst Du auf den Link "Dynamic DNS" Und dort ist Deine derzeitige IP und die IP, mit welcher Deine Webadresse verbunden ist. Mit Modify Host" kannst Du die IP aktualisieren. Wenn Du nun in einem neuen Browserfenster die von Dir gewählte Adresse eingibst, zeigt der Browser Dir die auf Deinem Webserver liegende index.html Datei an. Da Du aber nicht immer um 4:00Uhr Nachts aufstehen willst, um per Hand die Ip zu aktualisieren gibt es z.B. ddclient.


Installation von ddclient

Woher nun ddclient nehmen? Wenn Du SuSE hast, gibt es die Weg das über YAST von der DVD/CD zu installieren, oder die schnellere Möglichkeit, über apt/Synaptic das Programm mal schnell zu installieren. Bei Debian oder Verwandten Linuxen sollte das auch über apt gehen.

Über die grafischen Oberflächen braucht einfach nur "ddclient" eingegeben werden oder bei der mit Konsole als root


apt-get install ddclient

oder

smart install ddclient

und enter.

Alternativ kann man sich auch den tarball von http://ddclient.sourceforge.net herunterladen und gemäß dem beiliegenden Readme-File in den beannten Pfad des Systems kopieren und konfigurieren und dann ebenso nutzen wie die per DPKG/RPM/APT/smart/YaST instalierte von dritten Personen fertig gepackte Version.

Konfiguration von ddclient

Ein Umsteiger mag nun erwarten, dass er über die Taskleiste ein Programm findet, welches "ddclient" heißt. Um möglichen Enttäuschungen vorzubeugen, weise ich darauf hin, dass wir uns hier mit einer steril aussehenden Konfigurationsdatei /etc/ddclient.conf befassen müssen, die in diesem Fall bis zum oberen Rande mit Beispiel-Konfigurationen gefüllt ist, dass man erst mal gar nicht weiss, wo man anfangen soll. Mein Tipp wäre erst mal die Datei in einen Ordner im z.B. homeverzeichnis zu sichern. Nun öffnen wir das gute Stück in dem wir in der Konsole als root mit dem Befehl "mc", oder aber wie ich das momentan gerne mache, den Konqueror auch als root mit dem Befehl "konqueror" öffnen. In beiden Fällen müssen wir erst mal in das Verzeichnis /etc/ browsen. In erstem Fall öffnen wir die Datei ddclient.conf mit bearbeiten. Im zweiten Fall mit der rechten Maustaste und öffne mit Kate. Den Inhalt einfach mal komplett löschen, und dann folgendes einsetzen:


######################################################################
##
## Define default global variables with lines like:
##    var=value [, var=value]*
## These values will be used for each following host unless overridden
## with a local variable definition.
##
## Define local variables for one or more hosts with:
##    var=value [, var=value]* host.and.domain[,host2.and.domain...]
##
## Lines can be continued on the following line by ending the line
## with a \
##
######################################################################
daemon=300            # check every 300 seconds
syslog=yes              # log update msgs to syslog
#mail=root                # mail all msgs to root
#mail-failure=root         # mail failed update msgs to root
pid=/var/run/ddclient.pid      # record PID in file.
#
#use=watchguard-soho,        fw=192.168.111.1:80   # via Watchguard's SOHO FW
#use=netopia-r910,           fw=192.168.111.1:80   # via Netopia R910 FW
#use=smc-barricade,          fw=192.168.123.254:80   # via SMC's Barricade FW
#use=netgear-rt3xx,          fw=192.168.0.1:80      # via Netgear's internet FW
#use=linksys,                fw=192.168.1.1:80      # via Linksys's internet FW
#use=maxgate-ugate3x00,      fw=192.168.0.1:80      # via MaxGate's UGATE-3x00  FW
#use=elsa-lancom-dsl10,      fw=10.0.0.254:80      # via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80      # via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80      # via ELSA LanCom DSL/10 DSL Router
#use=alcatel-stp,            fw=10.0.0.138:80           # via Alcatel Speed Touch Pro
#use=xsense-aero,            fw=192.168.1.1:80          # via Xsense Aero Router
#use=allnet-1298,            fw=192.168.1.1:80          # via AllNet 1298 DSL Router
#use=3com-oc-remote812,        fw=192.168.0.254:80   # via 3com OfficeConnect Remote 812
#use=e-tech,                 fw=192.168.1.1:80          # via E-tech Router
#use=cayman-3220h,           fw=192.168.0.1:1080        # via Cayman 3220-H DSL Router
#
#fw-login=admin,             fw-password=XXXXXX      # FW login and password
#
## To obtain an IP address from FW status page (using fw-login, fw-password)
#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
#
## To obtain an IP address from Web status page (using the proxy if defined)
#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
#
#use=ip,                     ip=127.0.0.1   # via static IP's
#use=if,                      if=eth1      # via interfaces
##Funktioniert nicht mit dem ip Update
#use=if,                     if=ppp0            # für DSL
use=web               # via web

protocol=dyndns2                      # Standardprotokoll
server=members.dyndns.org   # Standardserver
login=Dein Login                   # Standard-Login für den DynDNS-Account
password=Dein Passwort        # Standard-Passwort
wildcard=yes                            # add wildcard CNAME? 

server=members.dyndns.org,        \
protocol=dyndns2,                  \
Deine dyndns Adresse

Im Prinzip brauchen hier nur Drei Einträge vollzogen werden, Dein Login, Dein Passwort und Deine DynDNS Adresse. Das wars.

Der Eintrag

use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address

oder

use=web # via webdient

dazu, um von aussen zu gucken, welche "Hausnummer" also IP Dein Rechner von außen hat. Alle anderen Einträge würden nachgucken, welche "Hausnummer" - IP Dein Rechner von innen hat.

Diese Konfiguration funktioniert wenn der Rechner per Ethernet über ein DSL Modem im Netz hängt.

Andere Konfigurationen können gerne an dieser Stelle eingefügt werden. z.B. über einen Router. Nutzt Dein Provider einen gibt es auch Probleme, denn da würde immer die Homepage-Adresse auf den Proxyseerver laufen.

Um http://yehudi.de auch unter http://www.yehudi.de erreichbar zu machen müssen zwei Punkte beachtet werden. Einmal oben in der Grafik bei "Enable Wildcard" ein Häckchen, und die Option

wildcard=yes                       # add wildcard CNAME?

dabei muss diese Zeile

use=web               # via web

verwendet werden.

Die Datei sollte zwecks des Passwortes nur rootrechte haben, dazu geben wir in der Konsole

chmod -Rc a-rwx /etc/ddclient.conf

als root ein.

Starten von ddclient

Unter root in der Konsole geben wir

ddclient start

ein. Damit startet ddclient.

Weitere Befehle sind:

ddclient stop
killall -9 ddclient

Starten von ddclient bei Systemstart

Normalerweise wird in den gängigen Linux Distributionen bereits ein entsprechendes Startscript mitgeliefert, ebenso wie in den Versionen aus den diversen Drittanbieter-Repositories. Für openSUSE (oder nach entsprechender Anpassung auch anderen Linux Distributionen) kann man auch folgendes Startscript nutzen, dazu folgen wir oc2pus seinen Anweisungen:

1.) dieses script nach /etc/init.d/ddclient kopieren

 #!/bin/sh
 #
 # init.d/ddclient
 #
 ### BEGIN INIT INFO
 # Provides:       ddclient
 # Required-Start: $named $network
 # Required-Stop:
 # Default-Start:  3 5
 # Default-Stop:
 # Description:    ddclient provides support for updating dynamic DNS services.
 ### END INIT INFO

 . /etc/rc.status
 rc_reset

 [ -f /etc/ddclient.conf ] || exit 0
 
 PATH=/usr/sbin:${PATH}
 COLUMNS=9999
 export PATH COLUMNS
 program=ddclient 
 
 case "$1" in
         start)
                 echo -n "Starting ddclient: "
 #               ddclient -daemon 300
                 ddclient -v
                 rc_status -v
                 ;;
         stop)
                 echo -n "Shutting down ddclient: "
                 kill `ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
                 rc_status -v
                 ;;
         restart)
                 $0 stop
                 $0 start
                 rc_status
                 ;;
         status)
                 pids=`ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
                 if test "$pids"
                  then
                          for p in $pids
                         do
                                  echo "$program (pid $p) is running"
                         done
                 else
                          echo "$program is stopped"
                fi
                  rc_status -v1
                 ;;
         *)
                 echo "Usage: ddclient {start|stop|restart|status}"
                 exit 1
 esac

 exit 0

2.)

cd /etc/init.d
insserv ddclient

3.)

cd /sbin
ln -s ../etc/init.d/ddclient rcddclient

jetzt wird der ddclient in runlevel 3 und 5 gestartet oder mit rcddclient start

Dieser Abschnitt stammt von oc2pus aus diesem Thread: http://www.linux-club.de/viewtopic.php?p=90597

Suche von Fehlerquellen

Hierzu können zwei Befehle genutzt werden:


cat /etc/ddclient.cache


und

tail -20 /var/log/messages

Weitere Quellen und Links

Einige unterstützte DynDNS Serviceanbieter

Die Liste stammt aus der Dokumentation von ddclient, den tests nach ist die Aktualität aber nicht wirlich gegeben:

  • DynDNS.org (bis zu 5 kostenlose DynDNS Domains,auch statische, wer mehr Domains braucht muss zahlen)Englisch.png
  • DNSPark.com Englisch.png
  • OrgDNS.org (offenbar nicht mehr aktiv, hat nun wohl andere Inhalte als DynDNS betreffende) Deutsch.png
  • DSLReports (scheint auch nicht mehr mit den ursprünglichen Diensten aktiv zu sein,zumindest war DynDNS dort nicht diret zu finden) Englisch.png
  • Hammernode (offenbar nicht mehr aktiv)
  • EasyDNS Englisch.png
  • ZoneEdit (bietet ebenso kostenlose DynDNS Domains) Englisch.png

Weiter DynDNS Dienstanbieter die eigene Software statt ddclient nutzen

  • SelfHost.de (bietet kostenpflichtig auch .de Domains an, nutzt dazu jedoch ein eigenes Updatetool, welches für Linux, Windows und MacOS erhältlich ist) Deutsch.png

zurück zu DHCP und DNS