Je vais vous expliquer ici comment faire pour accéder à un serveur hébergé chez vous connecté à Internet via votre box. La manipulation fonctionne avec tous les fournisseurs d’accès Internet.
Pour illustrer cet article, je vais utiliser le cas d’utilisation suivant :
“Je souhaite accéder en HTTP (via mon navigateur) à mon petit serveur Web Apache hébergé sur mon Raspberry Pi lorsque je ne suis pas chez moi. “
Je vais vous expliquer ici comment faire pour accéder à un serveur hébergé chez vous connecté à Internet via votre box. La manipulation fonctionne avec tous les fournisseurs d’accès Internet.
Pour illustrer cet article, je vais utiliser le cas d’utilisation suivant :
“Je souhaite accéder en HTTP (via mon navigateur) à mon petit serveur Web Apache hébergé sur mon Raspberry Pi lorsque je ne suis pas chez moi. “
Installation du serveur
J’utilise dans cet exemple un Raspberry Pi 4 avec une carte microSD suffisamment véloce (voir mon article sur le sujet ici) sur laquelle j’installe la dernière version de Raspberry Pi OS (anciennement Raspbian). Voici un lien affilié vers Amazon pour acheter un bundle Raspberry Pi 4 complet au cas où. Je pars du principe que tout est prêt et que le seul problème est d’accéder au serveur depuis l’extérieur car c’est l’objet de l’article. Je ne traite pas ici les aspects de sécurité ni de mise en place et configuration du firewall. Ce n’est pas un serveur de production, seulement un test.
Accéder au serveur Web Apache sur le réseau local (depuis un autre PC à la maison connecté sur la même box que le serveur)
C’est le scénario de base pour vérifier que le serveur est opérationnel. Il faut récupérer l’adresse IP que la box a attribué au serveur (c’est la partie routeur des box opérateurs qui effectue généralement ce travail).
Depuis un autre ordinateur connecté sur la même box, il suffit de lancer votre navigateur préféré et de saisir l’adresse http://adresse_ip_du_serveur et la page d’accueil par défaut du serveur Apache s’affiche dans le navigateur. C’est simple pour vérifier que tout fonctionne mais vous êtes sur votre réseau local. L’objectif est désormais d’accéder à votre serveur depuis l’extérieur.
Accéder au serveur Web Apache depuis Internet (quand on n’est pas à la maison)
Tout d’abord, il faut accéder à la l’interface d’administration de votre box Internet ou de votre routeur en réseau local. Pour ma part, je suis client chez Free, j’accède à ma Freebox Revolution à l’adresse IP 192.168.2.254. Pour les autres opérateurs, c’est généralement 192.168.0.1 ou 192.168.1.1. Le plus simple est de regarder sur la documentation qui accompagne la box puisqu’il faut également les informations de connexion du compte Administrateur de la box.
Une fois connecté en tant qu’administrateur sur ma box, je navigue dans l’interface pour trouver la page qui permet d’ouvrir des ports. Dans l’exemple de mon serveur Web, je souhaite que les ports HTTP (80) et HTTPS (443) soient redirigés vers mon serveur Web. C’est à dire que lorsque quelqu’un rentre l’adresse IP de ma box Internet dans son navigateur Web, il verra la page par défaut de mon serveur Web. Mais ce routage n’est pas automatique, il faut indiquer à la box vers quelle machine de son réseau elle doit rediriger le visiteur, sinon il reste bloqué avec une belle page d’erreur HTTP 404 (page non trouvée).
Tester la configuration des routes
Maintenant que ma box est configurée, il ne me reste plus qu’à récupérer l’adresse IP de ma box sur Internet. Il suffit pour cela de vous rendre sur le site WhatIsMyIPAddress.com puis noter la série de quatre nombre indiquée après la mention “Votre adresse IP est :”.
Je dégaine alors mon smartphone, je m’assure de ne pas être connecté au Wifi de ma box pour utiliser la 4G de mon téléphone. Je lance mon navigateur préféré, je rentre mon adresse IP fraîchement obtenue dans la barre d’adresse du navigateur, je valide et… Tadaaaaaaa !!!! J’ai la page par défaut de mon serveur Web.
Je ne veux pas retenir une suite de chiffres…
C’est vrai que retenir des numéros que je n’ai pas choisi et qui n’ont aucun sens pour moi, ce n’est pas quelque chose qui me motive. Le pire c’est qu’en fait ça ne sert à rien puisque les opérateurs attribuent des adresses IP dynamiques. Cela signifie que tout au long de la vie de votre box, cette dernière a peu de chance d’avoir toujours la même adresse IP sur le Web sauf si vous souscrivez à cette option chez votre fournisseur d’accès Internet (quand celui-ci le permet).
Création d’un nom d’hôte dynamique
Vous l’aurez compris, la création d’un nom d’hôte dynamique est une solution pour ne pas avoir à retenir une adresse IP et/ou pouvoir joindre votre ordinateur même après que votre IP Internet ait changé.
Il existe pléthore de fournisseurs DDNS pour ce type de service comme :
- DynDNS.com qui propose une version d’essai mais qui est ensuite payant
- Duck DNS gratuit et accepte les donations
- YDNS totalement gratuit
- No-IP qui propose une version gratuite et une version payante (lien sponsorisé)
- …
Tous les routeurs ne supportent pas tous les fournisseurs donc regardez d’abord ce que votre matériel supporte avant de souscrire à un abonnement, surtout si vous optez pour une version payante.
Pour ma part, j’utilise No-IP (lien sponsorisé) qui est facilement configurable sur ma Freebox Revolution. J’ai également configuré un autre nom d’hôte pour la Livebox de mes parents. J’ai choisi ce fournisseur tout d’abord parce qu’il est pris en charge par ma box, il est fiable et permet d’aller plus loin en terme de services, le tout pour un prix abordable.
Dans la suite de l’article, je vais donc décrire comment procéder avec No-IP.
Cas pratique avec No-IP
Après avoir créé votre compte, il faut cliquer sur le menu “Dynamic DNS” puis sur le bouton “Create Hostname”. Sur la popin qui apparaît, choisissez un “Hostname”, par exemple “test-toto-123”, et utilisez la liste déroulante pour choisir le domaine, dans mon exemple je sélectionne “ddns.net”. Laissez les autres options comme elles sont et validez.
Retournez sur votre box dans la rubrique “DynDNS” ou “Route dynamique” ou “DNS dynamique” (le libellé change un peu selon les modèle) et indiquez le nom de votre fournisseur de DDNS, vos informations de connexion (username et mot de passe) ainsi que le nom d’hôte précédemment créé, dans mon exemple “test-toto-123.ddns.net”.
Sauvegardez le tout, profitez de quelques secondes pour vérifier que votre smartphone est toujours connecté à Internet en 4G (et pas en Wi-Fi), lancez votre navigateur à l’adresse “test-toto-123.ddns.net”.
Tadaaaaaaaaaa !!! Vous devriez consulter la page d’accueil de votre serveur Web qui est désormais joignable depuis l’extérieur de votre réseau !