NAT & PAT - Translation d'adresses sur des routeurs Cisco

Cette procédure va vous expliquer comment fonctionnent les technologies NAT (Network Address Translation = Traduction d'adresse réseau) et PAT (Port Address Translation = Traduction de port (d'application) réseau) mais aussi comment les configurer sur un routeur de marque Cisco.

Toutes les machines connectées (PC, serveurs, imprimantes réseau, smartphones, télévisions multimédias...) disposent d'une adresse IP permettant de l'identifier sur le réseau. Il existe deux sortes d'adresses: les adresses privées et les adresses publiques.

Une adresse privée est seulement valable sur un réseau privé et ne peut donc pas être utilisé pour  communiquer sur un réseau public comme Internet. En effet, Internet n'accepte de véhiculer que des adresses publiques. Le principal intérêt de l'utilisation d'adresses IP privées est de disposer d'un grand nombre d'adresses pour bâtir ses réseaux privées (entreprises, domicile...) et ainsi de palier au cruel manque d'adresses IP publiques du réseau IP version 4.

Les plages d'adresses IPv4 privées sont les suivantes :

 - 10.0.0.0 -> 10.255.255.255 = 16 777 216 adresses réseaux possibles

 - 172.16.0.0 -> 172.31.255.255 = 1 048 576 adresses réseaux possibles

 - 192.168.0.0 -> 192.168.255.255 = 65 536 adresses réseaux possibles

On active le mécanisme de NAT sur les routeurs faisant le lien entre les réseaux privées et publics. Le principe général est de remplacer l'adresse IP source privée de la machine par l'adresse IP publique du routeur.

Dans la situation que je vais présenter, nous allons prendre une plage d'adresse IP privée de classe A : la plage 10.0.0.0 -> 10.255.255.255 ainsi qu'un serveur qui se situe dans l'internet et qui a pour adresse IP 60.0.0.254.

Commencons la configuration des deux interfaces (fastEthernet0/0 et fastEthernet1/0) du routeur :

Router>en

Router#configuration terminal

Router(config)#interface fastethernet 0/0

Router(config-if)#ip nat inside

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#interface fastethernet 0/1

Router(config-if)#ip nat outside

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#exit

Router#wr

La commande ip nat inside permet d'indiquer le réseau privé qui rentre dans le routeur et la commande ip nat outside indique la sortie du routeur direction le serveur.

Maintenant que les interfaces sont configurées en NAT, nous allons affecter les adresses IP a l'interface ethernet 0.

Router>en

Router#configuration terminal

Router(config)#interface fastethernet 0/0

Router(config-if)#ip address 10.0.0.254 255.0.0.0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#exit

Router#wr

Par défaut, un routeur possède des access-list ne permettant que très peu de d'accès (seulement les plus basiques). C'est pourquoi, nous allons ajouter une access-list qui permettra aux adresses de notre réseau privé d'accéder au serveur situé sur internet.

Router>en

Router#configuration terminal

Router(config)#access-list 20 permit 10.0.0.0 0.255.255.255

Router(config)#ip nat pool plage_nat 60.0.0.1 60.0.0.254 netmask 255.0.0.0

Router(config)#ip nat inside source list 20 pool plage_nat overload

Router(config)#exit

Router#wr

La première commande permet de créer une liste d'accès numérotée 20 qui autorise les adresses du réseau 10.0.0.0 d'accéder partout.

La deuxième commande créé une étendue de translation d'adresse allant de 60.0.0.1 jusqu'à 60.0.0.254.

La troisième commande applique la règle de filtrage numérotée 20 à la plage NAT (plage_NAT)

Si vous le souhaitez, vous pouvez télécharger la procédure qui est plus complète -> Confguration nat patConfguration nat pat (38.5 Ko)