Mise à jour automatique de l'adresse IP d'un serveur sur un reseau local de classe C connecté à internet par un routeur ADSL avec IP dynamique Solution mettant en oeuvre ipcheck avec le service DynDns
Table des matières:Cette solution met en oeuvre le programme ipcheck.py avec connection vers une pages web externe pour mettre à jour une ip dynamique chez DynDns à partir d'un serveur linux (fedora core 3 dans mon cas mais n'importe quelle autre distribution fera l'affaire.....) Le serveur est connecté sur un réseau local de classe C (ips locales non routées). Les ports à ouvrir pour ce serveur on préalablement été déclarés dans la configuration NAT du routeur. Un compte a préalablement été créé chez dyndns avec une un nom de domaine pour la machine.
A propos de ce documentCe document a pour but principal de garder une trace de ce que j'ai mis en place dans le cadre de mon travail pour que je puisse m'en resservir au besoin. S'il peut vous être utile tant mieux. Vos remarques, commentaires, corrections... à propos de ce document sont toutefois les bienvenues en bas de ce document.
Prérequis
- Serveur en état de fonctionnement avec réseau paramétré correctement
- Connection permanente vers internet via adsl et ip dynamique (ce qui suit n'a aucun sens si vous avez une ip fixe comme sur une freebox par exemple)
- Python doit être installé sur la machine
- Création d'un compte chez dyndns.org avec le nom d'utilisateur "dyndnsuser", le mot de passe "dyndnspassword" et déclaration d'une ip dynamique pour le domaine "yourdomain.server.com" (remplacez ci-dessous par ce qui convient)
- Toutes les commandes ci-dessous sont effectuée avec le compte root
Installation de ipcheck
cd /usr/sbin
wget wget http://ipcheck.sourceforge.net/ipcheck.py
chmod 700 ipcheck.py
Création du répertoire de configuration et premier lancement
cd /etc/
mkdir dyndns
ipcheck.py --makedat -d /etc/dyndns -l -r checkip.dyndns.org:8245 dyndnsuser dyndnspassword yourdomain.server.com
ls dyndns //-->(pour vérifier que les fichiers ipcheck.dat ipcheck.log and webip.out on bien été créés)
chmod -R o-rwx dyndns
Automatisation de la procédure avec cronN'oubliez pas de mettre votre éditeur préféré dans la variable 'EDITOR' de votre shell (en mettant la ligne
export EDITOR='xemacs -nw'
dans votre .bashrc par exemple). L'éditeur par défaut est en règle générale vi.
crontab -e
*/2 * * * * /usr/sbin/ipcheck.py -d /etc/dyndns -l -r checkip.dyndns.org:8245 dyndnsuser dyndnspassword yourdomain.server.com
pour une vérification toute les 2 minutes
|