Contournement du système DynDNS
Sommaire
I. Présentation
Dans cette fiche, nous allons apprendre à nous passer du sytème DynDNS qui est récemment devenu payant chez tout les fournisseurs de service DynDNS.
II. Qu’est ce qu’un DynDNS
Un DynDns est un système de suivi d’IP fixe. La plupart des IP fournies pour les particuliers par les FAIs sont des IP ayant des bails d’attribuations. Le bail dur généralement plus ou moins 24h. Le DynDNS se fixe entre votre box et le service des différents sites ( www.dyndns.fr , www.dyn.org ) et affecte votre IP à un nom de domaine. Ainsi, seul ce nom de domaine est à retenir, celui-ci sera relié à votre IP publique dans tout les cas.
Sans DynDns vous aurez des difficultées si vous voulez joindre votre réseau local depuis Internet (comment joindre quelqu’un qui change tout le temps d’adresse ?). Mais le suivi de votre IP dynamique reste possible graçe à deux trois manipulations informatiques 😉 . Cette procédure s'exécute en trois temps. D’abord le serveur capturera son adresse IP publique ( celle de votre box plus précisément), ensuite il l'a comparera à la capture précédente et enfin il vous l’enverra sur votre adresse mail si elle est différente.
III. Mise en place du service d’envoi de mail
On commence par mettre à jours nos paquets et a installer les services mail requis :
apt-get update apt-get install mailutils ssmtp
le fichier de configuration du service ssmtp se situe dans /etc/sstmp/sstmp.conf . Voici les informations à entrer pour que le service soit opérationnel :
root=[Votre address mail] # serveur smtp (spécifique à google dans notre cas) mailhub=smtp.gmail.com:587 # Activer l'usage du TLS UseSTARTTLS=YES AuthUser=[Votre identifiant de messagerie d’envoi] AuthPass=[Votre mot de passe de messagerie d’envoi] # Nom de domaine utilisé rewriteDomain=gmail.com FromLineOverride=YES # Nom du serveur ou de la station d'envoi hostname=neajstock
Redémarrez le service pour que les changements soient pris en compte
service ssmtp restart
IV. Script de check de l’IP publique
Ce script travaillera avec deux fichiers texte que vous pouvez créer à la main
- Ip.txt : qui contiendra la dernière capture de l’IP
- IpOld.txt : qui contiendra l’avant dernière capture d’IP
Pour avoir un fichier de départ lors de la première exécution, passez cette commande :
w3m -dump http://www.monip.org/ > /usr/bin/RecupIp/Ip.txt
RecupIp.sh
#!/bin/bash # On met la derniere capure dans le fichiers ( “vieille IP”) mv /usr/bin/RecupIp/Ip.txt /usr/bin/RecupIp/IpOld.txt # On capture dans Ip.txt notre Ip publique w3m -dump http://www.monip.org/ > /usr/bin/RecupIp/Ip.txt # On ne prend que la deuxieme ligne de cette capture (celle contenant l’IP) IP=$(sed -n '2p' /usr/bin/RecupIp/Ip.txt); # On prend la deuxieme ligne de l’ancienne OLDIP=$(sed -n '2p' /usr/bin/RecupIp/IpOld.txt); # On prend la date du jours qui peut être utile DATE=$(date +%d%b%Y); # Si les deuxieme ligne des deux fichiers est différentes (= IP différentes) if [ "$IP" != "$OLDIP" ]; then # On envoi un mail a votre addresse avec le jour et la nouvelle IP echo "$IP" | mail -s "Changement IP du $DATE" < mail destinataire > ; fi
J’ai mis ce script dans /usr/bin/RecupIp. Mais libre à vous de le mettre ou vous voulez sur votre serveur/ station.
V. Automatisation du système
Avec crontab, nous allons automatiser l’exécution de ce script. Le fichier à modifier est /etc/crontab, il faut rajouter cette ligne à la fin du fichier (qui n’en contient qu'une dizaine normalement)
*/1 * * * * root /usr/bin/RecupIp/RecupIp.sh
Cette ligne signifie que toutes les minutes (*/1), le script sera exécuté. Le changement d’IP étant généralement de minimum 24h, votre mailbox ne se remplira pas très vite puisque le mail n’est envoyé qu’en cas de changement d’IP.
Il reste heureusement encore qques services gratuits pour ceux qui ne peuvent/veulent pas mettre la main au portefeuille.
J’ai souscris un truc chez freedns.afraid.org. Après c’est vrai que les noms de domaines sont assez fantaisistes, mais avec un CNAME depuis un autre domaine ça ne se verra pas ;-).
L’idée d’envoyer par mail mais ça oblige à modifier mon ip dans les clients distants à chaque changement d’ip. plutôt contraignant;
Bonsoir,
Je viens de tomber là dessus, et je trouve ça super intéressant. Cependant j’aurais juste une question… Dans le ssmtp.conf, l’adresse à saisir dans le root est bien celle qui va recevoir les mails?
Ok, au temps pour moi, j’ai eu ma réponse tout seul en lisant correctement l’article… Désolé!
Pourquoi pas utiliser simple un service tel que no-ip.org au lieu de chercher à contourner ?
No-ip.org est capable de prendre en compte les changements d’IP sur la box ? Je ne pense pas que l’on puisse configurer un compte No-IP dans toutes les box.