Contournement du système DynDNS

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.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    5 pensées sur “Contournement du système DynDNS

    • 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;

      Répondre
    • 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?

      Répondre
      • Ok, au temps pour moi, j’ai eu ma réponse tout seul en lisant correctement l’article… Désolé!

        Répondre
    • Pourquoi pas utiliser simple un service tel que no-ip.org au lieu de chercher à contourner ?

      Répondre
      • 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.

        Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.