Depuis que dyndns est devenu payant, j'utilise comme alternative encore gratuite DtDns. J'ai une machine derrière du NAT que j'utilise pour mettre à jour le DNS. J'ai donc bricoler a partir d'un script dispo chez DtDns qui ne fonctionne pas derrière un routeur (il me renvoi mon ip local).

Ca donne ça :

#!/bin/bash
IPADDR=`wget -qO- http://ipecho.net/plain | awk '{ print $1 }'`
LASTIP=`nslookup gaers.dtdns.net | grep -A1 gaers | grep Address | awk '{
print $2 }'`

echo -n "`date` - "

if "$IPADDR" != "$LASTIP"; then
  echo -e "GET /api/autodns.cfm?id=DNS&pw=PASSWORD&client=NOM_CLIENT
HTTP/1.1\nHost: www.dtdns.com\nUser-Agent: bash\n\n" | \
            nc www.dtdns.com 80 > /dev/null 2>&1
  echo "Posted IP change from $LASTIP to $IPADDR"
else
  echo "IP still $IPADDR"
fi