Actualiser une adresse DNS dynamique
Introduction
Une adresse sous forme de nom de domaine (ou adresse DNS) est associée à une adresse IP (quatre nombres entre 0 et 255 séparés par des points, par exemple 12.144.0.254) : il suffit de taper $ ping google.fr
et de copier l'adresse IP correspondante dans la barre d'adresse du navigateur pour s'en convaincre.).
Les serveurs DNS (Domain Name Server) présents sur internet effectuent la correspondance entre les noms de domaines et les adresses IP.
Il existe 2 types d'adresses IP attribuées par les fournisseurs d'accès Internet :
- Les adresses IP statiques -> L'adresse IP reste la même à chaque connexion internet
- Les adresses IP dynamiques -> L'adresse IP peut changer à chaque connexion à internet
Remarque : Si vous voulez savoir si votre adresse IP est statique ou dynamique, allez sur cette page, relevez votre adresse IP, puis coupez et relancez votre connexion internet : si l'adresse IP a changé, c'est que votre adresse est dynamique, sinon elle est statique.
Quel est l'intérêt d'associer un nom de domaine à son adresse IP ?
Attribuer l'adresse IP de sa connexion Internet à une adresse DNS est surtout utile si l'on crée un serveur, quel qu'il soit.
Prenons un exemple : vous avez créé un serveur FTP sur votre ordinateur, et vous souhaiter qu'il soit accessible de l'extérieur; si votre adresse IP est dynamique, il faudra alors connaître systématiquement son adresse IP alors qu'elle changera souvent (par exemple toutes les 24 heures) ! En associant une adresse DNS à votre IP, l'adresse sous forme de nom du serveur sera non seulement facile à retenir, mais elle ne changera jamais.
Création d'un compte de DNS dynamique
Il suffit d'aller sur un des sites suivants, y créer un compte avec un mot de passe, un ordinateur (host) et choisir un nom pour votre machine.
- http://www.dyndns.com/
- http://www.dnsq.org/
- http://www.dhs.org/
- http://www.myip.us/
- et bien d'autres...
Quel-est le fonctionnement d'un client DNS ?
Un client DNS est un petit programme s'installant sur l'ordinateur auquel on veut attribuer une adresse nommée fixe.
Une fois lancé (la plupart du temps au démarrage de l'ordinateur), il va détecter votre adresse IP. Il va ensuite se connecter au compte DNS que vous aurez créé auparavant, et communiquer votre adresse IP au serveur de noms. Votre adresse DNS sera alors associée à votre adresse IP. Si votre adresse IP change, le client DNS le détectera, et associera alors cette nouvelle adresse IP à votre adresse DNS.
Ainsi votre serveur restera-t-il accessible de l'extérieur en utilisant son nom, sans jamais avoir à se soucier de son adresse IP.
Mise en place d'un client DNS : ddclient
Téléchargement
Les sources de ddclient sont téléchargeables ici (la v3.7.3 à l'heure où j'écris). Préférez l'archive tar.gz.
Installation
Une fois que vous avez récupéré l'archive de ddclient, allez dans son dossier et tapez :
$ tar zxf ddclient-3.7.3.tar.gz
$cd ddclient-3.7.3
En listant le contenu du répertoire, on constate que le programme n'a pas besoin d'être compilé: en effet, ddclient est un fichier perl prêt à l'emploi ! Il ne vous reste plus qu'à le déplacer :
mv ddclient /usr/local/bin/
Si vous tentez d'exécuter ddclient directement :
- /usr/local/bin/ddclient
"WARNING: file /etc/ddclient/ddclient.conf: Cannot open file '/etc/ddclient/ddclient.conf'. (No such file or directory)".
ddclient vous répond qu'il cherche le fichier de configuration, qui n'existe pas encore.
Fichier de configuration ddclient.conf
Commençons par créer le fichier de configuration :
mkdir /etc/ddclient
touch /etc/ddclient/ddclient.conf
Editez ce fichier avec votre éditeur de texte préféré. Remplissez le comme ceci:
daemon=200 #Verifie l'adresse toutes les 200 secondes
syslog=yes #Enregistre le log dans syslog
ssl=yes #Utilise SSL pour crypter les échanges (nécessite une librairie)
cache=/tmp/ddclient.cache #Emplacement du cache du processus
pid=/var/run/ddclient.pid #Emplacement du PID du processus
use=web, web=checkip.dyndns.org/, web-skip='IP Address' #Voir detail plus bas
REM:Il est déconseillé de désactiver SSL lors des premiers essais.
Ddclient peut récupêrer l'IP de votre connexion de 3 manières différentes:
use=web, web=checkip.dyndns.org/, web-skip='IP Address'
: Ddclient utilisera une connexion par le port 80 pour récuperer votre adresse IP. En se connectant sur checkip.dyndns.org, il pourra retrouver votre IP.
Remarque:Si vous êtes derrière un proxy, ajoutez cette ligne proxy=adresse_de_mon_proxy:port
use=if, if=eth0
si vous n'êtes pas derrière un routeur ou autre livebox, vous pouvez interroger directement votre modem, en remplacanteth0
par votre interface modem.use=fw
permet d'interroger son routeur ou modem ethernet. Cette méthode est déconseillée, car il faut un matériel compatible (voir la liste)
Personellement, je recommande la méthode use=web
, car c'est la plus rapide à mettre en place.
La partie qui suit diffère selon le service d'IP dynamique utilisé :
login=jekek #Nom d'utilisateur du compte utilisateur
password=monmotdepasse #Mot de passe
protocol=protocole_service #Protocole utilisé par le service
server=serveur_service #Serveur du service DDNS
wildcard=NO #voir plus bas
monadresse.mon_service.com #Adresse à synchroniser avec votre IP
REM:Wildcard=Le wildcard permet de redirigé toutes les adresses finissant par le nom de domaine vers la meme IP. (xxxxx.mon_nom_de_domaine.com)
Voici les configurations pour les ervices les plus connus:
- Pour DynDNS:
login=login_dyndns
password=mot_de_passe_dyndns
protocol=dyndns2
server=members.dyndns.com
wildcard=YES
nom_de_domaine.exemple.com
- Pour DNSPark
login=DNS Park DDNS username
password=DNS Park DDNS username
protocol=dnspark
server=www.dnspark.com
wildcard=NO
mon_nom_de_domaine.exemple.com
- Pour EasyDNS
login=EasyDNS username
password=EasyDNS password
protocol=easydns
server=ns1.easydns.com
wildcard=NO
mon_nom_de_domaine.exemple.com
- Pour Namecheap
login=Namecheap username
password=Namecheap password
protocol=namecheap
server=ns1.easydns.com
wildcard=NO
mon_nom_de_domaine.exemple.com
protocol=namecheap
login=my-namecheap.com-login
password=my-namecheap.com-password
myhost.namecheap.com