ip dynamique et ovh

Hello,

Le problème que j’ai rencontré est que j’ai une pauvre adresse dynamique chez mon fournisseur d’accès donc pour pouvoir retrouver mon adresse ça devient vite compliquer DynDNS c’est devenu payant et les autres je suis moyennement convaincu seul le port 80 est redirigé… bref sachant que j’héberge des serveurs chez ovh j’ai trouvé un petit outils plutôt pratique qui s’appelle updatedd qui permet de mettre à jour chez ovh les dns, donc on va mettre en place un script, un cron et on sera bon :)

Vous trouverez updatedd ici

Pour que ça fonctionne avec OVH il faudra faire une petite modification

nano updatedd-2.6/src/plugins/libovh.h

ligne 24 rajoutez « www »

#define DYNDNSHOST « www.ovh.com »

Après il n’y a plus qu’à builder

~$ ./configure

~$ make

~$ su

# make install

 

Avant de pouvoir faire quoi que ce soit il va vous falloir créer un compte DynHOST chez OVH. Et c’est tant mieux car il faut savoir que les identifiants seront envoyés en clair sur le net… super… mais bon c’est le jeux.

voici le tuto ovh qui vous explique comment créer votre compte dynhost.

maintenant vous pouvez exécuter la commande pour mettre à jour le dns.

updatedd ovh — –ipv4 ip username:password host

où ip: votre adresse ip, username le login dynhost, password, et le host: l’url que vous voulez y associer

il n’y a plus qu’à créer un script. Mais le problème c’est qu’il nous manque l’adresse ip il nous faut savoir qu’elle est notre adresse ip depuis l’extérieur. Là je vais faire intervenir un script php très simple que j’ai nommé  getipext.php:

<?php
$ip = getenv(« REMOTE_ADDR ») ;
Echo $ip;
?>

Et il va vous retourner votre adresse depuis l’extérieur.

Pour pousser le bouchon un peu plus loin voici un autre script pour savoir si on doit  faire une mise à jour du dns. Je l’ai appelé getiphost.php

<?php

$url = ‘host';
$ip = gethostbyname($url);

echo $ip;

?>

Voilà maintenant on va construire un script dynhostUpdate.sh pour gérer cette mise à jour et vous générer un fichier de log à chaque changement d’ip

#!/bin/sh

# OVH – DynHost
#
# Permet de mettre à jour le champ DYNHOST
# pour votre nom de domaine.

# La mise à jour ne se fait que si l adresse IP
# a effectivement changé.
# Fichier de log: dynhost.log

# Mod par Michoo_42

HOST=’host’
LOGIN=’username’
PASSWORD=’password’
LOCALPATH=’/xxx/xxx/xxx’

# Obtention de l adresse IP actuelle et celle enregistrée lors du dernier changement
#echo $LOGIN $PASSWORD $HOST
IP=$(curl -s http://siteweb/getipext.php)
OLDIP=$(curl -s http://siteweb/getiphost.php)

if [ « $OLDIP » != « $IP » ];
then
echo `date` « OLDIP: $OLDIP , NEW IP: $IP  » >> $LOCALPATH/dynhost.log
/usr/local/bin/updatedd ovh — –ipv4 $IP $LOGIN:$PASSWORD $HOST >> $LOCALPATH/dynhost.log
fi

voilà (chmod +x dynhostUpdate.sh) maintenant on passe au cron qui est un scheduler

crontab -e

et à la fin rajoutez la ligne qui va bien

*/30 *  * * * /chemin/dynhostUpdate.sh >/dev/null 2>&1

pour moi c’est toutes les 30 minutes mais après vous faites comme vous le sentez.

 

Voilà maintenant on va pouvoir passer aux choses sérieuses la mise en place du vpn ;)

So enjoy!