M21 Network Address Translation
Network Address Translation NAT Processus qui change l'adresse réseau par une autre dans un paquet IP Permet de mettre en relation un paquet privé et un paquet public
Network Address Translation Principe Les hôtes interne (inside) avec des adresses privées transmettent des paquets vers le routeur NAT Les adresses privées sont converties en adresse IP publique légale, autorisant les paquets à circuler sur le réseau public (Internet)
Network Address Translation Schéma de fonctionnement A B data port src port dst ip src 10.1.1.1 ip dst @B inside local outside global 52.1.5.2 10.1.1.1 52.1.5.2
NAT: le point de vue Selon votre point de vue, il existe deux position: inside: côté intérieur du réseau les adresses IP de votre réseau outside: côte extérieur du réseau les adresses IP hors de votre réseau
NAT: le point de vue Votre réseau possède donc: une adresse inside local: couramment appelée "adresse privée" une adresse inside global: votre "adresse privée" convertie en "adresse publique"
NAT: le point de vue réseau de l'organisation @ inside local (ex.: 10.0.0.1) réseau de l'opérateur @ inside global (ex.: 193.55.213.145) ISP inside local L'adresse IP de l'hôte local, telle qu'elle est visible dans le réseau local inside global L'adresse IP de l'hôte local, telle qu'elle est visible dans le réseau extérieur
NAT: le point de vue réseau de l'organisation @ outside local (ex.: 10.3.2.1) réseau de l'opérateur @ outside global (ex.: 193.55.213.145) ISP outside local L'adresse IP de l'hôte distant, telle qu'elle est visible dans le réseau local outside global L'adresse IP de l'hôte distant, telle qu'elle est visible dans le réseau extérieur
NAT Avantages & Inconvénients Réduit les incidents dues au chevauchement d'adresses Accroît la flexibilité lors d'une connexion à l'internet Evite la renumérotation des adresses si le réseau change La traduction introduit une fonction de commutation Perte de la traçabilité IP de bout-en-bout Certaines applications ne fonctionnent pas avec le NAT validé
NAT Avantages & Inconvénients Tous les hôtes internes n'ont pas besoin d'un accès externe au même moment NAT permet d'associer un grand nombre d'adresse d'hôtes avec des adresses privées à un pool réduit d'adresses globales n adresses inside local m adresses inside global (m<<n)
NAT Avantages & Inconvénients NAT est une solution pour les organisations dont le nombre d'adresses croit très vite NAT cache la structure du réseau interne NAT n'est pas un parefeu NAT évite les accès direct aux hôtes internes SAUF si ils ont une correspondance permanente dans la table de translation Exemple: un serveur web adresse privée 10.0.0.3 associée de manière statique à une adresse publique 193.55.213.145 Les hôtes Internet ou les DNS utilisent l'adresse publique
Types de NAT NAT statique NAT dynamique NAT overloading ou PAT (Port Address Translation) NAT statique de réseaux en chevauchement
NAT Statique Correspondance une à une entre des adresses publiques et des adresses privées 10.0.0.1 10.0.0.2 10.0.0.3 inside local inside global 10.0.0.1 193.55.213.145 10.0.0.2 193.55.213.131 10.0.0.3 193.55.213.132
NAT Statique: implémentation Cisco Définition du NAT (config)#ip nat inside source static local_inside global_inside Classification des interfaces (config)#interface type number (config-if)#ip nat inside (config)# interface type number (config-if)#ip nat outside
NAT Dynamique Correspondance de plusieurs à plusieurs entre un ensemble d'adresse IP (utilisation d'une ACL) une adresse IP appartenant à un groupe (pool) prédéfini d'adresses globales pool inside global 193.55.213.130 193.55.213.131 193.55.213.132
NAT Dynamique : implémentation Cisco Adresses locales soumises au NAT (config)#access-list 1 permit 10.0.0.0 0.0.0.255 Définition du pool d'adresses globales (config)#ip nat pool name start_ip end_ip
NAT Dynamique : implémentation Cisco Définition du NAT (config)#ip nat inside source list accesslist_number pool name Classification des interfaces (config)#interface type number (config-if)#ip nat inside (config)# interface type number (config-if)#ip nat outside
NAT Dynamique (mode Overload), ou PAT Correspondance plusieurs à une adresse globale Utilisation de ports différents pour différencier les flux inside local inside global 10.0.0.1 193.55.213.140:6000 10.0.0.2 10.0.0.3 193.55.213.140:6001 193.55.213.140:6002
PAT : implémentation Cisco Adresses locales soumises au NAT (config)#access-list 1 permit 10.0.0.0 0.0.0.255 Définition du NAT (config)#ip nat inside source list accesslist_number interface type number overload Classification des interfaces (config)#interface type number (config-if)#ip nat inside (config)# interface type number (config-if)#ip nat outside
NAT Statique de réseaux en chevauchement Un hôte possède une adresse appartenant à un réseau extérieur 3 serveur DNS x.x.x.x 1.1.1.1 145 26 1: Requête DNS SA=1.1.1.1 DA=x.x.x.x Q=B? 2: Requête DNS SA=2.2.2.2 DA=x.x.x.x Q=B? 3: Réponse DNS SA=x.x.x.x DA=2.2.2.2 Q=(B?) R=(B=1.1.1.2) 4: Réponse DNS SA=x.x.x.x DA=1.1.1.1 Q=(B?) R=(B=3.3.3.2) 5: Message vers C SA=1.1.1.1 DA=3.3.3.2 M="bonjour" 6: Message vers C SA=2.2.2.2 DA=1.1.1.2 M="bonjour"
NAT overlap: implémentation Cisco Idem méthode static avec des adresses IP du même réseau en inside et en outside
NAT et répartition de charge Principe: Réduire la charge d'un service sur un ensemble de machines réelles Fonctionne sur les flux tcp Les datagrammes entrant qui satisfont l'acl se voit remplacé l'adresse IP destination par un pool d'adresse (hôtes réels) L'affectation se fait pour toute nouvelle connexion seulement (pas de changement sur une session!)
NAT et répartition de charge inside outside Hôtes réels 3 10.0.0.1 10.0.0.2 1 1.1.1.1 10.0.0.3 2 4 Hôte virtuel 10.0.0.100 2.2.2.2 1: SA=1.1.1.1 DA=10.0.0.100 SYN prot inside local inside global outside global 2: SA=1.1.1.1 DA=10.0.0.1 SYN outside local tcp 3: SA=10.0.0.1 10.0.0.1:23 DA=1.1.1.1 10.0.0.100:23 [SYN] 1.1.1.1:3128 ACK 4: SA=10.0.0.100 DA=1.1.1.1 [SYN] ACK 1.1.1.1:3128 tcp 10.0.0.2:23 10.0.0.100:23 2.2.2.2:4153 2.2.2.2:4153 tcp hussenet10.0.0.3:23 l. 10.0.0.100:23 1.1.1.1:5142 1.1.1.1:5142
NAT Load Distribution: Implémentation Cisco Adresses locales soumises au NAT (config)#access-list 1 permit 10.0.0.0 0.0.0.255 Définition du pool d'adresses réelles (config)#ip nat pool name start_ip end_ip {netmask netmask prefix-length length } type rotary Définition du NAT (config)#ip nat inside destination-list access-listnomber pool name
Vérifications Affichage de la table de translation Routeur# show ip nat translations Debogage Routeur#debug ip nat