# DynDNS / DDNS Client für gentoo

## Gladdle

Guten Abend, ich suche derzeitig eine Software die meine DDNS Accounts aktualisiert. Seit mehreren Tagen suche ich schon, jedoch brauche ich folgende Optionen:

- http Update über dyndns.kasserver.com/?myip=

- Mehrere Accounts verwaltbar

- Software für Linux (ARM!) als Systemdienst (rc).

Daher habe ich schon folgende Programme ausgeschlossen:

- BASH (Verstehe ich zu wenig)

- ddclient (Keine Updates per http)

- ez-ipupdate (Keine Updates per http, kein Brauchbares Wiki / Tutorial)

- inadyn (kann nur EINEN Account)

- FritzBox (Kann nur einen Account verwalten)

Hat jemand eine Idee? Kennt jemand einen brauchbaren Client? Bin für jeden Tipp dankbar.

----------

## py-ro

wget/curl, wenn es nur per HTTP sein soll URL zusammen basteln und absenden.

----------

## l3u

Hier das Script, was ich für meine DynDNS-Domains benutze (Strato):

```
#!/bin/bash

DOMAINS="

    domain1.de

    domain2.de

"

PASSWORD="Tolles_Passwort"

for DOMAIN in $DOMAINS; do

    STATUS=$(wget --secure-protocol=TLSv1 -q --http-user="$DOMAIN" --http-passwd="$PASSWORD" "https://dyndns.strato.com/nic/update?hostname=$DOMAIN&mx=meine_mx_domain.de" -O /dev/stdout)

    logger -t "update_dyndns" "Updating $DOMAIN: $STATUS"

done
```

Musst du nur noch an deine Bedürfnisse anpassen. Ich mach das so, dass die Fritz-Box einen Dyn-DNS-Request auf meinen Server im lokalen Netzwerk absetzt (per lokaler IP-Adresse), natürlich wird die entsprechende Seite nur ins lokale Netzwerk ausgeliefert. Und dann führt das HTTP-Server-Script das (obige) Script aus, was das eigentliche Update macht. Kannst ja auch einfach per Cronjob aufrufen oder sonstwie.

Klappt seit 2011 einwandfrei. Ich musste nur zwischendurch mal das "--secure-protocol=TLSv1" hinzufügen, weil es SSL-Probleme mit Strato gab.

 *Gladdle wrote:*   

> - BASH (Verstehe ich zu wenig)

 

Prinzipiell sind Shell-Kenntnisse generell von Vorteil – egal, was man unter Linux, und Gentoo im Speziellen, macht. Kann ich nur wärmstens empfehlen ;-)

----------

## schmidicom

Vor kurzem habe ich mir auch ein Script für meinen dyndns Anbieter zusammengebastelt welches aber leider nur eine Domain bedienen kann.

```
#!/bin/sh

# Variablen setzen

DOMAIN="shschmid.dyndns.ch"

USER="is_geheim"

PASSWORD="geht_euch_nix_an"

PUBLICIP=`upnpc -s | grep ExternalIPAddress | sed 's/[^0-9\.]//g'`

if [ -f "/var/lib/last_publicip.dat" ] ; then

  LAST_PUBLICIP=`cat /var/lib/last_publicip.dat`

fi

# Update, wenn nötig, ausführen

if [ -z "$LAST_PUBLICIP" ] ; then

  curl "http://dyndns.magasoft.net/nic/update?system=dyndns&hostname=$DOMAIN&myip=$PUBLICIP&user=$USER&pw=$PASSWORD"

  echo $PUBLICIP > /var/lib/last_publicip.dat

else

  if [ "$PUBLICIP" != "$LAST_PUBLICIP" ] ; then

    curl "http://dyndns.magasoft.net/nic/update?system=dyndns&hostname=$DOMAIN&myip=$PUBLICIP&user=$USER&pw=$PASSWORD"

    echo $PUBLICIP > /var/lib/last_publicip.dat

  fi

fi
```

Benötigt aber "net-libs/miniupnpc" und einen Router bei dem das auch eingeschaltet ist.

@l3u

Ermittelt Strato deine public IP automatisch bei dem Aufruf der URL oder hab ich da in deinem Script was überlesen?

----------

## l3u

 *schmidicom wrote:*   

> Ermittelt Strato deine public IP automatisch bei dem Aufruf der URL oder hab ich da in deinem Script was überlesen?

 

Wenn man die IP nicht angibt, dann wird die benutzt, von der der Request kommt. Und das ist in meinem Fall die richtige, weil der Server, der die Domains hostet, auch die Anfrage macht.

----------

