dynip client für opendns (the simple way)

Nachfolgend will ich kurz darlegen, wie man einen eigenen „DynDNS“ Dienst erzeugt und diesen dann simpel updatet.

Als erstes brauchen wir: https://github.com/zundg/dynamic-powerdns Und richten laut Anleitung unsere Datenbank ein. Im Vorfeld müssen wir selbstverständlich unsere Einträge der Zonen dementsprechend angepasst haben.

dyn_update.sh
#!/bin/sh

#this is your dyn host
export DYNURL="dyn.url.com"
#here comes your url to dynamic-powerdns with your password
export UPDATESTRING="https://url.zum.dynamic-powerdns/?KEY"

export PIP="$(wget -qO- ipv4.icanhazip.com)"
export DIP="$(nslookup "$DYNURL" | awk '/^Address: / { print $2 }')"

if [ "$PIP" = "$DIP" ]
  then
    echo "same IP - nothing to do"
  elif [ "$PIP" = "" ]
    then
      echo "Can't obtain IP Adress - check Network connection!"
  elif [ "$DIP" = "" ]
    then
      echo "Call Dynhost Admin his Server is down!!!"
      logger warning Call dynhost Admin his Server is Down #can be deleted if you have systemd
  else
    wget -qO- $UPDATESTRING
fi

Das Script überprüft , ob die eingeschriebene IP mit der aktuellen IP differiert, wenn nicht, macht es ein Update.
Anschließend brauchen wir noch einen Cronjob. Ich prüfe alle 10 Minuten ab, ob sich meine IP geändert hat.
die URL: https://url.zum.dynamic-powerdns/?KEY habt ihr beim registrieren am Dienst per Mail erhalten!
Mittels crontab -e richten wir den Cronjob ein.

*/10 * * * * /home/username/dyn_update.sh

Das war es dann auch schon. Man kann die URL auch direkt in den Router eintragen, insofern man einen gescheiten Provider hat, der einem nicht vorschreibt, welchen Router man zu benutzen hat. :/