Routage des ports Internet ou NAT
Le NAT (Network Address Translation) met en correspondance un domaine d’adresses locales privées avec un domaine d’adresses publiques. En pratique, cela sert à communiquer depuis le monde internet public avec une machine sur un réseau de maison privée.
C’est un processus qui ressemble à la téléphonie d’autrefois dans les entreprises. On appelait depuis l’extérieur le numéro de l’entreprise et une opératrice passait la communication en interne suivant le plan de numérotation interne.
Ces opérations décrites ici sont applicables à un réseau internet IPV4 en interne géré en général par votre box internet.
Principe
Prenons le cas de votre box internet, elle a sur le réseau public une adresse IPV4 de la forme 123.231.123.132. C’est un groupe de 4 chiffres, chacun étant compris entre 0 et 255. Elle dispose également de 65536 ports numérotés entre 0 et 65535. Il aurait été préférable d’appeler cela quai de débarquement.
La règle consiste à dire que si une demande arrive sur votre box internet (123.231.123.132) sur un port donné, on envoie le message une machine en interne sur un port donné.
Dans l’image ci-dessus, on envoie les messages du port 50000 externe vers la machine (ici un ESP32) à l’adresse IP 192.168.1.200 et le port 80. De même les messages qui arrivent sur le port 40000 sont envoyés à l’adresse 192.168.1.210 port 80.
Si l’on souhaite discuter avec l’ESP du haut depuis le monde extérieur, on mettra dans le navigateur web l’adresse : http://123.321.123.132:50000
Cette opération est effectuée par la box internet.
Choix des ports
On a 65536- ports de disponibles, mais on ne peut pas faire n’importe quoi. Certains sont affectés par défaut. Ainsi le port 80, c’est toujours pour le web protocole http (on ne le précise plus dans les adresses par :80). Le port 443, c’est par défaut le port pour les échanges https.
En pratique, on n’utilise pas les 1024 premiers ports. Après, on a la liberté de choisir un numéro quelconque inférieur à 65535.
Sécurité
Quand on établit une règle NAT, on ouvre un peu de son réseau au monde extérieur. Il faut que la machine adressée soit protégée ou ne craint rien car les fonctions ne sont pas vitales.
Mise en pratique
Adresse IP externe
La première information à trouver, c’est l’adresse externe de votre box.
On peut aller sur http://ipadress.com qui vous donnera votre adresse au format IPV4
On peut la trouver sur sa box internet.
Attention certains opérateurs comme Orange, change périodiquement d’adresse IP pour la box. Cela est alors beaucoup plus compliqué. Il faut mettre un DynDNS.
D’autres opérateurs ne vous attribue pas les 65536 ports en entrée, il faut négocier avec eux. Dans l’exemple ci-dessus avec la Freebox, il est bien écrit ports de 0 à 65535
Création règle NAT
Trouver dans votre box où l’on gère les ports.
Cliquez sur Ajouter une redirection
Remplissez les champs :
- l’adresse IP interne de la machine cible. Ici 192.168.0.203
- IP source, pas de restriction
- Protocole TCP. C’est OK pour faire du web http
- Port début. Port externe ici 50000
- Port de fin : ici 50000, mais on peut rediriger un groupe de ports
- Port de destination : ici 80, c’est le port dédié à http pour la machine à l’adresse interne 192.168.0.203
À partir de ce moment tout appel depuis une page web (exemple votre smartphone) à l’extérieur à l’adresse http://<ip externe de la box>:50000 arrivera sur la machine 192.168.0.203:80
Bonsoir André,
Chez free il existe la possibilité d’obtenir les 65536 ports en se rendant dans son compte free internet puis en sélectionnant le menu « Ma Freebox », puis la ligne « Demander une adresse IP fixe V4 full-stack«
Il est également possible de créer son propre nom de domaine pour accéder à sa Freebox depuis l’extérieur. Par exemple plutôt que de taper l’adresse IP de sa Freebox, il suffira de saisir quelque chose comme mamaison.freeboxos.fr. C’est parfois plus simple à retenir qu’une suite de chiffre. Pour créer un nom de domaine il faut se connecter à sa Freebox, Paramètres, Nom de domaine.
Bien à vous.
Oui, je connais ces solutions pour Freebox. Je vais rajouter les copies d’écran pour d’autres box afin d’être le plus général.
Cdlt
Bonjour, Personnellement je déconseille cette solution pour accéder à des ESP32 pour des raisons de sécurité.
Il faudrait au moins les mettre dans la DMZ de la Freebox (zone dé-militarisée).
Pour faire mieux mieux il serait plus sécurisé d’activer le serveur VPN de la Freebox. Ainsi il est très facile de puis son téléphone de se connecter au réseau local de la maison et donc d’avoir accès aux ESP32.
Comme je l’ai mentionné, le système est ouvert au monde extérieur. Mais ici je m’adresse à des personnes qui ne maitrisent pas obligatoirement le monde informatique. Le risque est faible. Une personne mal intentionnée ira modifier les paramètres du routeur. Ce n’est pas si grave et cela ne l’intéressera probablement pas.
Cdlt
La compromission de l’ESP32 du routeur permettrait de servir de rebond sur le réseau local et ainsi compromettre tout le reste.
Vraiment je déconseille cette solution.
Bonjour Jérôme,
Très bien de déconseiller cette méthode, mais quelle serait la votre ?
Pouvez vous expliquer à des novices en informatique ce qu’est la DMZ et comment s’y prendre en utiliser VPN ?
Personnellement j’utilise depuis longtemps la méthode d’André avec ma Freebox, simple efficace, et je ne sais pas ce qui pourrait être violé dans ma box…
Cordialement,
Bonjour, je confirme ce qui a été dit. Pour moi c’est une très grosse erreur de faire un NAT vers son réseau interne. L’ESP32 peut effectivement servir de machine rebond vers tous son réseau domestique si il est compromis.
L’utilisation d’une DMZ est un moindre mal mais je conseille vraiment de passer par un VPN, seul solution d’accès à distance à son réseau qui soit sécurisé. SI vous avez une freebox ou un nas Synologie, de nombreux tutos existe à ce sujet.
Bonsoir,
Pour ma part, afin de pouvoir accéder au routeur solaire avec ma freebox delta, il m’a été nécéssaire de demander un nom de domaine car l’adresse IP publique:port me retournait un résultat d’erreur de recherche par Google.
Avec le nom de domaine perso:port je tombe bien sur le routeur solaire.
Est-il envisageable de mettre en place une gestion de mot de passe d’accès au routeur pour sécuriser un peu la chose et éviter toute détérioration des réglages ?
Pas prévu pour l’instant.
Cdlt
Bonjour. merci pour l’article, comme d’habitude toujours interessant.
Pour info, actuellement j’ai comme FAI Bouygues telecom. Comme il n’est pas possible avec d’avoir IP fixe , pour un usage grand public avec la BBox , j’utilise le site NO-IP ( https://www.noip.com) , qui permet de faire le lien en un nom de dommaine perso, et une adresse IP non fixe, via le paramétrage de la Bbox. Pour ceux que cela interesse, on trouve de la litérature à ce sujet sur le net.
bonjour
cela fait quelques mois que j’utilise votre « astuce » du NAT depuis ma vieille box ADSL sfr . La connexion cable (et pas fibre) + l’ancienneté font que j’ai la chance de bénificier d’une IPV4. J’avoue trouver très pratique l’accès depuis l’extérieur (par exemple pour vérifier si surplus pour allumer la clim avec tuya ou smartlife).
Problème: nous envisageons un passage vers la fibre, je risque donc de perdre l’avantage de l’IPV4 (passage en CGNAT et IPV6) et obtenir chez SFR une IPV4 fullstack semble aléatoire .
Certains chez SFR ont ils un retour d’expérience? une solution?
Merci
Je viens de passer chez SFR avec la fibre pour une maison de vacances de famille. Ils sont en Full Stack. J’ai juste galéré pour trouver comment faire le NAT. C’est une sous-page dans la page sécurité. Pourquoi sécurité? Les interlocuteurs chez SFR étaient juste incapable de comprendre mon problème, mais j’y suis arrivé.
Cdlt
Bonjour André
Qu’appelez vous Full Stack, parce que moi depuis la fibre SFR je suis en CGNAT et il m’est impossible de faire la NAT ?
Cordialement
Appelez le service client et demandé du Full Stack (pas de partage des ports entre plusieurs abonnées mais bien les 65536 ports).
Cdlt
bonjour
et que pensez vous de cette méthode ( dans le cas ou pas d’ipv4 fullstack obtenue auprès du service client) ?
voir partie 2 du lien https://assistance.sfr.fr/internet-tel-fixe/box-nb6/maitriser-fonctions-avancees-box-nb6-box-plus.html
Merci
Je n’ai jamais pratiqué IPV6 dans le détail. Possible que cela fonctionne en utilisant l’adresse MAC de l’ESP32.
Cdlt
Très bien, merci André pour vos retours.
Si d’autres utilisateurs ont été confrontés au problème du passage en CGNAT/ipV6 et ont réussi à conserver un accès extérieur (sans ipV4), merci par avance si vous voulez bien transmettre vos « astuces ».
Après plusieurs recherches et essais, pour contourner le CGNAT, j’accède à mes serveurs (multimedia, domotique…) depuis l’extérieur au moyen de Tailscale (vpn) installé en tant que service sur les appareils déclarés que je souhaite atteindre.
Pour accéder au routeur solaire, je me connecte par VNC Viewer au desktop du Raspberry dédié à la domotique qui est sous Debian.
C’est un peu ouf , mais ça marche !
Bonjour André pour le routeur photovoltaique si comme chez orange fibre on n’a pas d’informations du dns comment ça ce passe car ayant fabriqué votre routeur et l’ayant fait fonctionner chez moi réseau free vdsl il m’est impossible de récupérer le réseau orange fibre d’un amis et beaucoup de difficultés à accéder à la page du routeur via l’adresse ip 192.168.4.1 ça ce déconnecté souvent et il ne trouve pas le réseau orange.
Si je comprends bien vous avez déplacé le routeur chez un Ami qui a une box Orange.
Dans ce cas, le routeur va essayer de se connecter à votre réseau à vous. Au bout de 30s, n’y arrivant pas, il va basculer en mode point d’Accès. Les 2 LED clignotent en alternance. Dans ce cas vous vous connectez avec un Smartphone sur le réseau WIFI qui s’apelle RMS-ESP… vous rentrez l’adresse 192.168.4.1 dans le navigateur. Il ne faut pas trainer, vous avez max 3mn pour le faire après l’ESP32 se reset à nouveau.
Cdlt