Trucs:Automiser les mises-à-jour pour le service NO-IP.COM
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 :
- Copiez ce script dans /usr/bin/noip-update (par example).
- Un petit coup de chmod +x pour rendre le fichier exécutable.
- Rajoutez la ligne suivante à votre cron (/etc/crontab):
* * * * * root /usr/bin/noip-update
Cette ligne commande l'éxécution du script toutes les minutes.