Instaler un client Dyndns
Pour accéder à un site sur Internet vous devriez systématiquement taper son adresse IP, mais ce n'est pas très pratique. C'est pourquoi chaque site dispose d'un DNS ou serveur de noms, qui va associer l'adresse IP du site à un nom.
Les choses se compliquent quand vous souhaitez, mettre en place un site Internet ou un ftp depuis votre PC. En effet, à moins de disposer ou de savoir configurer un DNS, vous devrez chaque jour indiquer à vos utilisateurs l'adresse IP de votre machine. Oui, même avec l'ADSL, votre IP change toutes les 24H, sauf cas d'IP fixe.
Lors de la mise en place de mon serveur ftp (pure-ftpd) un problème s'est posé à moi. Comment résoudre mon IP en nom de domaine ? La solution : Dyndns (Dynamique DNS). Dans ce tutorial je vais vous expliquer comment s'inscrire au site, installé un client Dyndns et lancer le tout automatiquement.
1. Inscription au site Dyndns :
Tous d'abord une petite présentation : Le service Dyndns permet de faire une résolution d'adresse IP en nom de domaine facile à retenir, tel que nom.Dyndns.org ( ou autre, le choix est énorme ).
L'inscription se fait ici le choix peut s'effectuer en IP statique ou dynamique, très pratique pour nos adresses françaises. Il vous suffira de compléter les informations demandées, un mail vous sera envoyé pour confirmation d'inscription et ainsi compléter votre inscription.
Le nom de votre serveur est à votre discrétion, après l'avoir choisi cliquez sur Add Host.
Ensuite il faut installer un programme qui mettra cette adresse DNS à jour. Ici nous en décrirons deux, à savoir ez-ipupdate et ddclient, à vous de choisir.
2. Installer ez-ipupdate :
Vous pouvez télécharger ce logiciel à l'adresse suivante . Le logiciel ez-ipupdate, permet de mettre à jour votre ip vers le(s) serveur(s) Dyndns.
2.1 Installation d'ez-ipupdate :
L'installation de ce logiciel est des plus classique :
tar xvfz ez-ipupdate-3.0.11b5.tar.gz
cd ez-ipupdate-3.0.11b5
./configure
make
make install
2.2 Utilisation d'ez-ipupdate :
Après reboot, on s'aperçoit que la résolution d'IP / nom de domaine ne fonctionne plus le simple fait de taper ez-ipupdate dans un terminal (et en root) permet de mettre la mise a jour du client Dyndns.
Lorsque vous tapez ez-ipupdate les questions suivantes vous sont posées :
service : ici on inscrit dyndns
user : votre nom d'utilisateur donné lors de l'inscription au site
password : votre password donné lors de l'inscription au site
host : le nom de votre serveur exemple : nom.dyndns.org
interface : votre interface réseau exemple : eth0 ou ppp0 ( adsl )
Après avoir complété ces informations la résolution s'effectue automatiquement.
2.3 Automatisation du processus grâce au script shell :
Pour faciliter le tout j'ai créé un petit script permettant d'automatiser l'exécution de la reconnaissance de l'IP ainsi que le lancement de pure-ftpd
Pour utiliser ce script, vous devez l'enregistrer dans un fichier : dyndns, le rendre exécutable par :
chmod 755 dyndns
Pour le lancer, vous taperez, en root :
cd /où_est_dyndns/
dyndns
3. Installer ddclient :
ddclient est un autre client dyndns pour linux. Vous pouvez télécharger la version la plus à jour ici . Téléchargez, la version la plus adaptée à votre distribution.
3.1 Installation de ddclient :
Pour les utilisateurs de Mandriva :
urpmi ddclient
RedHat :
rpm -Uvh ddclient-*.rpm
Fedora :
yum install ddclient
Ubuntu :
aptitude install ddlient
Pour les autres :
tar -xzvf /où_est/ddclient-3.8.0.tar.gz
cd ddclient-3.6.2/
cp ddclient /usr/sbin/
cp sample-etc_ddclient.conf /etc/ddclient.conf
cp sample-etc_rc.d_init.d_ddclient /etc/init.d/ddclient
Pensez bien à adapter la commande au numéro de version de ddclient que vous téléchargez.
3.2 Configuration de ddclient :
Si vous utilisez DynDNS, ça peut être très simple pour la configuration. DynDNS fournit des fichiers de configuration basiques et la documentation qui va avec.
Par exemple :
# Basic configuration file for ddclient
#
# /etc/ddclient.conf
daemon=600
cache=/tmp/ddclient.cache
pid=/var/run/ddclient.pid
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
login=your-username
password=your-password
protocol=dyndns2
server=members.dyndns.org
wildcard=YES
example.dyndns.org
custom=yes, example.com
Fichier qu'on enregistre dans /etc/ddclient.conf
Attention, il semble qu'il ait une certaine variabilité.
Sous Mandriva 2010, ddclient place son fichier de configuration dans /etc/ddclient/ddclient.conf
Et avec le ssl :
# Basic HTTPS configuration file for ddclient
#
# /etc/ddclient.conf
daemon=600
pid=/var/run/ddclient.pid
ssl=yes
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
login=your-username
password=your-password
protocol=dyndns2
server=members.dyndns.org
wildcard=YES
example.dyndns.org
custom=yes, example.com
Il y a aussi la possibilité de créer ce fichier en ligne, un lien est présent sur cette page de configuration.
Autre possibilité : configurer en éditant le fichier /etc/ddclient.conf ou /etc/ddclient/ddclient.conf fourni avec le logiciel. C'est un fichier prêt à l'emploi : il suffit de commenter ou dé-commenter en fonction des besoins.
Ce fichier propose d'autres fournisseurs que DynDNS, ZoneEdit ou EasyDNS.
D'autres paramétrages sont suggérés. On peut par exemple récupérer l'IP autrement que par page web.
Pour DynDNS, commentez, ou dé-commentez :
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail=root # mail update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
Adaptation pour certains modems, vous n'avez pas à y toucher sauf si vous savez ce que vous faîtes :
#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
#use=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW
#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW
#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW
#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW
#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro
#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router
#fw-login=admin, fw-password=XXXXXX # FW login and password
Assurez-vous d'avoir les lignes suivantes dé-commentées :
use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP
Addressuse=web # via web
protocol=dyndns2 # default protocol
server=members.dyndns.org # default server
server=members.dyndns.org:8245 # default server (bypassing proxies)
Les lignes suivantes concernent les proxies, je n'en ai pas.
Indiquez ici vos login et passwd, entrés chez dynDNS (dynamique). Il faut en mettre autant que de machine, dont le nombre ne peut excéder 5.
login=login # default login
password=mot_de_passe # default password
#mx=mx.for.your.host # default MX
#backupmx=yes|no # host is primary MX?
#wildcard=yes|no # add wildcard CNAME?
Le nom du site (server et protocol sont déjà dé-commentés au dessus) :
##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
#server=members.dyndns.org, \
#protocol=dyndns2 \
nom_choisi.dyndns.org \
Le reste des options peut rester tel quel. Reportez-vous au fichier README pour plus de détails.
3.3 Lancement de ddclient :
Pour lancer dyndns tapez simplement :
/etc/init.d/ddclient start
ou bien
ddclient start
Si vous souhaitez que ce soit fait à chaque démarrage, rajoutez simplement la ligne :
/etc/init.d/ddclient start
à la fin de votre /etc/init.d/rc.local