IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applications Discussion :

[GNS3] Topologie "Hub-and-Spoke" + routage inter-VPN


Sujet :

Applications

  1. #1
    Invité
    Invité(e)
    Par défaut [GNS3] Topologie "Hub-and-Spoke" + routage inter-VPN
    Suite à une question dans ce forum

    http://www.developpez.net/forums/d12...s-n-sites-vpn/

    j'avais monté un petit lab sous GNS3 que je trouve intéressant de partager.

    Voici la topologie.



    Un routeur Central connecte 2 sites distants Site 1 et Site 2 en encryptant les flux dans des VPN. Le routeur Interco est destiné à simuler un "nuage de transit IP", comme si c'était un opérateur qui connectait tous les sites.

    La question était de savoir s'il est possible de router les flux entre les sites distants sans avoir à créer un nouveau VPN entre Site 1 et Site 2.

    Dans ce lab, la réponse est oui...

    Voici la config du routeur Central. J'ai attaché les fichiers de config de tous les routeurs pour ceux qui voudraient rejouer le scenario (en revanche, il vous faut une image crypto à intégrer dans GNS3).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    !
    hostname Central
    !
    enable password cisco
    !
    ip cef
    !
    crypto isakmp policy 10
     hash md5
     authentication pre-share
    crypto isakmp key ciscovpn address 2.2.2.1
    crypto isakmp key ciscovpn address 3.3.3.1
    !
    crypto ipsec transform-set MyPeers esp-des esp-md5-hmac 
    crypto ipsec transform-set MySet esp-des esp-md5-hmac 
    !
    crypto map MyMap 10 ipsec-isakmp 
     set peer 2.2.2.1
     set transform-set MySet 
     match address 110
    crypto map MyMap 20 ipsec-isakmp 
     set peer 3.3.3.1
     set transform-set MySet 
     match address 120
    !
    interface FastEthernet0/0
     ip address 1.1.1.1 255.255.255.0
     no ip route-cache cef
     no ip route-cache
     duplex auto
     speed auto
     crypto map MyMap
    !
    interface FastEthernet0/1
     ip address 192.168.200.254 255.255.255.0
     duplex auto
     speed auto
    !
    ip classless
    ip route 0.0.0.0 0.0.0.0 FastEthernet0/0
    !
    access-list 110 permit ip 192.168.200.0 0.0.0.255 192.168.3.0 0.0.0.255
    access-list 110 permit ip 192.168.254.0 0.0.0.255 192.168.3.0 0.0.0.255
    access-list 120 permit ip 192.168.200.0 0.0.0.255 192.168.254.0 0.0.0.255
    access-list 120 permit ip 192.168.3.0 0.0.0.255 192.168.254.0 0.0.0.255
    !
    Le point-clé de la configuration du routeur Central, c'est la façon dont le "crypto-engine" permet de définir le traffic éligible pour l'encryption.

    L'access-list 110 associé au crypto-peer 2.2.2.1 encrypte les flux
    192.168.200.0/24 -> 192.168.3.0/24 (Central vers Site 2)
    192.168.254.0/24 -> 192.168.3.0/24 (Site 1 vers Site 2)

    et l'access-list associé au crypto-peer 3.3.3.1 encrypte les flux
    192.168.200.0/24 -> 192.168.254.0/24 (Central vers Site 1)
    192.168.3.0/24 -> 192.168.254.0/24 (Site 2 vers Site 1).

    Quelques displays depuis le ThinkPad (ifconfig tap0, table de routage et ping sur l'adresse de Site 2) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    root@steph-ThinkPad-T400:/# ifconfig tap0
    tap0      Link encap:Ethernet  HWaddr 9e:d4:c1:f6:b6:75  
              inet addr:192.168.254.10  Bcast:192.168.254.255  Mask:255.255.255.0
              inet6 addr: fe80::9cd4:c1ff:fef6:b675/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:998 errors:0 dropped:182 overruns:0 frame:0
              TX packets:641 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:500 
              RX bytes:165918 (165.9 KB)  TX bytes:75242 (75.2 KB)
    
    
    root@steph-ThinkPad-T400:/# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         192.168.254.254 0.0.0.0         UG    0      0        0 tap0
    192.168.254.0   *               255.255.255.0   U     0      0        0 tap0
    
    
    root@steph-ThinkPad-T400:/# ping 192.168.3.254
    PING 192.168.3.254 (192.168.3.254) 56(84) bytes of data.
    64 bytes from 192.168.3.254: icmp_req=1 ttl=253 time=49.8 ms
    64 bytes from 192.168.3.254: icmp_req=2 ttl=253 time=52.2 ms
    64 bytes from 192.168.3.254: icmp_req=3 ttl=253 time=243 ms
    64 bytes from 192.168.3.254: icmp_req=4 ttl=253 time=55.7 ms
    64 bytes from 192.168.3.254: icmp_req=5 ttl=253 time=58.5 ms
    64 bytes from 192.168.3.254: icmp_req=6 ttl=253 time=53.0 ms
    ^C
    --- 192.168.3.254 ping statistics ---
    6 packets transmitted, 6 received, 0% packet loss, time 5005ms
    rtt min/avg/max/mdev = 49.822/85.554/243.917/70.875 ms
    Donc effectivement, le routage inter-VPN fonctionne plutôt bien ici.

    En revanche, je pense que beaucoup d'équipements vendus comme étant des routeurs centraux de topologies "Hub-and-Spoke" ne permettront pas de faire parler des "Spokes" entre eux parce que les VPNs définis au niveau du routeur central devront impérativement avoir un réseau/subnet local (directement connecté) comme extrémité du VPN. Je doute qu'il soit possible de contourner cette limitation par une "galipette" d'adressage et de mask.

    D'autre part, il est à noter le routage inter-VPN est forcément intensif pour la CPU. En effet, avant d'être routé vers un autre VPN, le paquet IP encrypté doit être décrypté, puis routé, puis enfin passé au crypto-engine pour être de nouveau encrypté sur le "VPN destination". D'ailleurs, les commandes "no ip route-cache" configurées sur les interfaces qui cryptent sont destinées à désactiver le fast-switching (pour forcer les paquets à être "process-switchés"). Sans cette commande, l'encryption ne peut pas s'opérer. A noter que les très gros routeurs du marché (pas Cisco uniquement) proposent des cartes d'encryption dédiées pour le traitement de ces paquets, ce qui permet de décharger la CPU principale et d'offrir un chemin de switching hardware entre les différentes interfaces.

    Il est facile de mettre en évidence le routage inter-VPN sur le routeur Central :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Central(config)#access-list 130 permit ip 192.168.200.0 0.0.0.255 192.168.3.0 0.0.0.255
    Central(config)#access-list 130 permit ip 192.168.254.0 0.0.0.255 192.168.3.0 0.0.0.255
    Central(config)#access-list 130 permit ip 192.168.200.0 0.0.0.255 192.168.254.0 0.0.0.255
    Central(config)#access-list 130 192.168.3.0 0.0.0.255 192.168.254.0 0.0.0.255
    Central(config)#^Z
    
    Central#deb ip packet 130
    IP packet debugging is on for access list 130
    
    Central#
    *May  7 23:01:42.039: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:42.039: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    *May  7 23:01:43.035: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:43.035: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    *May  7 23:01:44.051: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:44.051: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    *May  7 23:01:45.027: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:45.027: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    *May  7 23:01:46.039: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:46.039: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    *May  7 23:01:47.031: IP: tableid=0, s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), routed via FIB
    *May  7 23:01:47.031: IP: s=192.168.3.254 (FastEthernet0/0), d=192.168.254.10 (FastEthernet0/0), g=192.168.254.10, len 84, forward
    On voit bien que chaque ICMP passe au travers de la FIB (Forwarding Information Base), qui est une "lookup table" purement IP et n'a rien à voir avec le crypto-engine. En d'autre termes, la fonction de routage ne voit que de "simples" paquets IP, ce qui est fait avant et après est du ressort des crypto-maps.

    Concernant notre topologie, si le routeur Central ne peut pas faire de routage inter-VPN, la seule solution consiste à créer un VPN entre Site 1 et Site 2.

    Steph
    Fichiers attachés Fichiers attachés

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo