Site Web sur Raspberry Pi, partie 5 : obtenir son nom de domaine gratuit (moyennant certains compromis)

Avant de passer à la sécurisation par SSL de notre site, nous allons voir comment obtenir un nom de domaine permettant de rattacher notre site à une adresse fixe au lieu d’avoir à taper notre adresse IP.

Domaines “gratuits”

Là, soit vous payez, soit, comme moi, vous estimez que si y’a moyen d’avoir d’un nom même un peu tordu gratos, alors autant l’utiliser.

A titre personnel, j’utilise DNSExit, service gratuit qui survit, bon an mal an, à me fournir un domaine dit “de niveau 2”, c’est-à-dire qu’au lieu d’avoir un www.votredomaine.com, vous utilisez un domaine principal qui n’est pas le vôtre, genre là, ça sera “mapage.leurdomaine.com”.

Je ne vais pas vous mentir, à ce jour, je n’ai pas trouvé d’alternative à DNSExit, si bien que s’ils ferment demain, je serai bien emm-nuyé.

Ne vous faites surtout pas avoir par les noms de domaine de premier niveau “gratuits” : il n’y a pas de secret, dans ce cas – et j’y ai passé un moment – l’astuce se situe en l’utilisation d’un serveur DNS spécial.

Le DNS, c’est ce qui convertit l’adresse IP en chaîne de caractères et vice-versa, ce qui fait que vous pouvez tapez tartine.linkpc.net et pas l’adresse IP pour accéder à ce site.
Le résultat est le même, hein, mais c’est moins commode sans DNS.

Il va sans dire que les DNS sont partout, sans quoi vous ne seriez pas ici, mais pour proposer des noms de domaines gratuits, il est demandé de renseigner un serveur DNS différent de celui par défaut (que vous utilisez sans doute ici).
Mon énorme problème avec ça, outre que je trouve ça d’une malhonnêteté crasse, c’est que du coup, votre super nom de domaine n’est accessible QUE si vous avez ce DNS. Dit autrement, vous devrez le configurer sur TOUS les appareils que vous utilisez!
Dit encore autrement, ceux qui n’utilisent pas CE serveur DNS, eh bah ils ne verront jamais votre site.
Vous l’avez, le problème?

C’est pour ça que je préfère mille fois un nom de niveau 2, accessible de partout, à un niveau 1 accessible par personne.

S’inscrire sur DNSExit

Rendez-vous donc sur https://www.dnsexit.com/Direct.sv?cmd=signup , remplissez les champs qui vont bien, validez via le mail reçu, et c’est fait pour l’inscription.

Logguez-vous sur DNSExit, puis en haut, dans DOMAINS, cliquez sur Get Free Second Level Domains.
Comme vous pouvez le voir, il est possible de choisir deux suffixes : .publicvm.com ou .linkpc.net.
Entrez le préfixe, donc la première partie de l’adresse, de votre choix, et surtout, assurez-vous bien que l’adresse IP est celle de votre box internet.
Si vous n’utilisez pas de VPN ou de proxy, en allant sur des sites comme www.whatismyip.com, vous pourrez voir si oui ou non ça colle avec ce qui est indiqué sur linkpc.net. Normalement, oui.

Si vous n’avez pas d’IP fixe (ce qui est assez classique), laissez coché “IP is dynamic” et cliquez sur Submit.

Si le domaine de niveau 2 n’est pas pris, normalement, ça y est, vous y êtes : vous avez votre nom de domaine!

L’ouverture au monde

Là, on va rentrer dans le court et pénible, car cela dépend de chaque box Internet.

Maintenant que vous avez le domaine, il faut encore renvoyer l’adresse vers notre site, autrement dit, vers notre Raspberry Pi!

Toutes les box Internet, même plus plus préhistoriques, disposent du service de transfert de port. Il faudra donc que vous voyiez avec l’ami Google comment procéder à des transferts de port sur votre box.

Comment ça fonctionne?
Même si la page et l’emplacement sont différents d’une box à l’autre, le principe reste le même : lorsqu’une activité entrante est détectée sur un port, sans transfert de port, elle est rejetée par défaut.
Sauf que là, quand quelqu’un veut accéder à notre site, il va passer par le port 80, qui est le port par défaut d’un site Web : il faut donc l’aiguiller vers notre Raspberry Pi, sur le port 80.

Ce transfert se lit “si moi, box internet, je reçois des trucs sur le port untel, je renvoie à telle adresse IP locale sur le port untel”.

A noter que certaines box sont bien mieux fichues que d’autres et autorisent que le port entrant (celui qui reçoit l’activité sur la box) et le port sortant (celui du site sur votre Raspberry Pi) soient différents.

A votre charge de récupérer l’adresse locale de votre Raspberry Pi (commande ifconfig depuis le terminal sur le Pi 😉 ) et de procéder au transfert de port, un truc du genre :

[Nom / Descriptif (pour vous)] [Port "externe" (box)] [Port "interne" (Raspi)] [Protocole (TCP, UDP ou les deux)] [IP locale (Raspi)]

Ce qui peut donner :

Site Ouèbe - 80 - 80 - Les deux - 192.168.0.100

Voilà voilà.

Renouvellement d’IP (dynamic DNS ou DDNS)

Lorsque vous avez une IP changeante, il faut prévenir le site de changer cette IP.
Malheureusement, DNSExit n’est pas pris en charge par la plupart des box internet, il faut donc utiliser l’une des trois méthodes suivantes :

1- Passer par le site.
Méthode la plus pénible mais la plus sûre, si votre site, brusquement, ne se charge plus, vous mettez à jour à la mano votre IP.

2- Utiliser le client DDNS
DNSExit propose un client compatible Raspberry Pi pour mettre à jour tout seul comme un grand l’IP auprès de DNSExit.
Téléchargez la dernière version du client ddns ici ou via la commande :

cd /etc && sudo wget http://downloads.dnsexit.com/ipUpdate-1.71.tar.gz && sudo tar xzvf ipUpdate-1.71.tar.gz && sudo rm ipUpdate-1.71.tar.gz

Le script d’installation est un peu capricieux (il ne parvient pas à trouver un fichier dans son propre répertoire d’installation… Hem…) donc il faut avant de le lancer copier un script, de la sorte :

cd dnsexit && sudo cp Http_get.pm /usr/share/perl5

(merci à ce thread pour l’info) Puis installez :

sudo ./setup.pl
  • Remplissez ensuite vos informations de connexion à DNSExit,
  • Sélectionnez votre domaine à surveiller (il faut le faire deux fois),
  • Choisissez le lancement par daemon (yes),
  • Sélectionnez l’intervalle de temps (15 minutes dans mon cas),
  • Lancer le script au démarrage (yes),
  • Et enfin de quel endroit lancer le script (/etc/dnsexit).

Et hop là, vous avez un script qui fait le café.

Leave a Reply

Your email address will not be published. Required fields are marked *