Le NAT 1/3 – Théorie

Vous cherchez à comprendre le fonctionnement du nat et surtout l’impacte réel sur votre réseau, dans ce cas, lisez la suite.

Cet article traite uniquement du fonctionnement. Un autre article viendra compléter celui-ci avec un exemple pratique sur iptables/mikrotik.

Nb: pour bien comprendre cet article, vous devez avoir quelques notions de base en réseau (tels que le routage ou encore la création de réseau)

Le NAT, c’est quoi ?

La mise en place du NAT tire son origine dans le manque d’adresse IP. Le nat permet donc à votre fournisseur internet de ne donner qu’une seule adresse ip par connexion internet tout en connectant plusieurs périphériques au réseau. Vos périphériques reçoivent eux aussi une adresse IP, mais de type « privée » (généralement 192.168.1.X).

Cependant, comme ce réseau est « privé », il n’est pas disponible sur internet, ce qui rend impossible la possibilité pour un ordinateur distant de vous répondre. Le but du nat est donc de réécrire les paquets réseaux à la volée pour y intégrer votre ip internet tout en mémorisant a qui le message de retour dois être adressé.

Note importante: le nat n’est en aucun cas une solution de sécurité.

 

Dans les exemples suivants, mon réseau local est en 10.192.203.X (mon ordinateur est en 10.192.203.50)

Le source nat ou le nat qui vous donne accès à internet.

Le source nat, remplace l’ip source dans le paquet réseau. C’est celui qui change votre ip 192.168.1.X en votre ip publique trouvable sur le réseau internet.

L’exemple qui suit va vous montrez cela en pratique. Je vais réaliser une capture via le logiciel wireshark avant le nat et après le nat pour bien vous montrer ce qui se passe.

srcnat-exemple-1

Comme vous pouvez le voir, l’ip source (10.192.203.50) est une ip de type locale et donc pas visible par internet. Si le paquet partait tel quel sur le réseau, il serait impossible pour la destination de pouvoir me répondre.

Cependant, voici ce que voit le serveur.

srcnat-exemple-2

Et la, l’ip source a été réécrite, ça n’est plus l’ip locale, mais mon ip internet (volontairement floutée). Du coup, le serveur sait à qui parler. Ensuite, le routeur mémorise que pour cette requête la réponse dois revenir à 10.192.203.50 (paquet numéro 2 sur la première capture) La réécriture se fait donc dans les 2 sens. mais concerne l’ip source uniquement.

Le destination nat ou le nat qui permet de faire un port forward.

Le destination nat permet de rediriger un service d’une ip externe vers l’ip interne. Le but étant d’héberger un service derrière un nat.

Tout comme dans ma précédente explication, voici 2 captures. La première est réalisée avant le NAT et la 2eme après.

dstnat-exemple-2

Dans cette capture, on voit bien que l’ip de destination, c’est l’ip internet sur laquelle le port forward est actif.

dstnat-exemple-1

Mais une fois le NAT traversé, l’ip de destination à été remplacée par l’ip local de la machine hébergeant le service (ici 10.192.203.50)

L’ip source quant à elle n’a pas été modifiée.

 

trouver du NAT ?

Le nat est aujourd’hui d’application sur tous les routeurs / box fournis par vos F.A.I. respectifs. Celui-ci étant un bricolage, il est important de noter qu’un déploiement vers IPV6 permettrait de résoudre le problème.

Il existe également un autre usage du nat plus communément appelé « Carrier Grade NAT » (ou CGN), c’est un nat qui permet aux F.A.I. de partager une seule adresse IP pour plusieurs abonnés (vu que vous n’avez pas la main sur ce nat, vous ne pouvez plus ouvrir de ports). Il est très largement déployé sur les réseaux mobiles et commence à faire son apparition sur les réseaux fixes tels que VOO ou PROXIMUS (il est possible de les contacter pour désactiver cela).

Pour savoir si vous êtes en CGN, il suffit de regarder l’ip internet sur votre box et de la comparer avec votre ip obtenue sur un site tel que http://monip.org. Si celle-ci diffère, vous êtes bien en carrier grade nat. De plus, la plage ip souvent utilisée est soit 10.0.0.0-10.255.255.255 ou encore 100.64.0.0 – 100.127.255.255

Plus d’infos sur le carrier grade nat

Pourquoi le nat est-il un problème ?

Tout d’abord, le nat est un vrai problème quand vous n’en avez pas le contrôle, car il vous empêche l’hébergement de tout service derrière votre connexion. Personnellement, je ne considère pas ce type de connexion comme un vrai accès internet, car celui-ci n’est pas neutre.

Quand vous en avez le contrôle, certains protocoles peuvent ne pas aimer la réécriture des paquets. Il est fréquent d’avoir des soucis liés au SIP ou encore au vpn de type PPTP si le routeur nat ne gère pas ces cas particuliers via certains protocoles spécifiques tels que SIP ALG (complémentaire au nat)

On peut donc considérer que le nat est une atteinte à la neutralité du réseau

Conclusion

Maintenant que vous voyez bien l’utilité du nat et son fonctionnement, nous allons pouvoir passer à la suite.

Le NAT 2/3 – Configuration d’un routeur linux

Le NAT 3/3 – Configuration d’un routeur basé sur mikrotik

Nb: ces articles sont en cours de rédaction, la suite arrive très rapidement.

 

1 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *