Les guerres d'un Responsable Informatique

Vous êtes passionnés comme moi de machines basse-consommation, ARM, Atom : rendez visite à mon partenaire !

Problème DynDNS avec le Linksys WAG320N

jeudi 24 mars 2011 à 13:30 | Trucs
desynchronisation dyndns

Depuis, que j'ai fait l'acquisition de mon routeur/modem ADSL Linksys WAG320N, je suis confronté à un problème de synchronisation de mon adresse IP avec DYNDNS. Mais, j'ai la solution, grâce à une page cachée au sein du système LINUX.

Avec mon abonnement ADSL Orange, je n'ai pas d'adresse IP fixe, j'utilise le service DYNDNS, qui permet d'avoir un nom de domaine du type nom.dyndns.org mappé à son adresse IP dynamique.

Le routeur Linksys WAG320N possède une fonction pour envoyer l'information de renouvellement de l'adresse IP vers DynDNS, mais celle-ci ne semble fonctionner que quand on clique sur le bouton, dans l'interface web :(

Mais, il existe un bon moyen de relancer la synchronisation : LE REBOOT ! Pour cela CISCO a caché une page dans son interface web, qui peut être appelée, via un wget . J'ai réalisé un script en Perl, qui test à intervalles réguliers si l'IP du routeur est identique à l'IP associée au nom de domaine.

#!/usr/bin/perl -w my $ip=`wget http://checkip.dyndns.org/ -O - -o /dev/null`; $ip=~/(\d+\.\d+\.\d+\.\d+)/; $ip=$1; my $dns=`host YOURDYNDNS.dyndns.org`; $dns=~/(\d+\.\d+\.\d+\.\d+)/; $dns=$1; my $URL="http://admin:YOURPASS@192.168.1.1/setup.cgi?todo=reboot"; if($ip ne $dns) { system("wget -q $URL -O /dev/null"); }

Il suffit de placer un appel au script dans un cron et le tour est joué !

A propos de Vincent RABAH

Directeur des systemes d'information

Je suis DSI depuis 10 ans. Spécialiste en systèmes d'information et réseaux.
Expert en management, GreenIT et virtualisation de serveurs. Vous pouvez consulter l'ensemble de mon parcours.

I do speak English even if my blog is written in French ... Feel free to leave comments, I'll answer you !


Partagez cet article :



Fil des commentaires de cet article

7 commentaire(s) Commentaires »

  1. Bonjour Vincent,

    Etant parti toute la semaine, l'opération a vraisemblablement bien fonctionnée car en rentrant hier soir le routeur était synchronizé :)
    C'est ma femme qui était contente, plus la peine de descendre dans mon bureau pour rebooter ce WAG320N...

    En tout cas, un grand merci Vincent pour cette aide précieuse.

    Cordialement
    Guillaume

  2. Bonjour Guillaume, en effet seules les lignes suivantes sont utiles dans votre cas :

    my $URL="http://admin:YOURPASS@192.168.1.1/setup.cgi?todo=reboot";
    system("wget -q $URL -O /dev/null");

    Bon weekend !

  3. Excusez moi de vous (re) déranger Vincent, mais en fait j'ai un petit doute.
    Dans l'explication de mon problème, j'ai omis de vous dire que je n'ai pas de domaine DynDNS.
    Est ce qu'il ne faudrait pas que je supprime les lignes:
    <code>
    # my $ip=`wget http://checkip.dyndns.org/ -O - -o /dev/null`;
    # $ip=~/(\d+\.\d+\.\d+\.\d+)/;
    # $ip=$1;
    # my $dns=`host YOURDYNDNS.dyndns.org`;
    # $dns=~/(\d+\.\d+\.\d+\.\d+)/;
    # $dns=$1;</code>
    De manière à seulement automatiser la tâche de reboot?
    Merci et surtout bon week-end.

  4. C'est un plaisir Guillaume, mais les temps ce prête plus à la rêverie qu'à l'informatique ?!

  5. Bonjour Vincent,

    D'une part, je suis désolé de vous répondre si tard (absent toute la semaine).

    D'autre part, je vous remercie de votre réponse qui ne peut être plus claire et vais essayer ce script dés cet après midi et vous tiendrais au courant de la résolution de mon problème.
    Cordialement
    Guillaume

  6. Guillaume, c'est exactement le même principe, il faut rebooter de façon automatique le routeur:
    1-avoir une machine linux sur le réseau internet (la maison)
    2- lancer le commande crontab -e (pour editer le cron)
    3- */15 * * * * /chemin_du_script/reboot.sh (exécute la commande tous les 1/4 d'heure

    Voilà, si vous avez besoin, n'hésitez pas à reposer ou compléter votre question.
    Cordialement.

  7. Bonjour,

    Je fais appel à vous car à priori j'ai un problème similaire de resynchronisation avec ce même routeur.
    En effet, toutes les 24 heures environ je dois rebooter celui-ci afin de récupérer une connexion active.
    Le dit routeur est configuré en DHCP et le problème est le même en statique.
    J'ai bien contacter le support (Linksys, Cisco) mais sans résolution.
    Ma question est donc la suivante:
    - Votre script permettrait il de palier à mon souci de devoir rebooter manuellement le routeur?
    Si oui, pourriez vous s'il vous plait me donner la marche à suivre afin "de placer un appel au script dans un cron"
    Avec tous mes remerciements
    Cordialement
    Guillaume

Laisser un Commentaire

Quelle est la première lettre du mot ezydfi ? :