|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protection - Translation d'adresses (NAT)Principe du NATLe mécanisme de translation d'adresses (en anglais Network Address Translation noté NAT) a été mis au point afin de répondre à la pénurie d'adresses IP avec le protocole IPv4 (le protocole IPv6 répondra à terme à ce problème). En effet, en adressage IPv4 le nombre d'adresses IP routables (donc uniques sur la planète) n'est pas suffisant pour permettre à toutes les machines le nécessitant d'être connectées à internet. Le principe du NAT consiste donc à utiliser une passerelle de connexion à internet, possédant au moins une interface réseau connectée sur le réseau interne et au moins une interface réseau connectée à Internet (possédant une adresse IP routable), pour connecter l'ensemble des machines du réseau.
Il s'agit de réaliser, au niveau de la passerelle, une translation (littéralement une « traduction ») des paquets provenant du réseau interne vers le réseau externe. Ainsi, chaque machine du réseau nécessitant d'accéder à internet est configurée pour utiliser la passerelle NAT (en précisant l'adresse IP de la passerelle dans le champ « Gateway » de ses paramètres TCP/IP). Lorsqu'une machine du réseau effectue une requête vers Internet, la passerelle effectue la requête à sa place, reçoit la réponse, puis la transmet à la machine ayant fait la demande.
Étant donné que la passerelle camoufle complètement l'adressage interne d'un réseau, le mécanisme de translation d'adresses permet d'assurer une fonction de sécurisation. En effet, pour un observateur externe au réseau, toutes les requêtes semblent provenir de l'adresse IP de la passerelle. Espaces d'adressageL'organisme gérant l'espace d'adressage public (adresses IP routables) est l'Internet Assigned Number Authority (IANA). La RFC 1918 définit un espace d'adressage privé permettant à toute organisation d'attribuer des adresses IP aux machines de son réseau interne sans risque d'entrer en conflit avec une adresse IP publique allouée par l'IANA. Ces adresses dites non-routables correspondent aux plages d'adresses suivantes :
Translation statiqueLe principe du NAT statique consiste à associer une adresse IP publique à une adresse IP privée interne au réseau. Le routeur (ou plus exactement la passerelle) permet donc d'associer à une adresse IP privée (par exemple 192.168.0.1) une adresse IP publique routable sur Internet et de faire la traduction, dans un sens comme dans l'autre, en modifiant l'adresse dans le paquet IP. La translation d'adresse statique permet ainsi de connecter des machines du réseau interne à internet de manière transparente mais ne résout pas le problème de la pénurie d'adresse dans la mesure où n adresses IP routables sont nécessaires pour connecter n machines du réseau interne. Translation dynamiqueLe NAT dynamique permet de partager une adresse IP routable (ou un nombre réduit d'adresses IP routables) entre plusieurs machines en adressage privé. Ainsi, toutes les machines du réseau interne possèdent virtuellement, vu de l'extérieur, la même adresse IP. C'est la raison pour laquelle le terme de « mascarade IP » (en anglais IP masquerading) est parfois utilisé pour désigner le mécanisme de translation d'adresse dynamique. Afin de pouvoir « multiplexer » (partager) les différentes adresses IP sur une ou plusieurs adresses IP routables le NAT dynamique utilise le mécanisme de translation de port (PAT - Port Address Translation), c'est-à-dire l'affectation d'un port source différent à chaque requête de telle manière à pouvoir maintenir une correspondance entre les requêtes provenant du réseau interne et les réponses des machines sur Internet, toutes adressées à l'adresse IP du routeur. Port ForwardingLa translation d'adresse ne permet de relayer que des requêtes provenant du réseau interne vers le réseau externe, ce qu'il signifie qu'il est impossible en tant que tel pour une machine externe d'envoyer un paquet vers une machine du réseau interne. En d'autres termes, les machines du réseau interne ne peuvent pas fonctionner en tant que serveur vis-à-vis de l'extérieur. Pour cette raison, il existe une extension du NAT appelée « redirection de port » (en anglais Port Forwarding ou Port mapping) consistant à configurer la passerelle pour transmettre à une machine spécifique du réseau interne, tous les paquets réçus sur un port particulier. Ainsi, si l'on souhaite pouvoir accéder de l'extérieur à un serveur web (port 80) fonctionnant sur la machine 192.168.1.2, il sera nécessaire de définir une règle de redirection de port sur la passerelle, redirigeant tous les paquets TCP reçus sur son port 80 vers la machine 192.168.1.2. Port TriggeringLa plupart des applications client-serveur effectuent une requête sur un hôte distant sur un port donné et ouvrent un port en retour pour récupérer les données. Néanmoins, certaine applications utilisent plus d'un port pour échanger des données avec le serveur, c'est le cas par exemple du FTP, pour lequel une connexion est établie par le port 21, mais les données sont transférées par le port 20. Ainsi, avec le mécanisme NAT, après une demande de connexion sur le port 21 d'un serveur FTP distant, la passerelle attend une connexion sur un seul port et refusera la demande de connexion au port 20 du client. Il existe un mécanisme dérivé du NAT, appelé « déclenchement de port » (en anglais port triggering), permettant d'autoriser la connexion à certains ports (port forwarding) si une condition (requête) est remplie. Il s'agit donc d'une redirection de port conditionnelle, permettant de ne pas laisser ouvert un port en permanence, mais uniquement lorsqu'une application en a besoin. Plus d'informationsPour plus d'information il est conseillé de se reporter à à cet autre article, consacré à la translation d'adresse : Les RFC 1918 et 3022 (en anglais) décrivent en détail le principe d'espace d'adressage interne et de translation d'adresses :
Article écrit par Jean-François PILLOU Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||