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

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 523.Voir tous les posts

16 thoughts on “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
    • ouais vous avez raison c est de la NAT dunamique avec saturation (overload)

      Répondre
  • en tapant la commande debug ip nat le message qui s’affiche est la suivante :IP NAT debugging is on
    les deux reseaux ne communiquent pas, veuillez me donner des explication

    Répondre
    • Ensuite faites un ping depuis Postes LAN sur 10.0.0.2 et cela va générer des logs si les configurations sont bien faites.

      Répondre
  • Bonjour,
    merci pour ce tutoriel. Cependant, un point m’a échappé. Dans le paragraphe III, vous écrivez :

    « 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. »

    D’où viennent les réseaux 192.168.1.0 et 192.168.2.0 ?

    En vous remerciant.

    Répondre
    • C’est une erreur, remplacer 192.168.1.0 par 10.0.0.0 (le réseau public) et 192.168.2.0 par 192.168.0.0 (le réseau privé).

      Répondre
  • Bonjour,

    Il y a une erreur sur l’image « Schéma pour mettre en place notre NAT » : dans le sens retour R1 vers Postes NAT, c’est l’IP de destination qui est convertie de 10.0.0.1:1001 à 192.168.0.10, et non l’IP source qui reste 10.0.0.2, comme on peut le voir à la 2e ligne de l’image « Debug de la translation d’adresse (NAT) sur le routeur Cisco ».

    Cordialement,

    Répondre
  • Bonjour, j’ai un routeur C4200 dont je souhaite configurer du nat et il ne fonctionne en faisant <>
    !
    interface Loopback65528
    vrf forwarding 65528
    ip address 192.168.1.1 255.255.255.255
    !
    interface GigabitEthernet0/0/0
    ip address 1.2.3.30 255.255.255.0
    ip nat outside
    negotiation auto
    !
    interface GigabitEthernet0/0/1
    ip address 10.0.0.254 255.255.255.0
    ip nat inside
    negotiation auto
    !
    no ip http server
    ip http secure-server
    ip forward-protocol nd
    ip nat settings central-policy
    ip nat settings gatekeeper-size 1024
    ip nat route vrf 65528 0.0.0.0 0.0.0.0 global
    no ip nat service H225
    no ip nat service ras
    no ip nat service rtsp udp
    no ip nat service rtsp tcp
    no ip nat service netbios-ns tcp
    no ip nat service netbios-ns udp
    no ip nat service netbios-ssn
    no ip nat service netbios-dgm
    no ip nat service ldap
    no ip nat service sunrpc udp
    no ip nat service sunrpc tcp
    no ip nat service msrpc tcp
    no ip nat service tftp
    no ip nat service rcmd
    no ip nat service pptp
    ip nat inside source static 10.0.0.1 1.2.3.30

    Répondre
  • j’ai oublié de préciser mon architecture,
    j’ai un routeur qui est relié par deux switchs et chaque switch est relié à une machine dont les edresses IP sont : PC1 (10.0.0.1) et PC2 (1.2.3.1)

    Répondre

Répondre à GATTACA Annuler la réponse

Votre adresse e-mail 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.