Configuration du NAT sur un routeur Cisco

Quand il s’agit d’interconnecter un réseau privé (que ce soit d’entreprise ou particulier), en IPv4, il est pratiquement impossible de se passer du NAT. Voici donc une configuration qui reprend l’essentiel des trois principaux types de NAT que l’on peut configurer, à savoir:

  • Le NAT statique
  • Le NAT dynamique avec pool d’adresses
  • Le NAT dynamique avec surcharge (NAT overload, aussi connu sous le nom de PAT)

Topologie du labo

nat

Le labo est divisé en deux parties, le côté privé (réseau de l’entreprise) et le côté publique (le FAI et Internet). le routeur ISP (qui représente le FAI), n’a aucune connaissance des réseaux privés de l’entreprise et ne peut donc rien router à destination des réseaux 192.168.x.x. (comme défini dans la RFC1918). Ces adresses sont réservées pour l’utilisation dans les réseaux privés. Il en va de même pour toutes les adresses faisant parties des plages suivantes:

  • 10.0.0.0/8 (de 10.0.0.0 à 10.255.255.255)
  • 172.16.0.0/12 (de 172.16.0.0 à 172.31.255.255)
  • 192.168.0.0/16 (de 192.168.0.0 à 192.168.255.255)

Dés lors, nous allons configurer le NAT afin de permettre un accès à Internet (simulé par l’adresse 8.8.8.8/32 configurée sur une interface loopback de ISP):

  • Le réseau 192.168.0.0/24 utilisera du NAT dynamique avec surcharge.
  • Le réseau 192.168.1.0/24 utilisera du NAT avec pool d’adresse.
  • La machine 192.168.1.100 sera accessible depuis le réseau publique grâce à une configuration de NAT statique.

Configuration de la topologie de base

Sur ISP:

Configuration de l’interface loopback

ISP#conf t
ISP(config)#int l0
ISP(config-if)#ip address 8.8.8.8 255.255.255.255
ISP(config-if)#exit

Configuration de la liaison sérielle vers R1

ISP(config)#int s0/0
ISP(config-if)#no shut
ISP(config-if)#ip address 80.79.100.1 255.255.255.252
ISP(config-if)#exit

Configuration de la route vers le pool d’adresses publique

ISP(config)#ip route 201.49.10.16 255.255.255.240 serial 0/0

Sur R1

Configuration de l’interface sérielle vers ISP

R1#conf t
R1(config)#int s0/0
R1(config-if)#ip address 80.79.100.2 255.255.255.252
R1(config-if)#no shut
R1(config-if)#exit

Configuration de l’interface du LAN1

R1(config)#int fa0/0
R1(config-if)#ip address 192.168.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit

Configuration de l’interface du LAN2

R1(config)#int fa0/1
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit

Configuration de la route par défaut

R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0

Pour le moment il est possible d’effectuer les tests suivants:

  • Effectuer un ping depuis chaque PC vers R1
  • Effectuer un ping entre les PCs de LAN différent
  • Effectuer un ping depuis R1 vers 8.8.8.8

Test de C1 à R1

VPCS[1]> ping 192.168.0.1
192.168.0.1 icmp_seq=1 ttl=255 time=70.000 ms
192.168.0.1 icmp_seq=2 ttl=255 time=54.000 ms
192.168.0.1 icmp_seq=3 ttl=255 time=67.000 ms
192.168.0.1 icmp_seq=4 ttl=255 time=65.000 ms
192.168.0.1 icmp_seq=5 ttl=255 time=63.000 ms

Test de C1 à C2

VPCS[1]> ping 192.168.1.10
192.168.1.10 icmp_seq=1 ttl=63 time=31.000 ms
192.168.1.10 icmp_seq=2 ttl=63 time=16.000 ms
192.168.1.10 icmp_seq=3 ttl=63 time=32.000 ms
192.168.1.10 icmp_seq=4 ttl=63 time=32.000 ms
192.168.1.10 icmp_seq=5 ttl=63 time=32.000 ms

Test de R1 à 8.8.8.8

R1#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/29/112 ms

Par contre impossible par exemple pour C1 de communiquer avec 8.8.8.8

VPCS[1]> ping 8.8.8.8
 8.8.8.8 icmp_seq=1 timeout
 8.8.8.8 icmp_seq=2 timeout
 8.8.8.8 icmp_seq=3 timeout
 8.8.8.8 icmp_seq=4 timeout
 8.8.8.8 icmp_seq=5 timeout

Configuration commune à tout type de NAT

La première chose à faire lorsque l’on configure du NAT, quel qu’en soit le type, c’est d’indiquer au routeur où se situe le réseau privé et où se situe le réseau publique.

Le NAT ne prend effet que lorsque qu’un paquet est routé d’une interface « inside » (côté privé) vers une interface « outside » (côté publique) et vice-versa.

Dans notre cas, les interfaces Fa0/0 et Fa0/1 sont du côté privé et seront déclarées comme « inside », l’interface S0/0 par contre, étant du côté publique, sera configurée comme « outside ».

R1(config)#int fa0/0
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int fa0/1
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int s0/0
R1(config-if)#ip nat outside
R1(config-if)#exit

Configuration du NAT statique pour C3

Ce que nous allons configurer ici c’est une translation statique dans la table de translation NAT, ce qu’on appelle vulgairement sur du matériel domestique « ouvrir un port ». Nous allons explicitement indiquer au routeur que ce qui arrive sur son interface publique (S0/0) et dont l’adresse destination est 201.49.10.30 (une des adresse du pool publique) doit être redirigé vers 192.168.1.100.

