Toujours connaitre l'adresse IP dynamique de son serveur

Dimanche, 19 Décembre 2010 10:34
Évaluez cet article
(1 vote)

La problématique est la suivante, j'ai installé un serveur sur un réseau local connecté à Internet par une Livebox.
La bonne idée de Orange étant de fournir des adresses IP dynamiques pour la Livebox, j'ai beaucoup de mal à me connecter en VPN sur mon serveur.
Alors comment faire pour avoir toujours l'adresse IP de cette box sous la main sans aller tous les jours (Oui la liaison est de tellement bonne qualité que mon IP change plusieurs fois par jour) la récupérer sur la machine?

L'idée est que le serveur ira régulièrement interroger une page web distante qui affichera son IP. Si l'IP a changée par rapport à la dernière interrogation la nouvelle adresse IP est renvoyée à une adresse mail.

Matériel nécessaire:
1 serveur sous linux (pour l'exemple debian)
1 site web avec php (ou autre il faudra seulement adapter un peu le code) par sur le serveur local sinon ça sert à rien
1 adresse mail
10 doigts, bien que certains ne se servent que d'un mais c'est plus long

1/ Création de la page web

Créez un dossier myIP sur votre site web.
Dans ce dossier créez un fichier .htaccess contenant le code suivant

1
2
3
4
AuthName "Page protégée"
AuthType Basic
AuthUserFile "/home/cd/www/myIP/.htpasswd"
Require valid-user

Toujours dans le même dossier créez un fichier .htpasswd contenant le nom d'utilisateur "myIP" et un mot de passe

1
myIP:motDePasse

On va ensuite créer dans ce même dossier un fichier myIP.php

1
2
3
<?php
echo $_SERVER["REMOTE_ADDR"];
?>

Un peu d'explications maintenant.
Pourquoi protéger ce dossier avec un .htaccess? Tout simplement pour éviter que tout le monde puisse se servir de votre fichier myIP.php qui augmenterais considérablement le trafic pour rien. Ok je suis parano.

Le fichier myIP.php renvoi l'adresse ip du client connecté, nous aurons alors ici l'adresse IP publique de notre Livebox.

2/ Création de la tache Cron

Nous allons maintenant créer une tache Cron qui ira périodiquement, ici toutes les heures, récupérer la page que nous avons créé précédemment.
Elle sera alors enregistrée dans un fichier qui sera le fichier de référence lors des prochaines vérifications. SI l'adresse IP a changé on enregistre la nouvelle IP dans le fichier et ainsi de suite.
A chaque changement d'IP on envoi un mail à une adresse mail grâce.
Voici le script bash à placer dans le répertoire /etc/cron.daily/ sous le nom que vous voulez en le rendant exécutable:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
file="/tmp/myip.txt"
IP=$(wget --user "myIP" --password "motDePasse" -O - -q www.votresite.com/myIP/myIP.php)
if [ -e "$file" ]; then
MYIP=`cat "$file"`
fi
if [ "$MYIP" != "$IP" ]; then
echo "$IP" > "$file";
echo "Nouvelle adresse ip du serveur: $IP" | mail -s "Nouvelle adresse ip" votre@adresse.mail
fi

3/Vérification

Vous pouvez pour vérifier que ça fonctionne vous pouvez, soit attendre plusieurs heures, soit lancer depuis un terminal le script que vous venez de créer.
La dernière solution prenant beaucoup moins de temps.
Dernière modification le Dimanche, 02 Janvier 2011 21:12

Articles similaires (par étiquette)

Ajouter un Commentaire


touche

Vitrine, e-commerce, blog...

Nous proposons des solutions fiables et adaptées à vos besoins et à votre budget. Nous vous suivons et conseillons durant toutes les étapes de votre projet.
N'hésitez pas à nous contacter.
Création de sites Internet
html

Logiciel sur mesure

Nous vous proposons la création de logiciels sur mesure. Un logiciel adapté à votre activité n'est pas forcément plus cher qu'un progiciel existant qui ne répondra pas complètement à vos attentes.
Création de logiciels
touche

Solutions informatiques

Nous vous proposons la création de logiciels sur mesure. Un logiciel adapté à votre activité n'est pas forcément plus cher qu'un progiciel existant qui ne répondra pas complètement à vos attentes.
Solutions informatiques