Comment plusieurs appareils partagent une adresse internet
Chez toi, dix appareils vont sur internet, mais ton fournisseur ne t’a donné qu’une seule adresse publique. Le NAT (Network Address Translation) fait le partage.
La box remplace l’adresse privée de chaque appareil par l’adresse publique, et rend chaque réponse au bon appareil.
À la fin, tu sauras connecter un petit bureau à internet et ouvrir un seul port.
À la fin de cette leçon
Remarque
Je peux connecter un petit bureau à internet en gardant ses appareils à l’abri.
Mots clés
| Mot | Ce que ça veut dire |
|---|---|
| NAT | le remplacement d’une adresse privée par une adresse publique, sur chaque paquet qui sort |
| Passerelle | l’appareil entre le réseau du bureau et internet |
| Port | un numéro qui dit à quel programme un message est destiné |
| Redirection de port | une règle qui envoie un port extérieur vers un seul appareil intérieur |
| Pare-feu | les règles qui disent ce qui a le droit de passer |
| Table NAT | la mémoire de la passerelle : qui a demandé quoi |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une adresse privée ne reçoit pas de réponse
Les adresses privées sont les mêmes dans des millions de maisons et de bureaux. Aucun routeur d’internet ne sait où est la tienne.
Une demande partie de ton ordinateur peut atteindre un site. Mais la réponse ne sait pas revenir. C’est le travail du NAT.
Découvre les trois machines
netlab statusAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Demande une page depuis l’intérieur
sudo ip netns exec lan curl --noproxy '*' -sS -m 3 http://203.0.113.2:8000/Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Demande la même page depuis la passerelle
sudo ip netns exec gw curl --noproxy '*' -sS -m 3 http://203.0.113.2:8000/Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une demande reçoit une réponse, l’autre pas
L’état montre gw avec deux adresses, 10.0.0.1 à l’intérieur et 203.0.113.1 à l’extérieur. La machine interne lan est 10.0.0.2.
Depuis lan, curl attend trois secondes puis affiche Connection timed out. Depuis gw, la page arrive tout de suite : outside-server: you are 203.0.113.1.
La passerelle remplace l’adresse et garde une note
Pour chaque paquet qui sort, la passerelle met sa propre adresse publique à la place de l’adresse privée. Elle note l’échange dans sa table.
Quand la réponse revient, elle lit la table et rend le paquet au bon appareil. Si deux appareils utilisent le même port, elle en change un.
Exemple travaillé : un bureau de trois ordinateurs
| Appareil | Part avec | Sort avec |
|---|---|---|
| Comptabilité | 192.168.1.10 port 41000 | 198.51.100.7 port 41000 |
| Accueil | 192.168.1.11 port 41000 | 198.51.100.7 port 41001 |
| Imprimante | 192.168.1.50 port 9100 | 198.51.100.7 port 9100 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Lis la mémoire de la passerelle
sudo ip netns exec gw conntrack -LAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
La passerelle suit chaque connexion
Chaque ligne est une connexion. Celle de lan montre UNREPLIED : aucune réponse n’est revenue. Celle de gw montre ASSURED : elle a eu sa réponse.
Une ligne dure environ deux minutes. C’est cette mémoire qui permet de rendre chaque réponse au bon appareil.
Une redirection ouvre un seul port vers l’intérieur
Le NAT marche pour ce qui part de l’intérieur. Une demande venue de dehors ne trouve aucune ligne dans la table : elle est jetée.
Pour montrer un site du bureau, tu ajoutes une redirection de port : le port extérieur 8080 va vers un seul serveur. Tout le reste reste fermé.
Lis les règles du pare-feu de la passerelle
sudo ip netns exec gw nft list rulesetAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une erreur fréquente
Attention
Beaucoup pensent que le NAT est un pare-feu. Il remplace seulement des adresses. Ce sont les règles du pare-feu qui décident ce qui entre. Ici, la règle policy drop de la chaîne forward jette ce qui vient de dehors. N’ouvre que les ports dont tu as besoin.