DynDNS et ddclient : accéder à son ordinateur depuis n'importe où

le 24/08/2011 dans Linux #Linux#mpd#réseau#ssh#transmission

Accéder à son ordinateur (que nous appellerons désormais serveur) depuis un poste distant (à partir de maintenant client), en dehors de son réseau local, peut s'avérer fort intéressant pour, par exemple, écouter en streaming la musique lue par MPD, gérer les téléchargements en cours dans le client bittorrent Transmission grâce à son interface web (cf. cet article), administrer sa machine via SSH… Cependant, avant d'accéder à son serveur à distance, il faut en connaître l'« adresse » ; mais qui connaît l'adresse IP fournie, généralement dynamiquement, par son fournisseur d'accès à Internet ? Nous allons donc voir comment mettre à jour automatiquement l'adresse IP du serveur à laquelle un nom de domaine, obtenu gratuitement auprès de DynDNS, doit renvoyer grâce à ddclient.

Nom de domaine

Nous allons commencer par créer un « nom de domaine » grâce à l'un des services pris en charge par ddclient, en l'occurrence DynDNS qui permet de se créer deux « noms d'hôte » gratuitement.

creation_domaine_dyndns

Dans un premier temps, vous avez la possibilité de saisir le nom de sous domaine que vous souhaitez et de sélectionner le domaine principal souhaité. Vous obtenez ainsi une adresse du type tototesthome.dyndns.org.

Pour ce qui est du service souhaité, il s'agit d'un Host with IP address. Pour le champ IP Address, il vous suffit logiquement de cliquer sur le lien situé en-dessous et qui vous indique votre adresse, à condition bien entendu que vous fassiez cette manipulation depuis le poste que vous souhaitez rendre accessible de l'extérieur. Vous pouvez passer à l'étape suivante en cliquant sur le bouton Add To Cart qui vous envoie sur un formulaire d'inscription. Une fois votre inscription et validation de votre domaine, vous devriez pouvoir vous connecter à votre serveur depuis un poste client (via votre navigateur) à l'adresse que vous avez choisie, dans notre exemple tototesthome.dyndns.org.

Cependant, l'adresse IP de votre serveur change de façon régulière et il est donc nécessaire de mettre à jour, à chaque changement, notre profil DynDNS. C'est là que ddclient entre en jeu.

Installation et configuration de ddclient

Nous allons donc installer ddclient sur le serveur. Sous Ubuntu, l'installation se fait en lançant la commande suivante :

$ sudo aptitude install ddclient

Au cours de l'installation, vous aurez à procéder à la configuration de ddclient par le biais de multiples « écrans » où il suffit pour valider d'appuyer sur la touche Entrée et d'utiliser la touche Espace pour sélectionner une option parmi une liste de choix possibles. Voici l'ensemble de ces « écrans » avec les options à sélectionner :

conf ddclient 01

conf ddclient 02

conf ddclient 03

conf ddclient 04

conf ddclient 05

Pour connaître l'interface réseau à utiliser, il vous suffit de repérer l'interface active via le Network Manager ou en lançant la commande

$ ifconfig

conf ddclient 06

conf ddclient 07

conf ddclient 08

conf ddclient 09

C'est cette option qui permet d'automatiser la mise à jour de l'adresse IP au sein de votre profil DynDNS, le service ddclient se lançant au démarrage du serveur et s'exécutant à intervalle régulier, ce que l'on configure dans le dernier écran.

conf ddclient 10

Si vous avez besoin par la suite de revenir sur la configuration de ddclient et souhaitez bénéficier de cet « assistant », il vous suffira de lancer la commande :

$ sudo dpkg-reconfigure ddclient

Vous pouvez également modifier la configuration de ddclient directement, en éditant le fichier /etc/ddclient.conf et y ajouter des options en vous référant à la documentation.

Pour accéder aux services lancés sur votre serveur, il vous faudra cependant penser à rediriger les ports au sein de l'espace de configuration de votre box/routeur.

Nous verrons dans de prochains articles comment manipuler Transmission à distance, se connecter via SSH à notre serveur sous Ubuntu depuis Windows, écouter en streaming la musique lue par MPD et manipuler ce dernier via SSH.