--- title: NAT & DHCP description: Comprendre le NAT, la redirection de ports et le DHCP sur un routeur domestique. Configurer des baux IP fixes et exposer des services locaux. --- :ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60} ![picture](/img/global/nat.svg) ## Qu'est-ce qu'un « port » ? Les ports sont différents canaux par lesquels votre routeur envoie et reçoit des données. Cela permet d'utiliser plusieurs services en même temps. Lorsqu'il reçoit des données via un port, votre routeur les transmet à la machine qui : - soit a émis la requête de départ, - soit est configurée pour recevoir les données arrivant sur un port spécifique. Votre routeur dispose de plus de 65 000 ports. Certains programmes et applications sont conçus pour utiliser des ports spécifiques. Par exemple, lorsque votre réseau envoie des données depuis une page HTML, le routeur les reçoit via le port 80 (non sécurisé) ou le port `443` (sécurisé via SSL). Le routeur sert donc de plateforme d'aiguillage des données entre internet et vos machines locales. ## La redirection de port Rediriger un `port`, c'est émettre une règle qui spécifie quelle `source` peut envoyer des données à quel `port` de votre routeur, qui les transmettra ensuite à un `port` précis d'une `machine` précise. Les `sources` et la `machine de destination` sont identifiées par leur adresse IP. | Variable | Description | Exemple | |--------------------------|----------------------------------------------------------|-------------------------| | `machine source` | IP de la machine source (depuis internet) | `All`
`123.45.67.89` | | `port source` | Port d'arrivée sur le routeur | `443` | | `port de destination` | Port sur la machine de destination | `3000` | | `machine de destination` | IP de la machine visée (sur votre réseau local) | `192.168.1.50` | Selon ce tableau : Si on enlève le `All` et qu'on garde l'IP `123.45.67.89`, tout le trafic venant de cette IP envoyé sur le port `443` de votre routeur sera redirigé vers le port `3000` de l'IP locale `192.168.1.50`. Si on enlève l'IP et qu'on garde `All`, alors tout le trafic venant d'internet sur le port `443` sera redirigé vers le port `3000` de `192.168.1.50`. C'est utile quand vous avez un serveur qui doit être accessible depuis internet. Par exemple, un site web utilise le port `80` (non sécurisé) ou `443` (sécurisé par SSL). Pour rendre le site accessible, vous configurerez votre routeur pour rediriger la requête du nom de domaine vers votre serveur local. Imaginons que votre service tourne sur le port `3000` en local (`http://192.168.1.50:3000`), vous redirigerez tout le trafic du port `443` du routeur vers le port `3000` du serveur local. ::warning{to="/serveex/core/swag"} __Attention :__ si vous avez plusieurs services à exposer, du type `sousdomaine1.mondomaine.fr` et `sousdomaine2.mondomaine.fr`, votre routeur ne peut pas différencier les requêtes et rediriger vers des ports différents. Vous devez utiliser un **Reverse Proxy** pour aiguiller le trafic selon la requête. :: ## Le DHCP À chaque fois qu'un appareil se connecte à votre réseau local, votre routeur lui attribue une adresse IP via les règles DHCP. Cette IP est choisie au hasard dans une plage prédéfinie. À chaque redémarrage de l'appareil, l'IP peut changer, ce qui pose problème si vous redirigez des ports, car l'IP visée peut ne plus être la bonne. Pour éviter ça, utilisez le serveur DHCP de votre routeur pour attribuer une adresse IP fixe. Chaque appareil a une adresse physique dite « adresse MAC ». Pour fixer une IP, vous devez connaître l'adresse MAC de votre appareil (visible dans votre routeur quand il est connecté), et lui attribuer une IP fixe. C'est ce qu'on appelle un « bail DHCP fixe ». Ainsi, l'IP de votre machine ne change jamais et vos règles de redirection de port restent valables. | Variable | Description | Exemple | |---------------|----------------------------------|---------------------| | `IP` | IP locale fixe à attribuer | `192.168.1.50` | | `Adresse MAC` | Adresse physique de l'appareil | `5E:FF:56:A2:AF:15` | Pour plus d'informations, consultez la documentation de votre routeur.