La traduction d'adresse réseau (NAT) est une méthode de mappage des adresses IP d'un groupe à un autre, permettant ainsi aux dispositifs utilisant des adresses privées d'accéder à Internet via une adresse publique. Une variante appelée traduction d'adresse de port réseau (NAPT) traduit également les ports TCP et UDP, ce qui permet à de nombreux dispositifs internes de partager une seule adresse IP publique. Les sites Web voient cette adresse publique partagée, et non le dispositif qui se trouve derrière elle.
Le NAT permet également de conserver les adresses IPv4. Les adresses privées ne sont valides que dans leur propre réseau, de sorte que les mêmes plages privées peuvent être réutilisées dans de nombreux réseaux distincts.
Plages d'adresses privées
La RFC 1918 réserve trois plages IPv4 pour les réseaux privés que le NAT traduit :
- 10.0.0.0 à 10.255.255.255 (10/8)
- 172.16.0.0 à 172.31.255.255 (172.16/12)
- 192.168.0.0 à 192.168.255.255 (192.168/16)
NAT de niveau opérateur (CGN)
Le NAT de niveau opérateur est un NAT exécuté à l'intérieur du réseau d'un fournisseur de services Internet pour partager une adresse IPv4 publique parmi plusieurs abonnés. Les FAI l'implémentent en réponse à la rareté des adresses IPv4. L'IETF a réservé 100.64.0.0/10 comme espace d'adresses partagées pour les adresses entre abonnés et le CGN.
Pourquoi le NAT est important pour le blocage IP et la géolocalisation
- Blocs partagés : Lorsque de nombreux utilisateurs partagent une adresse, le blocage de cette adresse restreint tous les utilisateurs, pas seulement celui qui a causé le blocage.
- Emplacement : Un utilisateur derrière un CGN se géolocalise à l'endroit où le préfixe d'adresse du CGN semble se trouver, ce qui peut être loin de la véritable localisation de l'utilisateur.
- Attribution : Derrière un CGN, une adresse IPv4 seule n'identifie plus un seul abonné. Des ports sources et des horodatages précis sont également nécessaires.
Types de NAT
- NAT statique : Chaque adresse privée est mappée un à un à une adresse publique fixe.
- NAT dynamique : Les adresses publiques sont attribuées aux hôtes privés selon les besoins et libérées lorsque la dernière session de l'hôte se termine.
- NAT de base : Ne traduit que les adresses, utilisant un bloc d'adresses publiques réservé pour les hôtes privés.
- NAT double : Change à la fois les adresses source et destination, généralement lorsque les espaces d'adresses privées et publiques se chevauchent.
Limitations du NAT
- Connexions entrantes : Le NAT traditionnel permet uniquement des sessions sortantes du réseau privé. Un hôte extérieur ne peut pas commencer une session avec un dispositif qui se trouve derrière lui.
- Adresses intégrées : Les applications qui transportent des adresses IP ou des ports à l'intérieur de la charge utile ont besoin d'une passerelle de niveau application (ALG) pour fonctionner à travers le NAT.
- IPsec de bout en bout : IPsec qui protège les adresses de point d'extrémité d'un paquet ne fonctionne pas avec le NAT dans le chemin pour la plupart des applications.