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 :
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.