Pour ceux qui ont un VPN, un cloud, ou tout autre application chez eux ; vous aimeriez la rendre accessible depuis l’extérieur et en profiter n’importe où… Mais avec une IP provider dynamique un simple record DNS ne suffit pas… Il faut penser à no-ip ou équivalent.

Il y a 2 grands sites de DNS dynamique. DynDns et No-Ip. Le premier est malheureusement devenu exclusivement payant depuis quelques mois. Il était pourtant implémenté dans de nombreuses box… Je vous conseille donc no-ip qui est gratuit pour l’utilisation de ses sous-domaines. On peut utiliser max 3 sous-domaines pour le compte gratuit, ce qui est largement suffisant pour une utilisation perso.

 Configuration sous Debian

Pour ceux qui n’ont pas de box pouvant intégrer la gestion des dns dynamiques avec no-ip, voici ce qu’il est possible de faire sous Debian et donc avec un raspberry pi ou un banana pi.

Les clients possibles sont :

  • ddclient
  • inadyn

Dans mon cas j’ai pris ddclient qui existe depuis un petit temps dans les dépôts Debian.

apt-get install ddclient

Ensuite on modifie le fichier de configuration :

# /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
server=dynupdate.no-ip.com
login=MY_LOGIN
password='MY_PASS'
MYSUBDOMAIN.no-ip.biz

Ce client est à l’origine pour dyndns, mais no-ip utilise le même protocole pour la mise à jour de l’IP correspondante au DNS dynamique.

  • on change le champ login par l’identifiant no-ip
  • on fait la même chose pour le mot de passe, malheureusement no-ip ne fourni pas d’API-KEY on se contentera du mot de passe
  • on indique le sous domaine ou le domaine de chez eux

On peut lancer ddclient à la main :

ddclient -file /etc/ddclient.conf

Utilisation du daemon

Il est préférable que cette action soit automatique pour prévenir d’un changement automatique d’IP par le provider 🙂

On vérifie les paramètres default pour voir si le daemon est configuré :

# cat /etc/default/ddclient

run_daemon="true"

daemon_interval="300"

Adapter intervalle de rafraichissement si besoin, il est exprimé en secondes.

 

On redémarre ddclient et on vérifie que le daemon est bien en exécution :

# /etc/init.d/ddclient start

# ps aux | grep ddclient
root      2434  0.0  0.5   7256  4936 ?        S    aoû27   0:14 ddclient - sleeping for 100 seconds
root      6180  0.0  0.0   4012   828 pts/0    S+   10:12   0:00 grep ddclient