NAT, PAT et redirections de ports
Une seule IP publique pour 30 machines : c'est le NAT qui rend ça possible — et c'est lui qui explique pourquoi on ne peut pas joindre ta machine « directement » depui…
Prérequis : cours 4.1 ; passerelle, NAT et DHCP.
Pourquoi
Une seule IP publique pour 30 machines : c'est le NAT qui rend ça possible — et c'est lui qui explique pourquoi on ne peut pas joindre ta machine « directement » depuis internet.
Concepts
- NAT (source NAT) : la box remplace l'IP privée source par son IP publique et retient la correspondance (table de translation). La réponse revient, elle retraduit. Transparent… dans un sens.
- PAT (Port Address Translation) : quand plusieurs machines sortent, la box distingue les flux par le port source réécrit. C'est pour ça que
ssmontre des ports sources « aléatoires » élevés. - Redirection de port (DNAT) : règle statique « le port X public → machine Y:port Z ». Le seul moyen de rendre un service local joignable depuis internet (avec les risques associés : n'exposer que le nécessaire !).
Exemple : ouvrir proprement
Box → NAT/PAT → « 443 externe vers 192.168.1.10:443 » uniquement. Puis vérifier depuis l'extérieur (4G du téléphone, pas le WiFi maison qui peut tromper via loopback) : curl -sI https://mon-domaine.fr.
Cas réel
Nextcloud « inaccessible de l'extérieur mais parfait en local » : règle NAT présente… vers l'ancienne IP du serveur (changée au DHCP sans réservation). Classique absolu : NAT + réservation DHCP vont ensemble, toujours.
Pièges
- UPnP qui ouvre des ports tout seul (consoles, applis) : pratique, invisible, à auditer (
upnplist) ou désactiver. - Double NAT (box opérateur + ton routeur) : redirections à faire deux fois, ou mode bridge sur la box.
- CGNAT opérateur (IP publique partagée, de plus en plus fréquent en mobile/fibre) : aucune redirection possible depuis chez toi — il faut un VPS ou un tunnel sortant (WireGuard vers un serveur).
À retenir
NAT sortant = transparent, entrant = redirection explicite ; tester depuis dehors ; CGNAT = pas d'ouverture possible.