Mise en place d’un DNS
dynamique
avec OVH

Mon fournisseur d’accès internet, comme la plupart des autres en France, n’attribue à ses clients que des IP dynamiques : cela signifie que l’adresse IP est susceptible de changer n’importe quand, en particulier lorsque ma box se met à jour ou redémarre. Le plus souvent, la possibilité d’avoir une adresse IP fixe est en option, réservée à des offres coûteuses.

Pour la plupart des utilisateurs, cela ne pose aucun inconvénient pratique. En revanche, la situation se complique lorsque l’on souhaite auto-héberger des sites ou services qui ont vocation à être accessibles depuis l’extérieur : comment associer un nom de domaine à une machine dont l’adresse IP peut changer à chaque instant ?

C’est le principe du DNS dynamique : on installe sur sa machine un petit logiciel qui vérifie régulièrement l’adresse IP actuelle, et dès que celle-ci change, envoie celle-ci à son prestataire pour actualiser la zone DNS en conséquence.

Cet article montre comment réaliser cette opération avec OVH et un Raspberry Pi sous Raspbian.

Configuration du côté d’OVH

Cette partie suppose que le nom de domaine est géré par OVH, et qu’aucun enregistrement n’existe dans la zone DNS pour le nom de domaine ou le sous-domaine qui pointera vers notre machine.

Création d’un identifiant DynHost

La première étape consiste à créer un identifiant DynHost, qui permettra de réaliser automatiquement les mises à jour de l’enregistrement DNS.

Pour ce faire, on se rend dans la rubrique Web Cloud, Nom de domaine, sélectionnez votre nom de domaine (on utilisera domain.tld pour la suite de cet article), puis dans l’onglet DynHost. On sélectionne alors Gérer les accès puis Créer un identifiant.

On y indique le suffixe de l’identifiant (dans mon cas, domain.tld-pi pour un Raspberry Pi), le sous-domaine concerné (* pour gérer tous les domaines avec cet identifiant) et un mot de passe. Ce compte permettra de nous identifier pour mettre à jour la zone.

Une fois propagée la zone DNS, votre serveur devrait désormais être accessible depuis le nom de domaine choisi.

Création de l’enregistrement dynamique

Une fois l’identifiant créé, nous pouvons désormais créer l’enregistrement DNS. Toujours dans l’onglet DynHost, on sélectionne Ajoutez un DynHost, puis on y indique le nom de domaine concerné, et l’adresse IP actuelle. C’est cette dernière qui sera mise à jour automatiquement.

Automatiser le changement du DNS

Notre serveur doit maintenant être en capacité de faire actualiser la zone DNS lorsqu’il détecte un changement d’IP. Nous allons pour cela utiliser ddclient :

sudo apt install ddclient

Passons les questions qui nous sont posées. Une fois terminé, on modifie directement le fichier de configuration comme suit (avec, bien sûr, votre identifiant, votre mot de passe et votre domaine) :

# /etc/ddclient.conf

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='Current IP Address'
server=www.ovh.com
login=domain.tld-user
password='password'
subdomain.domain.tld

Et on relance :

sudo systemctl restart ddclient

Votre serveur communiquera désormais à OVH la nouvelle adresse IP lorsque celle-ci changera !