الأحد، 21 فبراير 2016

NAT et PAT (ccna4)

1. Adressage privé et public
La très forte croissance et popularité d’Internet dans le début des années 90 ont menée très rapidement à la saturation des adresses pouvant être fournies par le protocole IP version 4. C’est entre autres pourquoi le système d’adressage privé a été élaboré, de manière à ralentir l’inévitable, à savoir l’épuisement de toutes les adresses IPv4.

Les plages d’adresses privées définies par la RFC 1918 sont les suivantes :
Classe d’adresses
Plage d’adresses privées
CIDR correspondant
A
De 10.0.0.0 à 10.255.255.255
10.0.0.0/8
B
De 172.16.0.0 à 172.31.255.255
172.16.0.0/12
C
De 192.168.0.0 à 192.168.255.255
192.168.0.0/16


Ces plages d’adresses privées utilisées conjointement à la translation d’adresses, permettent à plusieurs réseaux d’utiliser les mêmes adresses. La translation d’adresse prend alors tout son intérêt en translatant, ou remplaçant, les adresses privées en une ou plusieurs adresses publiques afin de transiter sur Internet.

Ceci crée donc plusieurs « cellules » d’adresses privées pouvant être identiques pour différents réseaux, sachant que chaque cellule ne serait accessible depuis Internet que par la ou les adresses publiques attribuées à chaque entreprise.

Les adresses privées étant réservée à un usage interne, ces adresses ne peuvent pas être utilisées directement sur Internet. C’est pourquoi les routeurs de bordure des FAI sont configurés pour empêcher le routage de ces adresses.

2. Translation d’adresses
La translation d’adresse est un processus générique permettant la substitution d’une adresse par une autre, et permet ainsi de masquer les adresses privées des réseaux locaux derrière une adresse publique.
processus existe sous deux variantes :

• NAT (Network Address Translation)
· Statique
· Dynamique
• PAT (Port Address Translation)

2.1. Principe du NAT

Le NAT a été fait pour économiser des adresses IP en permettant la translation d’adresses IP privées (RFC1918), internes a une entité (une entreprise, une école etc.) en une ou plusieurs adresses IP publiques routable sur Internet.

Remarque : l’adresse IP utilisée pour la translation n’est pas forcement une adresse IP public et peut être à nouveau une adresse IP privée qui, à son tour, pourra être translatée.

Cette translation d’adresse est effectuée principalement sur les routeurs de bordure d’une entreprise connectée à Internet. Le réseau utilisant les adresses IP privées est ainsi appelé le réseau interne (inside), tandis que la partie du réseau utilisant des adresses IP publiques (Internet) est appelé le réseau externe (outside).

Quand un utilisateur du réseau interne (inside) souhaite communiquer avec un hôte du réseau externe (outside), le routeur reçoit le paquet avec l’adresse IP privée et réécrit le paquet en changeant l’adresse IP source avec l’adresse IP public du routeur (c’est l’opération de translation).

Le routeur consulte ensuite sa table de routage pour acheminer le paquet jusqu'à la bonne destination. Le destinataire recevra le paquet avec comme source l’adresse IP public du routeur et non l’adresse IP privée de l’hôte qui envoie le paquet dans le réseau interne.

Au-delà des appellations « inside » et « outside », Cisco défini 4 types d’adresses pour le NAT :

• Inside local address
· Adresse IP attribuée à un hôte dans le LAN.
• Inside global address
· Adresse(s) IP attribuée(s) par le FAI reconnue(s) par l’Internet pour représenter le LAN.
• Outside local address
· Adresse IP d’un hôte du réseau externe telle qu’elle est connue par les utilisateurs du réseau interne. La plupart du temps, celle-ci est identique à l’ « outside global address ».
• Outside global address
· Adresse IP attribuée à un hôte dans le réseau externe.

Le NAT peut être utilisé dans plusieurs cas, cependant il peut être configuré de deux manières différentes statiquement ou dynamiquement.

• Le NAT statique translate une adresse IP privée avec toujours la même adresse IP public. S’il y a 4 utilisateurs nécessitant une translation d’adresse, il faudra donc utiliser 4 adresses IP publiques.

• Le NAT dynamique translate une adresse privée avec une adresse IP publique appartenant à un pool d’adresses. L’adresse IP publique utilisée pour la translation n’est donc pas toujours la même. S’il n’y a pas assez d’adresses IP publiques disponibles les utilisateurs devront attendre qu’une adresse se libère pour pouvoir être translaté.

L’avantage du NAT, en plus de la grande économie d’adresses IP, est de ne pas avoir à refaire tout l’adressage IP lorsque l’on change de fournisseur d’accès internet.

Cette technologie apporte également de la sécurité au sein du réseau interne puisque les machines qui s’y trouvent ne sont pas accessibles depuis l’extérieur.

2.2. Principe du PAT

Le PAT (Port Address Translation) ou Overloading permet d’attribuer une seule adresse IP publique pour la translation de plusieurs adresses IP privées. Chaque utilisateur est différencié grâce à un numéro de port unique qui lui est attribué lorsqu’il souhaite communiquer.

Etant donné qu’il existe 65536 ports différents, un routeur pourrait translater jusqu’à 65536 adresses IP privées différentes. Cependant en réalité, un équipement ne peut gérer en moyenne que la translation d’environ 4000 ports par adresse IP publique.

3. Configuration
3.1. Commandes
• ip nat inside
· Mode de configuration d’interface
· Spécifie l’interface inside.
· Complémentaire des autres commandes NAT

• ip nat outside
· Mode de configuration d’interface
· Spécifie l’interface outside
· Complémentaire des autres commandes NAT

• ip nat inside source static {local-ip} {global –ip}
· Mode de configuration globale
· Etablie une translation statique entre une ‘Inside local address’ et une ‘Inside global address’

• access-list {numéro} permit {prefix} {wildcard_mask}
· Mode de configuration globale
· Spécifie le ou les réseaux autorisés à être translatés

• ip nat inside source list {numéro} pool {nom_du_pool}
· Mode de configuration globale
· Définie le pool qui va être translaté

• ip nat pool {nom_du_pool} {première-ip} {dernière-ip} netmask {masque_de_sous-reseau}
· Mode de configuration globale
· Spécifie le pool d’adresses IP : toutes les adresses IP entre première-ip et dernière-ip

• ip nat inside source list {numéro} interface type {numéro} overload
· Mode de configuration globale
· Configuration du PAT sur l’interface outside

clear ip nat translation
· Mode privilégié
· Configuration du PAT sur l’interface outside

3.2. Procédure de configuration
• Spécifier les interfaces outside et inside (ip nat outside / inside)
· NAT statique :
Spécifier chaque adresse une par une (ip nat inside source static ip1 ip2)

· NAT dynamique :
Spécifier le bloc privé
Spécifier le pool public
Activer le NAT avec le bloc privé et le pool public en argument.

· PAT :
Spécifier le bloc privé
Activer le NAT sur l’interface outside avec le bloc privé en argument.

3.3. Vérification
show ip nat translations
Mode privilégié
Affiche des informations sur chaque translation en cours en particulier le temps depuis lequel elle est active.

show ip nat statistics
Mode privilégié
Configuration du PAT sur l’interface outside

show running-config
Mode privilégié
Affiche la configuration du routeur.

debug ip nat
Mode privilégié
Affiche en temps réel toute les paquets translatés.