Du point de vue du routeur cela revient à modifier l’adresse IP destionation dans l’en-tête IPv4 avant de router le paquet. Cela signifie aussi que si C3 envoi un paquet vers internet, à la sortie de S0/0 de R1 l’adresse source (192.168.1.100) sera remplacée par l’adresse indiquée dans la translation, soit 201.49.10.30.

R1(config)#ip nat inside source static 192.168.1.100 201.49.10.30

La table de translations NAT doit mainentant ressembler à ceci:

R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 201.49.10.30  192.168.1.100 ---          ---
R1#

A présent C3 doit pouvoir communiquer avec le réseau publique

VPCS[3]> ping 8.8.8.8
8.8.8.8 icmp_seq=1 ttl=254 time=119.000 ms
8.8.8.8 icmp_seq=2 ttl=254 time=102.000 ms
8.8.8.8 icmp_seq=3 ttl=254 time=75.000 ms
8.8.8.8 icmp_seq=4 ttl=254 time=117.000 ms
8.8.8.8 icmp_seq=5 ttl=254 time=116.000 ms

Chaque paquet a donc été translaté, preuve en est la table de translations juste après l’émission de ces pings:

R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 201.49.10.30:33598 192.168.1.100:33598 8.8.8.8:33598 8.8.8.8:33598
icmp 201.49.10.30:33854 192.168.1.100:33854 8.8.8.8:33854 8.8.8.8:33854
icmp 201.49.10.30:34366 192.168.1.100:34366 8.8.8.8:34366 8.8.8.8:34366
icmp 201.49.10.30:34622 192.168.1.100:34622 8.8.8.8:34622 8.8.8.8:34622
icmp 201.49.10.30:34878 192.168.1.100:34878 8.8.8.8:34878 8.8.8.8:34878
--- 201.49.10.30 192.168.1.100 --- ---
R1#

On peut observer le résultat de la translation du côté de ISP aussi à l’aide de la commande « debug ip packet » qui va afficher le détail de chaque paquet IP traité par le routeur (Attention, dans un environnement réel cette commande peut gravement saturer le routeur).

ISP#debug ip packet

*Mar 1 02:22:49.491: IP: tableid=0, s=201.49.10.30 (Serial0/0), d=8.8.8.8 (Loopback0), routed via RIB

*Mar 1 02:22:49.491: IP: s=201.49.10.30 (Serial0/0), d=8.8.8.8, len 92, rcvd 4

*Mar 1 02:22:49.495: IP: tableid=0, s=8.8.8.8 (local), d=201.49.10.30 (Serial0/0), routed via FIB

*Mar 1 02:22:49.495: IP: s=8.8.8.8 (local), d=201.49.10.30 (Serial0/0), len 92, sending

Configuration du NAT avec pool d’adresses

Pour l’instant seul C3 a accès au réseau publique, nous allons maintenant configurer un autre type de NAT pour le réseau 192.168.1.0/24 (à l’exception de C3).

Ici, au lieu de configurer une translation statique, nous allons donner au routeur une plage d’adresses publiques (un pool d’adresse) dans laquelle il peut piocher pour créer dynamiquement les translations.

Tout d’abord créons le pool d’adresses

R1(config)#ip nat pool POOL-NAT-LAN2 201.49.10.17 201.49.10.30 netmask 255.255.255.240

Ici on crée donc une plage d’adresse nommée POOL-NAT-LAN2 allant de 201.49.10.17 à 201.49.10.30.

Il nous faut ensuite définir quelles adresses IP sources seront susceptibles d’êtres translatées … pour cela il faut créer une ACL.

R1(config)#access-list 1 deny 192.168.1.100
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255

On autorise donc à être translatées les adresses ip du réseau 192.168.1.0/24 sauf 192.168.1.100 (pour laquelle on a déjà une translation statique).

Il ne reste plus qu’à configurer le NAT en lui même

R1(config)#ip nat inside source list 1 pool POOL-NAT-LAN2

On instruit donc ici le routeur de créer dynamiquement une translation pour les paquets arrivant sur une interface « inside » routés par une interface « outside » dont l’adresse IP source correspond à l’ACL 1 et de remplacer l’IP source par une de celles comprises dans le pool POOL-NAT-LAN2.

Attention, si il y a plus de machine dans le réseau privé que d’adresses publiques disponibles, il faut alors rajouter le mot clé « overload » à la commande:

R1(config)#ip nat inside source list 1 pool POOL-NAT-LAN2 overload

Ceci permet de « partager » les adresses publiques en translatant également les numéros de ports dans l’entête de la couche transport (méthode communément appelée PAT).

A présent C2 (et les autres machines qui seraient dans le réseau 192.168.1.0/24) peuvent communiquer avec l’extérieur.

VPCS[2]> ping 8.8.8.8
8.8.8.8 icmp_seq=1 ttl=254 time=111.000 ms
8.8.8.8 icmp_seq=2 ttl=254 time=97.000 ms
8.8.8.8 icmp_seq=3 ttl=254 time=143.000 ms
8.8.8.8 icmp_seq=4 ttl=254 time=131.000 ms
8.8.8.8 icmp_seq=5 ttl=254 time=99.000 ms

La table de translation de R1 a maintenant une nouvelle entrée crée dynamiquement, mais qui réserve l’adresse publique pour C2 (tant que l’on ne purge pas la table NAT).

R1#sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- 201.49.10.17 192.168.1.10 --- ---
--- 201.49.10.30 192.168.1.100 --- ---
R1#

