Dynamischer Dns Anbieter ddnss.de

Dynamischer Dns Anbieter ddnss.de

Ich habe mich für diesen Anbieter entschieden, da dieser Wildcard Domains unterstützt. Ein weiterer  Vorteil es ist ein einheimischer Anbieter ist und an die deutschen Datenschutzbestimmungen gebunden ist.

ToDo's

ddupdate6.sh anlegen und den folgenden Inhalt reinkopieren
mittls ssh z.B. auf euren Raspi verbinden.

touch ddupdate6.sh
chmod +x ddupdate6.sh
nano ddupdate6.sh

unteren Inhalt reinkopieren
KEYAUTH und HOSTNAME mit den eigenen Werten befüllen

#!/bin/bash


KEYAUTH=""
HOSTNAME=""

WORKING_DIR="/home/pi"
LOG_FILE=/var/log/ddnss-update.log
#. /etc/ddnss/ddnss-update.rc

if [ -z "$FORCE_UPDATE" ];then
  FORCE_UPDATE=21600
fi

function logmsg
{
  echo "$CURRENT_DATE - $@" >> $LOG_FILE
}

CURRENT_DATE=`date +%Y-%m-%d\ %H:%M:%S`

IP6=`curl http://www.ddnss.de/meineip.php 2>/dev/null| grep -o '[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}\:[0-9a-z]\{1,4\}'`
IP=`curl http://217.79.184.12/meineip.php 2>/dev/null| grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`

UPDIP=`cat $WORKING_DIR/last.ip 2>/dev/null||echo -en ''`
UPDIP6=`cat $WORKING_DIR/last.ip6 2>/dev/null||echo -en ''`

#logmsg "Current IP=$UPDIP"
#logmsg "Current IP=$UPDIP6"

NOW=`date +%s`
LAST_UPDATE=`stat -c %Y $WORKING_DIR/last.ip`
NEXT_UPDATE=$(( $LAST_UPDATE + $FORCE_UPDATE ))

[ $NOW -lt $NEXT_UPDATE ]
UPDATE_NOW=$?

[ "$IP" == "$UPDIP" -a "$IP6" == "$UPDIP6" ]
IP_SAME=$?


if [ $IP_SAME == 0 -a $UPDATE_NOW == 0 ]; then

   #logmsg "IP is the same - NO UPDATE"
   echo "IP is the same - No Update"
else
   logmsg "New IP: $IP / Old IP: $UPDIP - UPDATE!"
   logmsg "New IP6: $IP6 / Old IP6: $UPDIP6 - UPDATE!"

   echo $IP > $WORKING_DIR/last.ip
   echo $IP6 > $WORKING_DIR/last.ip6

   wget -q -O - 'https://www.ddnss.de/upd.php?key='$KEYAUTH'&host='$HOSTNAME'&ip='$IP'&ip6='$IP6'' #>> $LOG_FILE

   echo "Update ... ($IP)"
   echo "Update ... ($IP6)"
fi

Um das script automatiert auszuführen muss ein Cronjob angelegt werden

crontab -e
*/2 * * * * cd /home/pi && bash ddupdate6.sh