J'ai eu peu de temps à consacrer à mon blog ces derniers temps, mais voici un nouvel article publié avec du retard.
Les changements d'adresse IP avec Orange, m'ont conduit a mettre en place un script permettant de fonctionner avec le service Dynhost de OVH charger de gérer de manière dynamique l'adresse IP associée à un nom de domaine.
Je me suis basé sur les liens suivants:
- http://guide.ovh.com/DynDns
- http://www.tropfacile.net/doku.php/raspberry-pi/comment-installer-un-serveur-mail
- http://dev.kprod.net/?q=dns-dynamique-avec-dynhost-ovh
Ainsi que les conseils d'un lecteur du blog que je remercie
Je ne vais pas faire un tutoriel de plus, mais voici les commandes que j'ai utilisé pour installer ce script:
Je ne vais pas faire un tutoriel de plus, mais voici les commandes que j'ai utilisé pour installer ce script:
sudo apt-get update
sudo apt-get install dnsutils
wget http://www.bozorokus.net/DynHost.tgz
tar xvzf DynHost.tgz
cd DynHost/
J'ai ensuite modifié le script d'origine pour qu'il lise la nouvelle adresse IP attribuée par Orange dans l'interface de la Livebox.
J'ai aussi ajouté un contrôles pour vérifier que l'IP soit bien enregistrée dans les DNS.
Voici ma version du script:
#! /bin/sh
IFACE=eth0
HOST=error418.net
LOGIN=error418.net-dyn
PASSWORD=418_dyn
OPTIONS=""
getip() {
NEWIP=`curl 192.168.0.1 | awk '/WAN/{getline;split($2,Addr,">");split(Addr[2],AddIp,"<");print "\n\n"AddIp[1]"\n\n"}'`
CURIP=`host error418.net | awk '/address/ {print $NF}'`
OLDIP=`cat ./old.ip`
}
echo ---------------------------------- >> ./dynhost.log
echo `date` >> ./dynhost.log
echo Démarrage de DynHost >> ./dynhost.log
getip
echo -n "New IP: " >> ./dynhost.log
echo $NEWIP >> ./dynhost.log
echo -n "Current IP: " >> ./dynhost.log
echo $CURIP >> ./dynhost.log
echo -n "Old IP: " >> ./dynhost.log
echo $OLDIP >> ./dynhost.log
if [ "$NEWIP" ]; then
if [ $OLDIP != $NEWIP ] || [ $CURIP != $NEWIP ]; then
echo "Mise à jour!" >> ./dynhost.log
if [ "$OPTIONS" = "" ]; then
OPTIONS="-a $NEWIP"
fi
python /home/pi/DynHost/ipcheck.py $OPTIONS $LOGIN $PASSWORD $HOST >> ./dynhost.log
echo -n "$NEWIP" > ./old.ip
else
echo IP Identique! Pas de mise à jour. >> ./dynhost.log
fi
else
echo Panique à bord: Aucune IP Disponible!! >> ./dynhost.log
fi
Enfin, une petite tache planifiée pour completer le tout:
*/10 * * * * /home/pi/DynHost/dynhost >> /home/pi/dynhostcrontab.log 2>&1