Configuration du NAT dynamique avec surcharge (sans pool)

Il reste encore à configurer R2 pour que le réseau 192.168.0.0/24 puisse accéder à l’extérieur. Pour cela nous allons configurer le troisième type de NAT, à savoir du NAT dynamique avec surcharge (overload) en utilisant l’adresse publique configurée sur l’interface S0/0 de R1.

Notez que c’est la configuration la plus courante dans un réseau modeste (par exemple dans un réseau domestique). Cette méthode ne requiert pas d’obtenir de nouvelles adresses publiques auprès du provider.

Nous devons cette fois aussi identifier les adresses sources à faire passer par le NAT, donc nous créons une nouvelle ACL.

R1(config)#access-list 2 permit 192.168.0.0 0.0.0.255

Il ne reste plus qu’à configurer le NAT.

R1(config)#ip nat inside source list 2 interface serial 0/0 overload

Nous disons ici au routeur de translater les paquets provenant des adresses décrites dans l’ACL 2 (192.168.0.0/24) et de remplacer l’adresse IP source par celle configurée sur l’interface Serial 0/0 en la surchargeant pour permettre à plus d’une machine de communiquer avec l’extérieur (PAT).

C1 (ainsi que toute machine de ce réseau) peut communiquer avec l’extérieur désormais

VPCS[1]> ping 8.8.8.8
8.8.8.8 icmp_seq=1 ttl=254 time=132.000 ms
8.8.8.8 icmp_seq=2 ttl=254 time=130.000 ms
8.8.8.8 icmp_seq=3 ttl=254 time=127.000 ms
8.8.8.8 icmp_seq=4 ttl=254 time=112.000 ms
8.8.8.8 icmp_seq=5 ttl=254 time=125.000 ms

Le « debug ip packets » sur ISP donne le résultat suivant

ISP#
*Mar 1 03:11:46.195: IP: tableid=0, s=80.79.100.2 (Serial0/0), d=8.8.8.8 (Loopback0), routed via RIB
*Mar 1 03:11:46.195: IP: s=80.79.100.2 (Serial0/0), d=8.8.8.8, len 92, rcvd 4
*Mar 1 03:11:46.199: IP: tableid=0, s=8.8.8.8 (local), d=80.79.100.2 (Serial0/0), routed via FIB
*Mar 1 03:11:46.199: IP: s=8.8.8.8 (local), d=80.79.100.2 (Serial0/0), len 92, sending

On voit là que c’est bien l’adresse de S0/0 qui est utilise pour remplacer l’IP source du paquet.

 

