Trucs:Automiser les mises-à-jour pour le service NO-IP.COM

De Lea Linux
Aller à la navigation Aller à la recherche
Raphael Jolivet<cdvddt@yahoo.fr>

NOIP est un service qui offre gratuitement la redirection d'IP.

A l'heure ou les connections haut debit permanentes sont légion, héberger un site perso (ou serveur FTP, IRC, ..etc) sur sa bécanne est de plus en plus tentant.

Pour cela, no-ip vous permet de maintenir à jour un alias vers votre machine, même si vous n'avez pas d'IP fixe. Un nom de site virtuel du type XXXXXX.no-ip.org est associé a votre IP courante. Ce système est en fait un DNS (Domain Name service) amélioré.

Pour ceux qui n'ont pas d'IP fixe, noip fournissait jusqu'à maintenant un petit programme à installer sur sa machine pour mettre à jour l'IP de manière automatique.

Hélas, ce programme était buggé et ne fonctionnait pas pour toutes les configurations.

Heureusement noip a depuis peu publié un protocole d'update d'IP. Ce protocole est très simple et repose sur requète http unique. Il n'est même pas nécessaire de communiquer son IP, puisque le service détecte depuis quel IP la requête est envoyée.

Je me suis donc écrit un petit script shell pour faire cet update de manière automatique, en utilisant 'curl'

 #!/bin/sh
 #
 # Purpose :
 #     This script updates the no-ip alias.
 #     The specifications of the noip update
 #     protocol can be found at :
 #     http://www.no-ip.com/integrate/
 #
 # Author :
 #     Raphael Jolivet 
 # 
 # Last update:    
 #     14-05-2005

 # Misc params (Set it to what you need)
 LOGIN=your mail            # NoIp login 
 PASS=password             # NoIp pass
 HOST=mysite.no-ip.org     # The site to be updated
 LOGFILE=/var/log/noip.log  # The log file

 # Log the date
 echo ""                            >> $LOGFILE 
 echo "Updating no-ip DNS entry"    >> $LOGFILE
 echo "------------------------"    >> $LOGFILE
 date >> $LOGFILE

 # Call No-ip Update system
 result=`curl -s "http://dynupdate.no-ip.com/dns?username=$LOGIN&password=$PASS&hostname=$HOST" 2>&1`

 # Log the result
 echo "Result from no-ip: $result" >> $LOGFILE

 

Voilà. Pour l'installer tout ça :

  1. Copiez ce script dans /usr/bin/noip-update (par example).
  2. Un petit coup de chmod +x pour rendre le fichier exécutable.
  3. Rajoutez la ligne suivante à votre cron (/etc/crontab):
* * * * * root /usr/bin/noip-update


Cette ligne commande l'éxécution du script toutes les minutes.