Configuration d’un NAT dynamique sur un routeur Cisco

I. Présentation

Le NAT ou "Network Address Translation" est une bonne réponse aux problématiques de routage que l'on peut rencontrer lorsque l'on souhaite lier un réseau dit "privé" (c'est à dire sur lequel nous avons la main) à un réseau dit "publique" (sur lequel nous ne pouvons modifier la configuration). Le but du NAT quand il est mit sur un routeur séparant deux réseaux comme ceux-ci est de faire passer toutes les requêtes provenant du réseau privé (que nous identifierons comme le LAN) comme des requêtes provenant de ce routeur est nous d'un élément derrière lui possédant un autre adressage.  Souvent, la problématique à laquelle peut répondre le NAT est la suivante :

NAT Cisco
Schéma de base où le NAT pourrait intervenir

On voit ici que le réseau "privé" en vert  se situe derrière le routeur R2 sur lequel nous avons la main. Pour joindre les réseaux derrière R1, il nous faut mettre une route disant qu'il faut sortir par l'interface WAN du R2. En revanche, le routeur R1 ne saura pas faire revenir les paquets car il ne possède pas de route vers notre réseau LAN :

NAT Cisco
Souvent, on arrive à pinguer avec l'interface externe du Routeur frontière mais pas l'interface qui lui est liée

Le schéma ci-dessus illustre le cas de figure dans lequel on se retrouve souvent lorsque nous devons mettre en place du NAT. Le fait que le ping vers le routeur R1 ne fonctionne pas alors que celui sur l'interface externe du R2 fonctionne vient du fait que les paquets de réponse du routeur R1 n’empruntent pas le bon chemin car R1 ne connait pas le réseau privé et ne possède donc pas de route permettant de faire revenir les paquets.

Une autre fonction du du NAT est de sécuriser une partie du réseau en la cachant à une autre partie. Cela est utile en terme de sécurité quand un réseau privé est adjacent à un réseau public et que l’on peut voir ce réseau local depuis le réseau public. Plus clairement, le routeur R2 va changer toutes les trames IP provenant du LAN en mettant comme IP source son IP sur le réseau WAN. Cela permettra de ne pas divulguer des IP du LAN à d'autres éléments du réseau et également de faire en sorte ces paquets reviennent (car l'IP source sera sur un réseau connus des autres éléments du réseau).

Le principe du NAT est simple, le routeur fait office de barrière entre le réseau outside ( celui auquel on cache ) et le réseau inside ( celui que l’on cache ). Ainsi chaque requête provenant du réseau inside vers l’outside sera cachée par le NAT du routeur.
On dit qu'une NAT est dynamique lorsque les adresses sources (ici venant du LAN) sont translaté de façon dynamique (par des ports différents ou par des IP différentes si on en dispose) vers l'interfaces de sorties (ici WAN). Le routeur remplie sa table NAT de façon dynamique à l'inverse du NAT statique ou les translations sont saisies et enregistrés à l'avance

II. Configuration du réseau

Pour mettre en place notre infrastructure, nous allons travailler sur l'architecture présentée plus haut, détaillée au niveau réseau ici :

Cisco NAT
Schéma pour mettre en place notre NAT

Nous allons donc ici mettre en place notre NAT dynamiques sur le routeur R2. Ici, les routeurs R1 et R2 peuvent communiquer ensemble, mais le routeur R1 ne connais pas la route vers le réseau 192.168.0.0/24 donc il ne sait pas faire revenir les paquets s'ils ont été émis par les postes du LAN. En revanche, si R2 changent l'IP source des trames provenant du LAN en mettant sa propre IP, R1 saura y répondre, R2 fera alors la translation dans l'autre sens pour faire revenir les paquets à sa source. Ce processus est illustré dans le schéma suivant :

Cisco NAT
Schématisation du processus de Translation d'adresse (NAT)

III. Configuration du routeur

On va a présent configurer notre routeur R2 :

R2>enable
R2#configure terminal
R2(config)#interface fa0/0
R2(config-if)#ip address 192.168.0.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface fa0/1
R2(config-if)#ip address 10.0.0.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit

A ce stade, les deux réseaux sont reliés mais chacun peut voir la présence de l’autre. nous voulons que le réseau 192.168.1.0 ne puisse pas joindre le réseau 192.168.2.0 mais que l’inverse soit possible.

IV. Configuration du NAT

On doit ensuite indiquer quelle interface sera à l'intérieur du NAT ("inside") et quelle interface sera à l'extérieur ("outside"). Cela permettra de dire au routeur dans quel sens il doit affecter les translations d'adresses. Ici, l'interface Fa0/0 (192.168.0.1) sera l'interface Inside et l'interface Fa0/1 (10.0.01) sera l'interface Outside.

R2(config)#interface fa0/0
R2(config-if)#ip nat inside
R2(config-if)#exit
R2(config)#interface fa0/1
R2(config-if)#ip nat outside
R2(config-if)#exit

On va ensuite créer les règles d'accès qui permettra au LAN de sortir du NAT :

R2(config)#access-list 1 permit 192.168.0.0 0.0.0.255
R2(config)#ip nat inside source list 1 interface fa0/1 overload

Le processus de translation d'adresse est maintenant opérationnel.

V. Test du NAT

Pour vérifier que notre routeur est bien en mode NAT, nous devrions pouvoir communiquer à présent avec le routeur R1 depuis le poste LAN. Avant cette communication, nous pouvons  saisir la commande suivante dans notre routeur R2 :

R2#debug ip nat

On va ensuite communiquer avec notre routeur R1 et nous devrions voir les étapes de translation d'adresse s'afficher :

Cisco NAT
Debug de la translation d'adresse (NAT) sur le routeur Cisco

Cette commande permet de voir les paquets qui transitent au travers du routeur en utilisant le NAT, ainsi nous voyons le processus d'action du NAT sur le paquet.

VI. A vos claviers

Je vous propose à présent de mettre en application ce tutoriel via un exercice packet tracer que je vous ai préparé. Il vous suffit pour cela de télécharger le fichier .pka suivant et de vous assurer que Packet Tracer version 6 est installé sur votre poste pour le lancer :

download-pka-hover

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    8 pensées sur “Configuration d’un NAT dynamique sur un routeur Cisco

    • Merci pour les explications claires. Mais à ce que je sache, pour le NAT dynamique une pool d’adresse publique est déterminer ds le routeur de bordure. Pourquoi vous ne l’avais pas fais?

      Répondre
    • Bjr aidée moi svp, je n arrive pas a faire communiquer deux reseaux de different network comment faire merci beaucoup

      Répondre
    • Bonjour,
      Impossible de tétécharger le fichier Packet Tracer, il m’ouvre une page de hiéroglyphes, illisibles mais je vais quand même le tester.

      Merci por les explications

      Répondre
    • çà c’est de la NAT overload (PAT) … sur la NAT un pool d’adresses publiques est ajouté …

      Répondre

    Laisser un commentaire

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

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.