VN:F [1.9.22_1171]
Rating: 9.7/10 (16 votes cast)
Configuration du NAT sur un routeur Cisco, 9.7 out of 10 based on 16 ratings
Posté dans Cisco, La pratique, Routing
Tags : , , , , , , , ,
48 commentaires pour “Configuration du NAT sur un routeur Cisco
  1. Frédéric (Strasbourg) dit :

    Bonjour,

    Grand fan de CiscoMadeSimple, je vais commencer par vous remercier pour votre boulot avant de râler… :-)

    C’était juste pour dire que « translation » en anglais veut simplement dire « traduction ». On parle de « traduction d’adresses » et non de « translation d’adresses ». Mais bon, je dis moi aussi « translation » ;-)

    Et comme je suis toujours aussi fan de votre site, je termine en vous souhaitant bonne continuation ! ;-)

    • Merci pour ce commentaire, avoir une réaction sur un article est toujours agréable.
      Ceci dit… les traductions littérales ne sont pas toujours ce qu’il y a de mieux. Traduire une adresse n’a pas de sens ici. On parle d’IPv4 des deux côtés. Ce serait comme parler de traduction du français au français. C’est pour cela que j’utilise le terme translation… qui représente un glissement … ou un décallage entre les adresses publiques et privées.

      • Frédéric (Strasbourg) dit :

        Bonjour Steve.

        Le terme « translation d’adresse » est connu de tous, donc pas de risque de ne pas comprendre votre article. Ils sont tous clairs et instructifs. J’ai commencé par me monter un RackLack puis, après la lecture de « Créer son labo Cisco personnel », j’ai vidé eBay de quelques bonnes affaires… :-)

        Pour la translation, ça a du sens pour passer de 192.168.0.x à 10.0.0.x par exemple. Ou de 192.168.0.10-20 à 192.168.0.30-40. Mais dans le NAT, on n’a pas un simple « glissement », mais un ensemble d’IPs qui sont « transformées » en une seule IP publique, par exemple.

        Certes, c’est de l’IPv4, mais on traduit un IPv4 externe en IPv4 interne, pour que chaque réseau comprenne. Internet n’a pas connaissance de 192.168.x.x, il faut donc lui traduire ça.

        Bref, clairement pas grave. Mais j’en avais discuté avec un traducteur qui travaille sur de nombreux livres et projets autour de Linux. Il me l’avait expliqué bien mieux que je suis en train de le faire ! ;-)

        Merci pour votre article. Clair et assez complet pour avoir envie de mettre les mains dans IOS !

  2. Raizo62 dit :

    Bonjour

    Je pense qu’il y a une petite erreur d’adresse IP dans la configuration du nat statique pour C3 dans R1 : « ip nat inside …. 201.49.100.30″. Je suppose qu’il s’agit plutôt de « 201.49.10.30″.

    • Exact, une faute de frappe ou une touche restée coller. C’est corrigé. Merci!

      • ibinda dit :

        Bonjour,

        J’essaie de confugurer un NAT sur packet tracer,
        pourras-tu m’aider?

        y-a -t-il un moyen de joindre un fichier?

        voila la conf de mon router master;

        R-MASTER#show running-config
        Building configuration…

        Current configuration : 1201 bytes
        !
        version 12.4
        no service timestamps log datetime msec
        no service timestamps debug datetime msec
        no service password-encryption
        !
        hostname R-MASTER
        !
        !
        !
        !
        !
        ip dhcp pool LAN2
        network 192.168.10.128 255.255.255.192
        default-router 192.168.10.190
        ip dhcp pool LAN3
        network 192.168.10.64 255.255.255.192
        default-router 192.168.10.126
        !
        !
        !
        !
        !
        !
        !
        !
        !
        spanning-tree mode pvst
        !
        !
        !
        !
        interface FastEthernet0/0
        no ip address
        ip helper-address 193.10.10.15
        ip nat inside
        ip virtual-reassembly
        duplex auto
        speed auto
        !
        interface FastEthernet0/0.11
        encapsulation dot1Q 11
        ip address 10.10.11.254 255.255.255.0
        ip nat inside
        !
        interface FastEthernet0/0.12
        encapsulation dot1Q 12
        ip address 10.10.12.254 255.255.255.0
        ip nat inside
        !
        interface FastEthernet0/1
        ip address 193.10.10.15 255.255.255.0
        ip nat outside
        ip virtual-reassembly
        duplex auto
        speed auto
        !
        interface Vlan1
        no ip address
        shutdown
        !
        router ospf 1
        log-adjacency-changes
        network 10.10.11.0 0.0.0.255 area 0
        network 193.10.10.0 0.0.0.255 area 0
        !
        ip nat inside source list 1 interface FastEthernet0/1 overload
        ip classless
        !
        !
        access-list 1 permit any
        !
        !
        !
        !
        !
        line con 0
        !
        line aux 0
        !
        line vty 0 4
        login
        !
        !end,

        sur ce même routeur lorsque j’effectue un ping ailleurs sur un autre équipement,
        il est ok le ping mais je ne vois rien passer sur le routeur à partir de la commande show ip nat translations,

        quelqu’un pourrait m’aider?
        comment on peut joindre une imange sur le site?

        Cdt,

        • A priori le problème ne vient pas du NAT, je penche plutôt pour un problème de routage. Je ne connais pas ta topologie, mais OSPF n’est déjà pas activé pour toutes les interfaces côté LAN. La Fa0/0.12 manque … donc impossible déjà de former une adjacence de ce côté là (je ne sais pas si il y a un routeur ou autre).

          Le fait que le routeur ne génère pas de translation, c’est tout à fait normal, puisque si tu veux envoyer un ping vers une machine côté publique le routeur utilisera son interface publique pour le faire.

          Si tu veux le forcer à le faire depuis le réseau interne => ping source interface

          Pour insérer une image, tu peux simplement l’uploader qque part et coller le lien dans le commentaire .. ou alors mieux … passe par le forum. Il y a la possibilité d’intégrer images etc (du moment qu’elles sont accessible qque part).

          • ibinda dit :

            Bonsoir,

            côté routage je pense que qu’il n ‘ y a pas de pb,
            Pour la nat j’ai essayé d’appliquer vos explications
            ,
            j’ai pu uploader l’image,

            http://sendbox.fr/pro/1wy2zspsb5z8/essaie_NAT_TP_regroupement.pkt.html

            en attendant de vous lire,

            cdt,

          • La config marche correctement … le problème vient du fait que dans le « cloud » auquel est raccordé le routeur qui fait le NAT, il n’y a pas d’hôte joignable… c’est juste une interface …
            Toute fois en testant depuis un des PC un ping vers 193.10.10.50 … il n’y a bien sur pas de réponse, mais les translations apparaissent bien dans la table nat. A noter qu’il faut vérifier très vite, dans PacketTracer, les translations ICMP ne durent que quelques secondes.

  3. Article clair qui a le mérite de donner envie de lire de bout en bout !

  4. chan dit :

    bonjour,

    merci pour cette article, mais je me pose la question. Quelle configuration je dois appliquer, si j ‘ai plusieurs sous-réseaux du au VLAN que j’ai créé .
    sachant, que je veux mettre en place du NAT dynamqiue overload ( PAT ) vu que mon FAI, me fournit qu’une seule adresse publique

    j’attends vos propositions.

    cordialement,

    • C’est le cas sans doute le plus simple:

      • définir les interfaces inside et outside
      • créer une access-list standard reprennant une règle « permit » pour chaucun des réseaux
      • Appliquer la règle nat du type: ip nat inside source list n°ACL interface intSortie overload
  5. Miyondre dit :

    Bonsoir Steve

    Svp Est ce que vous pouvez me donner un exemple d’un routage inter vlan d’un commutateur de niveau 3, pour interconnecter 7 sous Rx différents?

    J’en ai énormement besoin. Merci d’avance pour votre aide.

    Cordialement;

    • Alors pour le routage inter-vlan entre 7 sous-réseaux avec un MLS (MultiLayer Switch) comme un 3550 ou 3560 par exemple il faut:

      • Activer le routage IPv4
      • Créer les 7 vlans
      • Créer 7 interfaces VLAN et leur attribuer une adresse dans le sous-réseau en question
      • Placer les interfaces physiques dans les différents VLANS ou alors configurer des trunks vers d’autres switches

      Exemple:
      switch(config)# ip unicast-routing
      switch(config)# vlan 10
      switch(config-vlan)# exit
      switch(config)# vlan 20
      switch(config-vlan)# exit
      switch(config)# vlan 30
      switch(config-vlan)# exit
      switch(config)# vlan 40
      switch(config-vlan)# exit
      switch(config)# vlan 50
      switch(config-vlan)# exit
      switch(config)# vlan 60
      switch(config-vlan)# exit
      switch(config)# vlan 70
      switch(config-vlan)# exit
      switch(config)# interface vlan 10
      switch(config-if)# ip address 192.168.10.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 20
      switch(config-if)# ip address 192.168.20.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 30
      switch(config-if)# ip address 192.168.30.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 40
      switch(config-if)# ip address 192.168.40.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 50
      switch(config-if)# ip address 192.168.50.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 60
      switch(config-if)# ip address 192.168.60.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit
      switch(config)# interface vlan 70
      switch(config-if)# ip address 192.168.70.1 255.255.255.0
      switch(config-if)# no shutdown
      switch(config-if)# exit

      Pour la routage inter-vlan c’est tout … le reste c’est de la config de base de switch (port d’accès, placer dans un vlan etc)…

  6. Miyondre dit :

    Merci beaucoup STEVE pour cet exemple. Cette config fonctionne correctement.
    Mais j’ai encore un autre souci. Mon routeur de périphérique dont la config ci-dessous NAT pour un pool d’@ ip publique ne marche pas. Qu’elle peut en être la cause ?

    ROUTER (PERIPHERIQUE)
    !
    interface FastEthernet0/0
    ip address 192.168.88.177 255.255.255.240
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 192.168.88.161 255.255.255.240
    ip helper-address 192.168.88.180
    ip nat inside
    duplex auto
    speed auto
    !
    interface FastEthernet0/1.10
    encapsulation dot1Q 10
    ip address 192.168.88.1 255.255.255.224
    !
    interface FastEthernet0/1.20
    encapsulation dot1Q 20
    ip address 192.168.88.33 255.255.255.224
    !
    interface FastEthernet0/1.30
    encapsulation dot1Q 30
    ip address 192.168.88.65 255.255.255.224
    !
    interface FastEthernet0/1.40
    encapsulation dot1Q 40
    ip address 192.168.88.97 255.255.255.224
    !
    interface FastEthernet0/1.88
    encapsulation dot1Q 88
    ip address 192.168.88.129 255.255.255.224
    !
    interface Serial0/0/0
    no ip address
    shutdown
    !
    interface Serial0/1/0
    no ip address
    shutdown
    !
    interface Serial0/2/0
    ip address 209.164.20.23 255.255.255.240
    ip nat outside
    !
    interface Serial0/3/0
    ip address 183.30.128.1 255.255.255.252
    encapsulation ppp
    ppp authentication chap
    ip nat inside
    !
    interface FastEthernet1/0
    ip address 192.168.89.1 255.255.255.0
    duplex auto
    speed auto
    !
    interface FastEthernet1/1
    ip address 192.168.90.1 255.255.255.0
    ip nat inside
    duplex auto
    speed auto
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip nat pool PERIPOOL 209.164.20.17 209.164.20.29 netmask 255.255.255.240
    ip nat inside source list PERINAT pool PERIPOOL overload
    ip nat inside source static 192.168.90.254 209.164.20.30
    ip classless
    ip route 192.168.88.192 255.255.255.224 Serial0/3/0
    ip route 183.30.128.0 255.255.255.252 183.30.128.2
    ip route 0.0.0.0 0.0.0.0 Serial0/2/0
    ip route 192.168.90.0 255.255.255.0 FastEthernet1/1
    !
    !
    ip access-list standard PERINAT
    permit 192.168.88.0 0.0.0.31
    permit 192.168.88.32 0.0.0.31
    permit 192.168.88.64 0.0.0.31
    permit 192.168.88.192 0.0.0.31

    ROUTER FAI

    !
    interface Loopback1
    ip address 8.8.8.8 255.255.255.255
    !
    interface FastEthernet0/0
    ip address 207.210.200.1 255.255.255.224
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 202.163.208.1 255.255.255.240
    duplex auto
    speed auto
    !
    interface Serial1/0
    ip address 205.211.200.1 255.255.255.252
    clock rate 64000
    !
    interface Serial1/1
    no ip address
    shutdown
    !
    interface Serial1/2
    no ip address
    shutdown
    !
    interface Serial1/3
    no ip address
    shutdown
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip classless
    ip route 207.210.200.0 255.255.255.224 FastEthernet0/0
    ip route 209.164.20.16 255.255.255.240 Serial1/0

    SVP je suis impatient, et j’attends votre correction à ce sujet.
    Merci d’avance.

    • A première vue je dirais qu’il manque « ip nat inside » sur toutes les sub-interfaces Fa0/1.X. Ce sont les adresses sources de ces réseaux là qui doivent être natées (définit dans l’ACL PERINAT). A vérifier aussi si l’interface côté « publique » est bien en « ip nat outside ».

  7. Miyondre dit :

    MERCI STEVE DE JONGH
    Vous êtes magnifique. Mon Rx fonctionne correctement de bout en bout.
    Laissez-moi vous poser encore une autre question. Je viens d’ajouter tout de suite un autre routeur (comme étant une succursale) mais qui ne sort pas à l’extérieur. Ce routeur est connecté au routeur de périphérique dont la config ci-dessus, par le (S0/1 – S0/3/0)
    En voici la petite config.

    !
    no ip domain-lookup
    !
    !
    interface FastEthernet0/0
    no ip address
    duplex auto
    speed auto
    !
    interface FastEthernet0/0.8
    encapsulation dot1Q 8
    ip address 192.168.88.193 255.255.255.240
    ip nat inside
    !
    interface FastEthernet0/0.9
    encapsulation dot1Q 9
    ip address 192.168.88.209 255.255.255.240
    ip nat inside
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    shutdown
    !
    interface Serial1/0
    ip address 183.30.128.2 255.255.255.252
    encapsulation ppp
    ppp authentication chap
    clock rate 64000
    !
    interface Serial1/1
    no ip address
    shutdown
    !
    interface Serial1/2
    no ip address
    shutdown
    !
    interface Serial1/3
    no ip address
    shutdown
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip classless
    ip route 183.30.128.0 255.255.255.252 183.30.128.1
    ip route 192.168.89.0 255.255.255.0 183.30.128.1
    ip route 192.168.90.0 255.255.255.0 183.30.128.1
    ip route 209.164.20.16 255.255.255.240 183.30.128.1
    ip route 192.168.88.0 255.255.255.0 Serial1/0

  8. Miyondre dit :

    Laquelle?

    • Par rapport à la dernière config … tu me dis « Laissez-moi vous poser encore une autre question » … tu copie la config en question, mais tu ne me dis pas ce qui ne va pas ;-)

  9. Miyondre dit :

    Ahhhh! ok d’accord. Qu’est ce que je dois ajouter comme config pour que mon routeur (celui de mon succurssale) puisse aller sur le NET?

    Voici la question STEVE.

  10. Miyondre dit :

    STEVE DE JONGH

    Merci merci bcp pour tout !
    Mon Rx que je viens de concevoir fonctionne maintenant parfaitement.
    Soyez-en sûr, je reviendrais vers vous chaque fois que j’aurais un problème, pour que vous puissiez m’aider à le résoudre.

    Cordialement

  11. Sidney DEBACK dit :

    Merci Steve De Jongh votre article est une formation pour nous les débutants en administration réseau

  12. MatiZ dit :

    Super ton article! Clair, net et concis, ça va droit au but avec schémas et conf à l’appui. Le top du top! C’est sympa en tout cas de consacrer du temps aux autres (oui car j’imagine que tu fais cela pour partager tes connaissances).
    Continu comme ça et merci encore! ;)

  13. attia dit :

    Bonjour,

    merci pour cet excellent lab tres clair et tres complet
    Cdt

  14. Nico dit :

    Bonjour,
    J’ai le même type de configuration qui fonctionne très bien. Je dois y apporter une modification qui ne m’inspire aucune solution….
    Pour reprendre ta config, une autre interface fa0/2 de R1 est connectée à un routeur R2 puis un lan est connecté de l’autre coté de R2. Une adresse IP publique (exemple 201.49.10.20) doit être définie sur l’interface de R2 qui va vers R1. Ceci afin de monter un tunnel VPN à partir de R2 vers un routeur distant à travers internet. Or on ne peut pas definir d’adressage privée entre R1 et R2. Dans l’idéal R1 serait configuré en bridge mais dans ce cas ta configuration actuelle ne fonctionne plus. Et tous les flux ip doivent passer par S0/0 de R1. As-tu une piste stp? Cordialement,

    • Sans schéma de topologie je ne suis pas sur de bien comprendre la situation, toutefois, dans le cas ou R1 et R2 seraient directement connectés par le réseau ethernet auquel ils sont branchés, il suffit juste de définir une route par défait sur R2 pointant vers R1 (ce qui redirigera le trafic du LAN de R2 vers le net par la liaison entre R1 et R2), s’assurer que l’ACL utilisée pour le NAT sur R1 autorise les adresses des machines du lan de R2 et surtout ne pas oublier une route de retour sur R1 pointant vers le LAN de R2.

      Dans le cas où les deux routeurs ne partageraient pas un réseau commun (plusieurs routeurs entre eux), là il faut à mon avis par une solution plus délicate, à savoir configurer un tunnel (GRE par exemple) entre R1 et R2 et router le traffic du lan de R2 par le tunnel.

      En tout cas, dans un cas comme dans l’autre, l’interface de R1 qui mène à R2 n’est pas à inclure dans la config du NAT et R2 ne devrait pas avoir besoin de faire du nat non plus.

  15. Julien dit :

    Bonjour Steve merci pour ce tuto. utilisant vmware workstation je rencontre un souci pour pouvoir « pinger » ma passerelle. Après avoir bien configurer mon routeur ainsi que mon ordinateur final j’ai un request time out .. (Client vers R1) et entre r1 est isp aucun souci. FW désactivé sur mon client …

    Ai-je rater une étape ?

    Merci

    • Difficile de répondre comme ça. Comment VMWKS vient-il se greffer là dedans ? A quoi ressemble la topologie ? Comment sont agencés les réseaux et leurs adresses ? etc. Sans ça difficile d’en dire plus.

  16. Mahmoud Dieng dit :

    Bonjour Steve dans L’entreprise où je travaille l’architecture se présente comme suit 17 sites(1 routeur par site) ,dont chaque site est composé de 6 vlan ou plus.Je voulais simuler ceci sur packet tracer mais les ping sont bloqués au dernier routeur avant le poste pingé voici l’architecture et la config que j’ai fait

    PC1 (VLAN1), PC2(VLAN2)—–router1+++++router2—–PC3(VLAN1),PC2(VLAN2)

    Router 1

    interface FastEthernet0/0.1
    no ip address
    !
    interface FastEthernet0/0.10
    encapsulation dot1Q 10
    ip address 172.168.10.1 255.255.255.0
    !
    interface FastEthernet0/0.20
    encapsulation dot1Q 20
    ip address 172.168.20.1 255.255.255.0
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    shutdown
    !
    interface Serial0/1/0
    ip address 192.168.10.1 255.255.255.252
    clock rate 2000000
    !
    interface Serial0/1/1
    no ip address
    clock rate 2000000
    shutdown
    !
    interface Vlan1
    no ip address
    shutdown
    !
    router ospf 1
    log-adjacency-changes
    network 172.168.10.0 0.0.0.255 area 0
    network 172.168.20.0 0.0.0.255 area 0
    network 192.168.10.0 0.0.0.3 area 0
    network 192.168.10.0 0.0.0.255 area 0
    !
    ip classless
    !
    !
    !
    !
    !
    !
    !
    line con 0
    line vty 0 4
    login

    Router2

    speed auto
    !
    interface FastEthernet0/0.10
    encapsulation dot1Q 10
    ip address 172.168.10.1 255.255.255.0
    !
    interface FastEthernet0/0.20
    encapsulation dot1Q 20
    ip address 172.168.20.1 255.255.255.0
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    shutdown
    !
    interface Serial0/1/0
    ip address 192.168.10.1 255.255.255.252
    !
    interface Serial0/1/1
    no ip address
    clock rate 2000000
    shutdown
    !
    interface Vlan1
    no ip address
    shutdown
    !
    router ospf 1
    log-adjacency-changes
    network 192.168.10.0 0.0.0.3 area 0
    network 172.168.10.0 0.0.0.255 area 0
    network 172.168.20.0 0.0.0.255 area 0
    network 172.168.10.0 0.0.0.3 area 0
    network 172.168.20.0 0.0.0.3 area 0
    network 172.168.30.0 0.0.0.255 area 0
    !
    ip classless
    !
    !
    !
    !
    !
    !
    !
    line con 0
    line vty 0 4
    login
    !

    Switch 1 et switch 2
    interface FastEthernet0/1
    switchport trunk native vlan 99
    switchport mode trunk
    !
    interface FastEthernet0/2
    !
    interface FastEthernet0/3
    !
    interface FastEthernet0/4
    switchport access vlan 10
    switchport mode access
    !
    interface FastEthernet0/5
    switchport access vlan 10
    switchport mode access
    !
    interface FastEthernet0/6
    switchport access vlan 20
    switchport mode access

    • En effet ça ne peut pas fonctionner ainsi.
      Les VLANS 10 et 20 … des deux sites … ont les mêmes adresses de subnet … hors il y a un routeur entre eux. Il y a donc conflit d’adressage IP entre les deux sites, ce qui ne peut bien entendu pas fonctionner.
      Solution: modifier l’adressage pour les VLANS 10 et 20 dans un des deux sites, adapter la config d’ospf etc..

      Remarque: il serait préférable de poster ce genre de message dans les forums. D’autant plus qu’il n’y a aucun rapport avec l’article présent.

      Bonne chance pour la config.

  17. Dimi dit :

    Bonjour,

    Je souhaite savoir si l’adresse IP WAN du routeur R1 peut être pingable depuis Internet?

  18. Khéops dit :

    Bonjour,

    Dans le cadre d’un projet je dois fournir une adresse IP publique en /32 pour mes clients fibre.
    J’administre le routeur coeur et les routeurs clients. Le LAN entre les routeurs clients et le coeur est IPv4 privé.

    Les confs ci-dessous fonctionnent très bien. Cependant l’adresse 90.0.0.1/32 n’est pas pingable depuis le routeur FAI.
    Comment faire? L’adresse publique en soit n’existe pas !

    ————————————
    hostname Routeur_Client
    !
    interface FastEthernet0/0
    description LAN_client
    ip address 192.168.10.254 255.255.255.0
    ip nat inside
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    description vers_RouteurCoeur
    ip address 192.168.254.10 255.255.255.0
    ip nat outside
    duplex auto
    speed auto
    !
    ip nat pool LAN-POOL 90.0.0.1 90.0.0.1 netmask 255.255.255.255
    ip nat inside source list 101 pool LAN-POOL overload
    ip classless
    ip route 0.0.0.0 0.0.0.0 192.168.254.254
    !
    access-list 101 permit ip 192.168.10.0 0.0.0.255 any
    access-list 101 deny ip any any
    ————————————
    hostname Router-Coeur
    !
    interface FastEthernet0/0
    description CollecteDesClients
    ip address 192.168.254.254 255.255.255.0
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    description coteFAI
    ip address 200.0.0.1 255.255.255.0
    duplex auto
    speed auto
    !
    ip classless
    ip route 90.0.0.0 255.255.255.0 FastEthernet0/0
    ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
    ————————————
    hostname Router_FAI
    !
    interface FastEthernet0/0
    ip address 200.0.0.2 255.255.255.252
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    description Internet
    no ip address
    duplex auto
    speed auto
    shutdown
    !
    ip classless
    ip route 90.0.0.0 255.255.255.240 FastEthernet0/0
    ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
    ————————————

    • Il y a un souci avec les routes statiques. Dans une route statique on peut indiquer à la place du next-hop l’interface de sortie … si et seulement si cette information est suffisante … c’est par exemple le cas sur une liaison point-à-point comme en PPP/HDLC ou Frame-Relay point-à-point. Sur un réseau Ethernet (donc multipoint) le routeur doit pouvoir déterminer l’adresse MAC du next-hop il a dés lors besoin de son adresse ip.

      Donc sur le Routeur coeur:
      ip route 0.0.0.0 0.0.0.0 200.0.0.2
      ip route 90.0.0.1 255.255.255.255 192.168.254.10

      Sur le routeur FAI:
      ip route 0.0.0.0 0.0.0.0
      ip route 90.0.0.0 255.255.255.240 200.0.0.1

      Pas le choix sur de l’ethernet, l’ip du next-hop doit être donnée sans quoi le routeur ne peut pas résoudre l’adresse MAC à l’aide d’une requête ARP.

  19. Khéops dit :

    Erreur dans le copier coller. Il s’agit bien d’un réseau 200.0.0.0/30 entre le routeur FAI et routeur coeur.

  20. ibinda dit :

    Bonsoir,

    je vous remercie,
    je vais essayer de remplacer le cloud par un routeur ISP pour faire la simulation,
    je pense que ça ira,

    je vous remercie encore,
    Bonne soirée,

    Cdt,

  21. polakk6 dit :

    Bonjour,

    Voila j’ai mis en place un réseau sur ciso, cependant je coince un peu sur certains points ..

    Je dispose de 3 vlan connecté en mode trunk sur mon ROUTEUR1, celui ci est connecté au ROUTEUR2.

    J’ai configurer le NAT sur mon ROUTEUR2, cependant tous mes vlan peuvent sortir quand meme… Cela fais 3 jours que je cherche desperement la solution mais je n’y arrive pas:/ si quelqu’un voudrait bien m’eclairer je suis preneur :)

    ===> Message déplacé dans le forum < ===

  22. phil dit :

    merci Steve pour ce tuto

  23. Stephanoia dit :

    Bonjour Steve, c’est tout simplement remarquable, le travail que tu abats, j’apprécie vraiment ton Blog et tout ce qui s’y trouve, je suis étudiant au programme CCIE sécurité en Inde, et je compte bcp pratiquer avec tes tuto !

    Vraiment remarquable !
    une dernière chose pense aussi a te pencher sur l’édition d’un livre, si ce n’est pas déjà chose faite !

  24. Sylvia dit :

    Merci pour ce tuto. Et si je veux faire de nat static sur des ports donnés. comme par exemple autorisé juste les ports du mail. Donc dans le cas de la machine c3, je suppose que c’est un serveur mail et que toutes requêtes concernant le port 25 par exemple à destination de mon adresse publique doivent être rediriger vers la machine c3 sur ce port. Merci d’avance

  25. Nes ADM dit :

    bonjour, votre article est superbe est très bien expliqué. Cependant j’aurais quelques questions :
    j’ai un réseau local avec le pool d’adresse 10.10.10.0/24 relié à un autre réseau avec un pool d’adresse 172.26.0.0/16 ( non routable aussi) qui lui est connecté à Internet.
    Ma question est donc : Est ce que je dois configurer un NAT dans ce cas pour mon réseau local ( 10.10.10.0/24) pour qu’il puisse communiquer avec l’autre réseau alors qu’il a un pool d’adresses non routables aussi?
    Ma deuxième question est : pour le pool d’adresse ou le NAT va prendre les adresses pour la translation : n y aurait t il pas de conflit d’adresse IP si on suppose que les adresse dans le pool du NAT sont déja utilisées par d’autres utilisateurs dans le réseau 172.26.0.0/16. Et comment faut il faire pour choisir la bonne plage.
    Je vous remercie d’avance pour d’éventuelles réponses.

    • Il est envisageable de configurer du NAT entre le réseau 10.10.10.0/24 et le réseau 172.26.0.0/24. Ce qui aurait pour effet de masque l’existence du premier. On pourrait imaginer là avoir du NAT dynamique avec surcharge, de telle sorte que toutes les machines 10… soient perçues comme était une machine 172.26…

      Ceci dit, cela aurait pour effet d’empêcher les machines du 172.26 d’initier des communications vers le réseau 10. Sans parker du fait que le trafic provenant d’une machine du réseau 10 passerait 2x à travers du NAT … bonjour la latence.

      Le plus logique serait donc de configurer le routeur qui relier le réseau 172.26 à internet pour qu’il « NATte » les adressed u réseau 10. Il faudra bien entendu que ce routeur ait une route vers le réseau 10, au même titre que le routeur entre le réseau 10 et le 172.26 doit avoir une route par défaut.

      Concernant le pool NAT, en principe on parle d’adresses publiques, routables sur Internet et qui dés lors sont attribuées par un provider. Dés lors il est impossible d’avoir les mêmes adresses à deux endroits. C’est le provider qui définira la plge d’adresse publique que le client a le droit d’utiliser … et pour laquelle il devra payer bien entendu.

  26. Yohan Courbe dit :

    Salut Steve,

    C’est toujours aussi classe de rechercher « cisco nat » sur google et tomber sur ton blog en premier lien :) Félicitation !

    Par rapport à l’article, il pourrait être intéressant de rajouter un petit brin d’explication sur la nomenclature Cisco: inside/outside et local/global. Personnellement ces notions m’ont toujours perturbées.

    A bientôt !

    • Salut Yohan ;-) Content que ça serve en tout cas… C’est en effet une bonne idée d’amélioration pour l’article. Je devrais avoir un peu de temps à y consacrer dans les jours à venir.

Laisser un commentaire

Visit Us On FacebookVisit Us On GooglePlusVisit Us On TwitterVisit Us On LinkedinVisit Us On YoutubeCheck Our Feed

Archives

IPv6 Ready

Connexion à WordPress protégée par Clef
%d blogueurs aiment cette page :