Blog CCIE

« Ce qu'on obtient en atteignant nos objectifs n'est pas aussi important que ce que l'on devient en les atteignant. » - Zig Ziglar

Mise en place d’un VPN MPLS

with 87 comments

Introduction

Dans le cadre de ma préparation pour l’examen écrit, j’ai presque fini de lire « MPLS Fundamentals » de Luc de Ghein.

Ce livre m’a beaucoup aidé à démystifier MPLS et ses différents mécanismes et d’un en particulier dont nous allons parler aujourd’hui: les VPN MPLS.

Je vais concentrer le sujet de ce billet sur l’implémentation de la technologie qui reste, une fois qu’on a assimilé les concepts inhérents, très logique à faire et à suivre.

Comme d’habitude, on commence par une topologie diabolique(ou pas…) faite maison:

Plusieurs précisions s’avèrent nécéssaires pour la bonne compréhension de ce schéma.

Précisions préalables

Ce schéma expose un exemple de topologie assez simple avec derrière chaque PE(Provider Edge) pour ClientA et ClientB, un routeur dédié.

Le « but du jeu » ici est de pouvoir permettre via un nuage MPLS(label-switching) de pouvoir faire communiquer les sites des clients ensemble de façon totalement indépendante. Cela sous-entend ici que A_CE1 devra pouvoir avoir accès à A_CE2 mais pas à B_CE2 par exemple(la réciproque est également vraie vous vous en doutez).

L’élement qui peut vous choquer en regardant ce schéma est l’absence de subnet séparé pour les liens série CE(Customer Edge) du côté de PE1 et de PE2. Les interfaces de A_CE1 et B_CE1, par exemple, ont exactement la même adresse IP assignée sur leurs interfaces s1/0 et dans le même subnet! Rassurez-vous, c’est tout à fait normal. L’utilisation de table de routage virtuelle pour chaque client(Virtual Routing and Forwarding ou VRF) nous permet de distinguer les routes avec le concours d’autres paramètres notamment le RD(Route Distinguisher).

Pourquoi les VPN MPLS?

Pour revenir à l’essentiel de la technologie, l’avantage de ce type de VPN MPLS est de pouvoir faire du label-switching entre PE sans que les routeurs du milieu du nuage, les P, n’aient  à avoir connaissance des préfixes de destination dans leurs tables de routage respectives. Cela nous permet de maintenir une architecture plus facilement et d’augmenter également la scalabilité de celle-ci.

Enfin, de nos jours, c’est un sérieux concurrent pour les technologies plus anciennes de couche 2 comme ATM ou Frame-Relay.

Technologies utilisées

J’ai choisi pour ce lab les technologies suivantes:
  • OSPF pour la communication intra-nuage
  • EIGRP en guise de protocole CE-PE.
  • MP-BGP pour le VPN

Méthodologie d’approche

Avec l’expérience j’ai developpé une méthodologie d’approche de ce type d’implémentation à savoir :
  1. Mise en place des VRF sur les PE
  2. Configuration des interfaces
  3. Mise en place du protocole intra-nuage
  4. Mise en place du protocole CE-PE
  5. Mise en place du protocole MP-BGP
  6. Gestion de la redistribution respective des préfixes

Bien que cette approche est personnelle, je vais la suivre dans le cheminement de ce billet pour vous permettre, je l’espère, de mieux comprendre.

Première étape – Mise en place des VRF sur les PE

Pour cette première étape, rien de compliqué quand vous connaissez la procédure!

PE1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
PE1(config)#ip vrf ClientA
PE1(config-vrf)#rd 1:1
PE1(config-vrf)#route import 1:1
PE1(config-vrf)#route export 1:1
PE1(config-vrf)#exit
PE1(config)#ip vrf ClientB
PE1(config-vrf)#rd 1:2
PE1(config-vrf)#route import 1:2
PE1(config-vrf)#route export 1:2
PE1(config-vrf)#exit

Pour détailler ce que nous faisons ici, nous créons deux tables de routage virtuelles(VRF) pour chaque client. À l’intérieur de la configuration de la VRF, nous désignons de RD des futures routes de cette VRF ainsi que le RT(Route Target) dans les deux sens(import et export).

Cette étape est bien entendu à répéter sur PE2 qui accueillera exactement la même configuration.

Deuxième étape – Configuration des interfaces

Outre la configuration des IPs, vous devez également effectuer plusieurs actions pour « préparer le terrain »:

  • Sur toutes les interfaces des PE directement reliées sur des CE, vous devez assigner à l’interface locale du PE une VRF.
  • Sur les interfaces concernées par le label-switching MPLS, vous devez activer le protocole d’échange de label LDP(Label Distribution Protocol).
Assignation d’une VRF sur un port de routeur

Pour cela, rien de plus simple également, suivez plutôt l’exemple suivant sur PE1:
PE1(config)#int s1/0
PE1(config-if)#ip vrf forwarding ClientA
PE1(config-if)#ip add 10.1.1.2 255.255.255.252
PE1(config-if)#no sh
PE1(config)#int s1/1
PE1(config-if)#ip vrf forwarding ClientB
PE1(config-if)#ip add 10.1.1.2 255.255.255.252
PE1(config-if)#no sh

Avec cette commande ip vrf forwarding, j’affecte l’interface à la VRF choisie uniquement. L’opération à répéter également sur PE2 en adaptant les adresses IPs bien entendu!

Activation du LDP sur les interfaces concernées

On active ici uniquement le LDP sur les interfaces qui auront à faire du label-switching(généralement les interfaces qui sont dans le nuage MPLS).

Pour ce faire également, la procédure est très simple. On prend l’exemple de PE1:

PE1(config)#int s1/2
PE1(config-if)#mpls ip

Cette procédure sera à répeter sur de plusieurs ports(P1, P2 et PE2) qui sont dans le nuage MPLS.

Troisième étape – Mise en place du protocole intra-nuage

Dans cette section, nous allons juste activer OSPF dans le nuage pour garantir la communication intra-nuage des routers P et PE.
Sur les PE(PE1 et PE2), la configuration est la suivante :
PE1(config-if)#router ospf 1
PE1(config-router)# network 172.16.1.0 0.0.0.3 area 0
PE1(config-router)# network 192.168.1.0 0.0.0.255 area 0
PE1(config-router)# exit

La première instruction « network » nous servira pour annoncer les réseaux de loopback des PEs respectifs pour MP-BGP. La deuxième instruction annoncera dans le nuage les réseaux directement connectés et formera des relations de voisinages avec ses voisins connectés.

Sur les P(P1 et P2), la configuration est la suivante :

P1(config-if)#router ospf 1
P1(config-router)# network 192.168.1.0 0.0.0.255 area 0
P1(config-router)# exit

Ici, on ne fait que participer les interfaces comprises dans la range 192.168.1.0/24 étant donné que ces P n’ont pas d’interfaces de loopback.

Si tout va bien à ce moment là, PE1 devrait pouvoir pinger l’interface loopback 0 de PE2 sans problèmes :

PE1#ping 172.16.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/16/28 ms

Quatrième étape – Mise en place du protocole CE-PE

Dans un premier temps, la configuration dédiée aux CE est très simple, du fait que le CE n’a aucune notion de MPLS, il va juste établir une adjacence avec le PE auquel il est relié et partager ses routes avec celui-ci.

Cette configuration sera à appliquer sur tous les CE en ne changeant aucune instruction:

A_CE1(config)#router eigrp 1
A_CE1(config-router)#network 10.0.0.0
A_CE1(config-router)#no auto-summary

Passons maintenant à la configuration du PE, un peu plus complexe. Nous allons dans le PE configurer une instance d’EIGRP par VRF. Ces commandes s’appliqueront sur PE1 et PE2 sans aucun changement:

PE1(config)#router eigrp 1
PE1(config-router)#address-family ipv4 vrf ClientA
PE1(config-router-af)#network 10.0.0.0
PE1(config-router-af)#no auto-summary
PE1(config-router-af)#autonomous-system 1
PE1(config-router-af)#exit
PE1(config-router)#address-family ipv4 vrf ClientB
PE1(config-router-af)#network 10.0.0.0
PE1(config-router-af)#no auto-summary
PE1(config-router-af)#autonomous-system 1
PE1(config-router-af)#exit

*Jan 1 19:25:43.267: %DUAL-5-NBRCHANGE: IP-EIGRP(1) 1: Neighbor 10.1.1.1 (Serial1/0) is up: new adjacency

*Jan  1 19:26:29.439: %DUAL-5-NBRCHANGE: IP-EIGRP(2) 1: Neighbor 10.1.1.1 (Serial1/1) is up: new adjacency

Remarquez en gras que deux adjacences se sont formées entre le PE et le CE concerné par la VRF sur laquelle nous avons activé EIGRP.

Remarquez enfin que l’on fait bien correspondre le numéro d’AS d’EIGRP configuré sur chaque CE avec l’argument de la commande « autonomous-system » dans la configuration du PE pour chaque VRF.

Cinquième étape – Mise en place du protocole MP-BGP

Pour configurer la liaison vpnv4 entre les deux PE que l’on recherche à faire, il nous faut configurer sur les deux routeurs, comme on le ferait en BGP, une relation de voisinage en prenant comme référence les IPs de loopback paramétrées précédemment.

La configuration pour PE1 est la suivante :

PE1(config)#router bgp 1
PE1(config-router)#neighbor 172.16.1.2 remote-as 1
PE1(config-router)#neighbor 172.16.1.2 update-source Lo0
PE1(config-router)#address-family vpnv4
PE1(config-router-af)#neighbor 172.16.1.2 activate 
PE1(config-router-af)#neighbor 172.16.1.2 send-community extended
PE1(config-router-af)#exit
PE1(config-router)#exit

On demande également à ce que l’IP source des paquets qui s’échangent entre les pairs BGP soit bien celle de notre IP de loopback, c’est-à-dire 172.16.1.1 pour PE1.

Enfin, on active le mécanisme vpnv4 de BGP en le configurant également de telle sorte à ce que BGP utilise le champ « community » de ses updates pour pouvoir en faire un champ de communautée étendue(qui servira lors de la négociation des capacités des voisins, pour les RT également qui sont stockés dans ce champ).

La configuration pour PE2 est exactement la même en adaptant les IPs:

PE2(config)#router bgp 1
PE2(config-router)#neighbor 172.16.1.1 remote-as 1
PE2(config-router)#neighbor 172.16.1.1 upd
PE2(config-router)#neighbor 172.16.1.1 update-source Lo0
PE2(config-router)#address-family vpnv4
PE2(config-router-af)#neighbor 172.16.1.1 activate
PE2(config-router-af)#neighbor 172.16.1.1 send-community extended
PE2(config-router-af)#exit
PE2(config-router)#exit

Vous voyez la relation de voisinage BGP être négociée avec succès avec notamment cette ligne de log:

*Jan 1 19:50:01.595: %BGP-5-ADJCHANGE: neighbor 172.16.1.1 Up a

Sixième étape – Gestion de la redistribution respective des préfixes

Avant de pouvoir tester le bon fonctionnement de notre VPN, il nous manque encore une brique importante de notre architecture.

Il faut configurer les PE de telle sorte à ce que la redistribution des routes soit effective mutuellement dans les deux sens entre BGP et EIGRP. L’avantage de ce type d’architecture est la scalabilité.

Imaginez que le client rajoute une route sur son CE. Dans ce cas, la route est automatiquement redistribuée dans BGP et les autres PE seront directement au courant de ce nouveau préfixe sans aucune intervention de votre part! Vous imaginez également le temps de convergence réduit dont vous allez bénéficier!

Redistribution EIGRP => BGP – configuration: 

Dans cette section, on s’occupe de redistribuer les routes apprises par EIGRP dans BGP.
La configuration similaire est également à appliquer sur PE2.

PE1(config)#router bgp 1
PE1(config-router)#address-family ipv4 vrf ClientA
PE1(config-router-af)#redistribute eigrp 1 metric 1
PE1(config-router-af)#exit
PE1(config-router)#address-family ipv4 vrf ClientB
PE1(config-router-af)#redistribute eigrp 1 metric 1
PE1(config-router-af)#exit
PE1(config-router)#exit

Redistribution BGP => EIGRP – configuration: 

Dans cette section, on fait l’inverse. On s’occupe de redistribuer les routes apprises par BGP dans EIGRP. La configuration similaire est également à appliquer sur PE2.

PE1(config)#router eigrp 1
PE1(config-router)#address-family ipv4 vrf ClientA
PE1(config-router-af)#redistribute bgp 1 metric 1024 1 255 1 1500
PE1(config-router-af)#exit
PE1(config-router)#address-family ipv4 vrf ClientB
PE1(config-router-af)#redistribute bgp 1 metric 1024 1 255 1 1500
PE1(config-router-af)#exit
PE1(config-router)#exit

Après cette « touche finale », le moment de vérité est arrivé, voyons voir ce qu’il se passe!

Tests et vérifications

On se place sur la perspective de A_CE1 qui a envie de contacter A_CE2 à travers le VPN MPLS.

Regardons la table de routage de ce routeur :

A_CE1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 2 subnets
D 10.1.2.0 [90/2681856] via 10.1.1.2, 00:02:02, Serial1/0
C 10.1.1.0 is directly connected, Serial1/0

Regardez-moi ça, A_CE1 a appris une route via EIGRP vers 10.1.2.0!
Testons-là !

A_CE1#ping 10.1.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/19/24 ms
A_CE1#ping 10.1.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/20/28 ms
A_CE1#

Et voilà, ça ping sans aucun problème, votre configuration est ici terminée !

Si vous êtes curieux, vous pouvez également regarder les label bindings crées automatiquement sur PE1 et/ou sur les autres routeurs du nuage MPLS :

PE1(config)#do sh mpls ldp bind
tib entry: 172.16.1.1/32, rev 2
local binding: tag: imp-null
remote binding: tsr: 192.168.1.2:0, tag: 16
tib entry: 172.16.1.2/32, rev 10
local binding: tag: 18
remote binding: tsr: 192.168.1.2:0, tag: 18
tib entry: 192.168.1.0/30, rev 4
local binding: tag: imp-null
remote binding: tsr: 192.168.1.2:0, tag: imp-null
tib entry: 192.168.1.4/30, rev 7
local binding: tag: 16
remote binding: tsr: 192.168.1.2:0, tag: imp-null
tib entry: 192.168.1.8/30, rev 8
local binding: tag: 17
remote binding: tsr: 192.168.1.2:0, tag: 17
PE1(config)#

J’espère que ce billet, même si il fût un peu long(j’aime bien être pédagogue :)) vous a plu.

Pour ceux qui voudraient faire joujou avec cette topo sur GNS3, je laisse le .net dont je me suis servi pour ces activités, l’image de la topologie ainsi que les configs dans ce zip.

Bonne année à vous!

– Julien

 

Written by Julien BERTON

janvier 1st, 2012 at 9:56 pm

Posted in Lab. time

Tagged with

87 Responses to 'Mise en place d’un VPN MPLS'

Subscribe to comments with RSS or TrackBack to 'Mise en place d’un VPN MPLS'.

  1. J’aimerai bien savoir votre opinion sur ce point: un routeur peut il avoir deux table VRF pour deux VPN différents avec une seule interface de sortie

    Ahmed

    17 Mai 12 at 16 h 26 min

  2. Bonjour Ahmed,

    Je ne vois pas de points bloquants empêchant cela, c’est tout à fait possible 🙂

    Julien BERTON

    9 Juil 12 at 23 h 51 min

  3. vraiment merci pour ton tuto man ca marche !!
    mais j’ai un petit souci.
    A ton architecture j’ai greffé un sous réseau à chaque CE.
    je n’arrive pas à pinger l’interface LAN de CE2 à partir de CE1 et vice versa.
    quel peut être le problème stp?
    merci d’avance

    hermann

    19 Mai 12 at 15 h 02 min

  4. Bonjour Hermann,

    N’oublie pas quand tu le ping de rajouter le fait que tu utilise une VRF, sinon cela ne fonctionnera pas.
    Du style: ping vrf VPN_A 8.8.8.8.

    Si cela ne vient pas de là, peut-être la config…

    Julien BERTON

    9 Juil 12 at 23 h 51 min

  5. Merci pour la bonne information

    Anas

    30 Mai 12 at 10 h 47 min

  6. Slt à tous
    j’ai le meme probléme que Hermane j’aimerai faire communiquer un PC de CE1 à CE2..j’ai apri kil falai configurer BGP j n sais pas si qlq1 pe m’aider

    Georges

    8 Juil 12 at 22 h 25 min

  7. Bonjour et merci pour ce lab très instructif.
    Juste pour te signaler que dans les fichiers de conf de P1 et P2 il manque la partie
    router ospf 1
    log-adjacency-changes
    network 192.168.1.0 0.0.0.255 area 0

    Buzzy

    5 Sep 12 at 17 h 34 min

  8. Bonjour Buzzy,

    Heureux de voir que cet article continue de servir, 9 mois après son écriture.
    Merci pour ton commentaire, je pensais pas avoir oublié un truc aussi basique que ça après avoir fait fonctionner un truc aussi compliqué(en tout cas au premier abord) qu’un VPN MPLS.

  9. ton blog est dans mes favoris dorénavant. Je dois reconnaitre que ce lab est l’un des seul qui m’ait vraiment permis de démystifier mpls/vpn.

    buzzy

    6 Sep 12 at 19 h 58 min

  10. Merci beaucoup pour ce travail bien complet. Je travaille actuellement sur mon mémoire portant sur le MPLS et ses applications. Je voudrais avoir te contacter pour des TP similaires mettant en évidence la qualité de service et le trafic de l’ingénierie du MPLS. Si quelqu’un a une solution j’en serai ravi. merci

    Diop

    1 Oct 12 at 11 h 43 min

  11. Bonjour je suis aussi d’emplementer cette technologie alors jaimerai savoir si on peut mixer un VPN IPSEC et un VPN MPLS??

    ZOUMA IBOBI

    9 Oct 12 at 16 h 31 min

  12. Bonjour,

    MPLS est juste un méchanisme de transport entre la couche 2 et 3.
    L’implémentation d’IPSEC est donc possible à mon sens même si généralement, on couple le MPLS avec une adjacence MP-BGP ou en faisant du VRF-Lite pour faire du VPN.

    Julien BERTON

    17 Oct 12 at 18 h 53 min

  13. Bonjour j’ai essayer de mettre cela en place pour un projet d’école mais on doit configurer les CE en RIPv2,

    Je bloque a l’étape 5

    PE1(config-router)#neighbor 172.16.1.2 update-source Lo0

    % Invalid input detected at ‘^’ marker.

    La configuration est réalisé sous GN3
    Merci

    Robin

    2 Déc 12 at 20 h 10 min

  14. L’interface Lo0 a bien été crée avant d’entrer cette commande? Si oui, c’est bizarre, cela devrait fonctionner.

    Julien BERTON

    3 Déc 12 at 0 h 10 min

  15. bonjour à toi, très bon boulot que tu as fait, cependant, je ne comprends pas à l’étape 2 pourquoi tes 2 interfaces S1/0 et S1/1 ont la même IP ? pourrait tu m’éclairer car j’ai un projet scolaire dans la même optique que ton lab 🙂
    Merci d’avance

    PE1(config)#int s1/0
    PE1(config-if)#ip vrf forwarding ClientA
    PE1(config-if)#ip add 10.1.1.2 255.255.255.252
    PE1(config-if)#no sh
    PE1(config)#int s1/1
    PE1(config-if)#ip vrf forwarding ClientB
    PE1(config-if)#ip add 10.1.1.2 255.255.255.252
    PE1(config-if)#no sh

    PRT

    3 Déc 12 at 15 h 09 min

  16. Bonjour Pierre,

    C’est fait exprès, c’est tout l’intérêt de la chose!
    Les VRF, utilisées ou pas avec du MPLS te permettent de virtualiser la table de routage.

    En clair, comme les interfaces sont rattachées à une VRF, elle deviennent(au niveau des décisions de routages totalement isolées des autres et de la standard).

    Donc même si tu est Service Provider et que tu gère le routage pour plusieurs clients ayant utilisé les mêmes ranges, cela ne pose aucun problème 🙂

    N’hésites pas si tu as d’autres questions.

    Julien

    Julien BERTON

    3 Déc 12 at 15 h 16 min

  17. Je te remercie pour ta réponse aussi rapide, et en relisant le début de ton projet j’ai réussi à comprendre 🙂
    Cependant il y a quelque chose qui reste un mystere pour moi, le RD, je dois faire un VPN Hub & Spoke et je voulais savoir comment fonctionne ce RD pour ce type de VPN car je pense que pour un hub & spoke, le RD, les route import et route export son différentes

    je te remercie d’avance pour ta réponse 🙂

    PRT

    4 Déc 12 at 9 h 25 min

  18. Holala je ne m’en sors plus, j’ai suivi ton tuto en adaptant a ma topologie cependant, lors de la redistribution de route entre bgp et eigrp j’ai un problème, mes routeurs CE n’apprennent pas les routes … j’ai grand besoin de ton aide, peut etre pourrais tu me contacter par mail sur pierre.ricquet@viacesi.fr afin que je t’envoie mes configs histoire de voir si tu peux jeter un mini coup d’œil

    peux tu me tenir au courant stp sur pierre.ricquet@viacesi.fr ?

    je te remercie d’avance 🙂

    PRT

    4 Déc 12 at 17 h 26 min

  19. Salut Pierre,

    N’hésites pas carrément à m’envoyer ton archive .net pour que je puisse jeter un oeil sur GNS3.
    Sur le principe, normalement, c’est possible de faire du hub and spoke avec une configuration similaire.

    Julien BERTON

    5 Déc 12 at 14 h 30 min

  20. bonjour je tien a te remercier pour ce lab complet.mais j’ai des problemes.je soutien mon projet de fin d’etudes dans une semaine et j’aimerais savoir comment analyser les resultats que donnent les commandes sh mpls ip binding et sh mpls forwarding table.je sais que la premiere permet d’ avoir la correspondance entre le resau et le label que le routeur affecte pour ce reseau et que le deuximeme permet d’avoir la table de commutation sur la quelle le routeur s’apuit pour determiner le label a affecte en fonction de l’interface. de plus pour la suite du lab j’ai place deux sites locaux derriere les CE lorque je fais un ping d’un site a l’autre je vois bien la notion de label apparaitre un pour le PE et l’autre pour le chemin a emprunter mais quel commande pour voir ces labels.
    j’esper avoir une reponse tres vite merci d’avance

    yan1988

    5 Déc 12 at 13 h 27 min

  21. Bonjour Yannick,

    Je pense que ce que tu recherche se trouve dans les commandes debug MPLS.
    Tu pourras ainsi voir en temps réel les décisions de routage ainsi que les infos qui t’intéressent.

    N’hésites pas si tu as d’autres questions.

    Julien BERTON

    5 Déc 12 at 14 h 35 min

  22. Bonjour,

    Merci pour ce super tuto qui apprend énormément, cependant je cherche à approfondir et que j’ai un problème ! J’explique : Ma topo ressemble à la tienne, sauf que j’y ai ajouté un 3éme PE, jusqu’ici tout va bien. J’ai configuré le vpn en hub et spoke avec les import/export. Mon site centrale ping bien mais deux sites distants et les deux sites distants ne peuvent communiquer entre eux (rien d’anormal) cependant j’ai maintenant besoin sur chacun de mes CE (les 3) rajouté un routage pour le sous réseau mais aussi faire en sorte qu’il soit redistribué avec les autres CE afin que chacun des sous réseau présents derrière les CE puissent communiquer. Je tiens à préciser que je dois conserver le hub and spoke 😉
    Merci à toi !

    Guich

    5 Déc 12 at 14 h 21 min

  23. Bonjour Guillaume,

    Tu pourrais me donner un schéma de ta topologie par mail et ta conf, histoire que je puisse regarder?

    Julien BERTON

    5 Déc 12 at 14 h 33 min

  24. Merci pour cette réponse rapide julien, je t’ai envoyé un petit mail sur julien@berton.me avec ma topo

    Encore merci 🙂

    PRT

    5 Déc 12 at 14 h 45 min

  25. Bonjour Julien,
    tuto vachement intéressant et surtout bien commenté.
    Cependant j’ai plusieurs questions pourquoi sur ton schéma les Lo0 sont en /32 et tes liaisons en /30 quand tu renseignes ospf elles passent en 0.0.0.3 et 0.0.0.255.
    Ca ne devrait pas être 0.0.0.0 pour les Lo0 et 0.0.0.3 pour les liaisons ?

    enfin à quoi sert log-adjency-changes ?

    merci ! bonne aprem

    Franz

    6 Déc 12 at 10 h 52 min

  26. Bonjour Franz,

    Sachant que ça va faire quasiment un an que j’ai écris cette article, je ne saurais trop de dire pour l’histoire des masques dans les déclarations network dans OSPF. Avec le recul, je me dis effectivement que j’aurais pu me contenter de mettre le bon masque.

    Pour la log-adjacency-changes, cette ligne se trouve par défaut dans router ospf, ça permet de logger dans la console ou ailleurs les changements d’adjacences. Ce que tu vois quand tu fois un truc du style

    %OSPF-5-ADJCHG: Nbr 192.168.1.1 on Vlan123 from LOADING to FULL, Loading Done

    Julien BERTON

    6 Déc 12 at 10 h 58 min

  27. salut julien merci de ta reponse en fait j’amimerais juste savoir ce que me renvoit les resultatts des commandes jai esaye debug mpls com u la sugerer mai rien de bon si tu pe m sugerer un lien ou une doc c serai parfait
    merci

    yan1988

    7 Déc 12 at 20 h 19 min

  28. salut julien,je lu ton article c’est vrement interressant et je suis entrain de travailler sur un sujet qui sera mon travail de fin d’etude et ce sujet auraa trait avec ton article.le sujet est tunelisation sur un réseau etendu a commutation de label.gestion d’une structure MPLS/VPN

    mick

    19 Déc 12 at 16 h 29 min

  29. dabord je te remercie pour ton effort julien, c’est très interressant, j’ai essaye de suivre tous les etapes, les tests aussi sont les memes, mais pourtant je peux pas pinger entre les clients, j’ai essaye de veridie les configs plusieurs fois, j’ai meme refait le programme mais tj le meme probleme.

    Issam-eddine

    23 Déc 12 at 18 h 49 min

  30. quel est les commandes quand doit faire pour faire pinguer entre deux client AC-1 ET AC-2 tel que l’un possède rip comme protocole de routage et l’autre eigrp

    ali

    6 Jan 13 at 0 h 30 min

  31. Salut Julien,

    Tout d’abord, je tiens à te remercier pour ce lab édifiant.
    Pour ma part, je suis sur mon projet de fin d’année, et il s’avère que j’ai un p’tit souci (relatif à la question posée par Ahmed)…
    Je souhaite créer deux VPNs qui ont une interface de PE en commun; j’ai donc configuré mes VRFs avec succès dans les deux PEs. Lorsque j’ai voulu créer le lien entre les VRFs et l’interface voulue; j’ai fait ceci:

    PE1#conf t
    Enter configuration commands, one per line. End with CNTL/Z.
    PE1(config)#int s1/1
    PE1(config-if)#ip vrf forwarding C1
    % Interface Serial1/1 IP address 192.168.0.1 removed due to enabling VRF C1
    PE1(config-if)#ip vrf forwarding C2
    PE1(config-if)#ip address 192.168.0.1 255.255.255.240
    PE1(config-if)#no sh

    Par la suite, voilà le résultat que j’obtiens:

    PE1#sh ip vrf
    Name Default RD Interf
    C1 1:1
    C2 1:2 Se1/1

    Ne suis-je pas censé avoir la même interface spécifiée sur la première ligne???

    Je te remercie d’avance pour ton aide.

    Cordialement,

    Rman3

    Rman3

    22 Fév 13 at 8 h 00 min

  32. Bonjour Rman3,

    Tu n’as pas le droit de faire ce que tu essayes de faire.
    Une interface physique ne peut appartenir qu’à une seule VRF à la fois.
    Comme tu le vois dans ton sh ip vrf, il a pris en compte ta dernière commande et à enlevé de C1 s1/1.

  33. moi j’ai pratiquement le problème que les autres par contre moi j’ai tout fait lors de la configuration mais sauf que mon CE1 et CE2 c’est a dire que je n’arrive pas a envoyé un paquet ping du CE1 vers CE2.

    disant ma topologie est de deux routeurs PE1 PE2 CE1 et CE2 . Monsieur Julien BERTON pouvez vous m’aidez surtout au coté de OSPF du coté CE1 et CE2 si possible je peux vous envoyez ma configuration .net par mail voici mon mail alassane.mignon@gmail.com

    alassane

    14 Avr 13 at 0 h 53 min

  34. Salut Julien,

    Tout d’abord, je tiens à te remercier pour ce tuto,
    je suis sur mon projet de fin d’année,tout fonctionne bien. cependant, on m’a demandé de faire une capture avec wireshark ,d’analyser les trames ainsi que faire des stataics la je suis un peu perdu. s’il vous plait aidez moi et merci d’avance

    detta

    15 Avr 13 at 17 h 43 min

  35. C’est un bon tuto !!merci beaucoup

    Amasia

    10 Juin 13 at 18 h 41 min

  36. salut julien
    c’est quoi exactement le cef
    et comment les tables lib ,fib et lfib sont généré
    et si vous voulez bien ,c’est quoi la differnce entre rd et rt
    merciii beaucoup

    shikh

    16 Juin 13 at 22 h 27 min

  37. Salut Julien,J’ai lu ton super tuto c’est vraiment interessant et efficace!!Et ça marche bien pour moi!!
    J’aimerai te demander un tuto comme MPLS traffic engineering, MPLS QOS!!Si vous avez de temps SVP!!car j’ai besoin ces tutos!!
    Merci d’avance de votre réponse favorable JULIEN

    Amasia

    30 Juil 13 at 10 h 50 min

  38. salu julien,
    ma topologie contient :
    utilisateur: CEA, CEB
    nuage MPLS-VPN : PEA, P , PEB

    alors j ai essayer de pinguer sur le nuage cçd PEB vers PEA ç bien marcher
    ainsi CEB vers PEB ç bien pinguer
    CEA vers PEB aussi bien marché 😀
    mais le probleme c que j arrive pas à pinguer PEB vers CEB et PEA vers CEA :/
    donc qlq peut me aider prk j ai une soutenance pour l semaine proch ey j ai besoin d votre aide mercii en avance 🙂

    mohammed

    29 Août 13 at 18 h 05 min

  39. voici mon email el.melhaoui@hotmail.fr

    mohammed

    29 Août 13 at 18 h 06 min

  40. Merci pour le tuto ! Vraiment parfait !

    (une petite amélioration avec des protocoles de routage différents sur les clients (A_CE1 eigrp A_CE2 rip par exemple) serait vraiment appréciable)

    Mais je doute que tu te préoccupe toujours de ce tuto

    Quoi qu’il en soit, Merci 🙂

    nico

    26 Nov 13 at 14 h 18 min

  41. Bonjour Julien,
    Comme Pierre l’année dernière, je dois faire un VPN hub and spoke. Ton lab étant très utile,je m’en suis inspiré sauf que j’arrive au même problème que Pierre les routes eigrp et bgp ne sont pas redistribué. Si tu te rappelle de la solution celà pourrai m’aider.

    Merci

    Vianney

    26 Nov 13 at 16 h 12 min

  42. j’ai un routeur qui est connecté a deux autres routeurs : interface s0/0 avec l interface s0/0 du routeur R2
    interface s0/1 avec l interface s0/1 du routeur R3
    je veux savoir comment je dois configurer mpls sur ce routeur

    ss

    19 Fév 14 at 23 h 25 min

  43. très bon tuto!!!

    elk

    22 Mar 14 at 13 h 37 min

  44. bnj Mr Julien BERTON
    tt d’abord merci pour le tuto , le but de ce projet est que A_CE1 devra pouvoir avoir accès à A_CE2 mais pas à B_CE2, mais lorsque je lance le ping de A_CE1 vers B_CE2
    c marche aussi ???

    Zgueb Ramzi

    8 Mai 14 at 21 h 06 min

  45. bonjour merci beaucoup pour ces explications, elles sont claires. Seulemnent vers la fin,je suis confrontée à un problème pour redistribuer BGP dans EIGRP, je bloque. Il n’accepte pas la bande passante 1024. J’essaie avec 1544 qui est la valeur sur le serial, elle ne passe pas aussi. Merci de bien m’aider.

    dodo14

    18 Oct 14 at 19 h 30 min

  46. le problème a été résolu…il y a un chiffre que je sautais tout le temps, encore merci pour cette configuration.

    dodo14

    18 Oct 14 at 19 h 35 min

  47. grace à ton blog je démystifie mpls/vpn

    landry

    31 Oct 14 at 15 h 28 min

  48. je veux savoir les ios de tes routeurs avec gns3?

    landry

    31 Oct 14 at 15 h 29 min

  49. De mémoire, ce sont des 12.4T Adv. Enterprise Services.

  50. Hi Julien

    Je suis sur un theme qui parle de mpls/vpn avec pour objectif d interconnectes six sites. Combien de PE,P dois je avoir pour une bonne implementation.Quelle genre de conseil je peux avoir pour la reussite totale du projet. J ai 6 sites dont un sites doit etre le siege de tous les autres sites. En gros 5 sites avec un hub.

    Amadou

    26 Jan 15 at 15 h 44 min

  51. Salut M. Julien j’ai un problème j’ai une topologie où deux sites du client sont dans le même PE et j’aimerai qu’il utilise la même vrf mais je ne sais quoi faire étant donné qu’une vrf dans un même routeur ne concerne qu’une interface…que faire on ma parler des domaines mais je comprend pas

    OLE GEORGES

    12 Mar 15 at 8 h 13 min

  52. bonsoir quel routeur support mpls vpn sur gns3

    lokraichi

    27 Mai 15 at 23 h 37 min

  53. Salut !!

    Merci beaucoup mais alors vraiment beaucoup pour ce chouette tuto !!
    Il est rare de trouver des tutos d’aussi bonne qualité sur le réseau !
    Juste un petite remarque… J’ai un le soucis où une fois la config fini le ping ne passait pas entre A_CE1 et A_CE2 comme quelques personnes ci-dessus. Enfait j’avais juste pas tapé la commande ‘mpls ip’ dans mes interfaces de P1 et P2. Tu le dis de le faire (cf : « Cette procédure sera à répeter sur de plusieurs ports(P1, P2 et PE2) qui sont dans le nuage MPLS. ») mais c’est pas assez claire à mon avis et quand on lit un peu vite on saute cette étape très importante ! Si je peux te donner un conseil.. Fais le ressortir dans ton article.

    Encore bravo et merci !!

    —-
    Bruno SOUSA
    Bidouille-IT

    Bruno Sousa

    18 Juin 15 at 17 h 05 min

  54. Bonjour Bruno,

    Mais de rien! Merci à toi pour ton feedback.
    Avec le recul, je suis d’accord avec toi, cela ne ressort pas assez, c’est un point sur lequel j’avais aussi été en difficulté lorsque j’avais fait mes premiers tests 😉

    Julien BERTON

    18 Juin 15 at 17 h 09 min

  55. Bonjour Julien,

    je vous remercier pour votre lab.

    je suis sur mon projet (DMVPN) de fin d’année, j aimerais avoir une configuration basic du MPLS sans VPN.

    Merci d’avance de votre réponse

    Cordialement.

    Hamza

    8 Juil 15 at 16 h 06 min

  56. bonjour ,
    svp est ce que vous pouvez m’aider pour faire la configuration de cette meme topologie en utilaisant au lieu du protocole OSPF , le protocole ISIS
    j’espere avoir votre reponse le plutot possible
    Tres bonne soirée

    Rafif Meriem

    12 Sep 15 at 21 h 32 min

  57. Et Merci d’avance de votre reponse 🙂
    cordialement

    Rafif Meriem

    12 Sep 15 at 21 h 34 min

  58. j enqrrive pas a faire communiquer deux lan qider moi

    yqnstqr

    16 Oct 15 at 5 h 09 min

  59. Coool JUlIEN merci pour cet article super .j’aimerais savoir solliciter ton apport lorsque je serai prêt à ecrire mon memoire .est ce possible?

    junior

    18 Déc 15 at 12 h 47 min

  60. @junior Pourquoi pas 😉

    Julien BERTON

    20 Fév 16 at 17 h 06 min

  61. Bonsoir ,
    C’est pour mon projet de spécialité en Réseaux avancés
    J’ai suivi les meme étapes que les tiennent en utilisant le RIP entre les PE ET CE .
    Les tables de routage sont correctes mais le ping ne fonctionne pas !
    Est tu pourrais me situer le problème sachant que j’au refait plus de 3 fois la configuration.

    Je pourrai t’envoyer ma topologie sous gns3 via le MAIL?

    LILIA

    13 Fév 16 at 21 h 09 min

  62. bonjour julien !! tres bon travail .. au fait dans le cadre d’un projet scolaire j’ai repris la configuration de ton VPN/MPLS . le probleme cest que jai respecter tout ta configue mais en voulant pinger PE2 par PE1 ca ne passe pas. jai continuer quand meme et en voulant configurer la MP-BGP et precisement en tapant :
    #neighbor 172.16.1.2 update-source loopback 0 ca ne passe pas. j’aimerais savoir quelle adresse ip vous avez utiliser pour le PE2 lorsque vous avez dit d’adapter?? bref svp j voudrais plus de precision
    merci d’avance…!!!

    rodi31

    22 Fév 16 at 12 h 04 min

  63. Merci pour ce tuto !

    Issam BATTI

    15 Mar 16 at 10 h 47 min

  64. Bonjour,
    je crois tu utilises un ios qui ne supporte pas ces commandes. essaye de récupérer la même ios que celui de Julien….!!!!!!!!

    Root34

    7 Avr 16 at 11 h 05 min

  65. Bonjour, excellent ton tuto. J’avoue je ne suis pas encore un spécialiste de GNS3 c’est même la raison pour laquelle j’ai fais un tuto sur http://www.alphorm.com/tutoriel/formation-en-ligne-gns3 . Seulement, ton avis à propos de la mise en place d’un VPN MPLS m’intéresse beaucoup.

    Marc

    31 Mai 16 at 11 h 17 min

  66. bnsr j essaye de faire les méme configuration sauf que j utilise une topologie de 4PE et 2P
    j suivis toutes les etapes mais
    arivant au test final
    la route ver 10.1.2.0 via D (eigrp)n apparait pas donc le ping ne marche pas
    svp est ce que quelqu’un peut m’aider

    mezine

    14 Juin 16 at 1 h 58 min

  67. bonjour monsieur
    j ai effectué les méme etape sauf que ma topologie a 4PE et 2P et a la derniere etape (test )
    la route eigrp ver 10.1.2.0 n apparait pas sur table de routage de CE1_A.
    et le ping ne marche pas non plus est ce que vous pouvais m aider c’ est urgent .merci.

    redouane

    14 Juin 16 at 8 h 04 min

  68. bonjour!

    je viens de lire le lab avec beaucoup d’attention. mais je suis novis dans ce domaine. je veux savoir, lorsqu’on veut implémenter le MPLS, quelles sont les configurations qui doivent impérativement être faites?

    Magnifique

    25 Juil 16 at 17 h 49 min

  69. J ai configuré tout les router mais quand j fait un ping sur les 2 CE ça passe que sur un seul site CE à cause une même adresse ip sur les 2 clients. Qu est ce qu il faut pour arriver à faire le ping sur tout les 4 sites respectivement.

    Alex colza

    18 Août 16 at 3 h 22 min

  70. bonjour julien!
    avant toute chose,je tiens a vous remercier pour ces efforts afin de nous partager votre savoir ainsi que vos connaissances,le probleme qui me freine lors de la simulation se trouve sur l’assignation du Vrf coté PE1,apres avoir assigné ce vrf,les interfaces du PE1 ne marchent pas,pas de ping ni d’adjacence entre PE1 et A-CE car bien evidemement les interfaces ne marchent pas alors que la configuration est bien faite.merci pour votre reponse tant attendue!

    nassur

    22 Août 16 at 13 h 51 min

  71. Bonsoir,
    j’ai a peu prêt la même maquette de simulation. mon problème est que lorsque je fais l’assignation sur un port du routeur PE c’est cette phrase qui s’affiche:<< interface GigabitEthernet4/0 IP address 10.1.1.1 removed due to disabling VRF clientA
    de ce fait mes deux CE ne peuvent pas se pinger

    AMINATA

    14 Déc 16 at 22 h 42 min

  72. Bonjour M BERTON,
    Merci infiniment car votre tuto m a été d’une très grande aide pour résoudre le problème que j avais lors de la similation d’un réseau IP qui devait migrer vers MPLS/VPN

    amina

    21 Déc 16 at 6 h 28 min

  73. Bonjour Monsieur très bon tuto et trés instructifs!!
    Mais j’avais une petite question à savoir si au niveau des routeurs CEs il est possible d’ajouter des politiques de sécurités (authentifications, chiffrements, hachage)!?? Est ce que c’est possible??

    AKIM

    22 Déc 16 at 17 h 53 min

  74. Bonjour,
    Je tiens à te remercier pour ce tuto.
    Je voudrais juste ajouter une petite remarque.
    Si l’on effectue un traceroute de A_CE1 vers A_CE2, on obtient quelque chose du genre:

    VRF info: (vrf in name/id, vrf out name/id)
    1 10.1.1.2 16 msec 12 msec 20 msec
    2 192.168.1.2 [MPLS: Labels 18/20 Exp 0] 80 msec 76 msec 64 msec
    3 192.168.1.6 [MPLS: Labels 18/20 Exp 0] 88 msec 64 msec 96 msec
    4 10.1.2.2 64 msec 88 msec 76 msec
    5 10.1.2.1 100 msec 72 msec 108 msec

    Je trouve cela « pas terrible » de voir le réseau opérateur.
    Pour éviter cela, il suffit d’ajouter sur les routeurs PE1 et PE2, la commande suivante:

    PE1(config)# no mpls ip propagate-ttl
    A_CE1# traceroute 10.1.2.1
    Tracing the route to 10.1.2.1
    VRF info: (vrf in name/id, vrf out name/id)
    1 10.1.1.2 12 msec 16 msec 28 msec
    2 10.1.2.2 68 msec 84 msec 92 msec
    3 10.1.2.1 76 msec 116 msec 104 msec

    Cette commande a pour effet de ne pas décrémenter le TTL, mais au contraire de la passer à 255.

    lsenecaux

    1 Mar 17 at 8 h 59 min

  75. Bonjour Ludovic, Merci pour ton retour et tes conseils, je n’y avais pas pensé effectivement.

    Julien BERTON

    10 Mar 17 at 14 h 52 min

  76. Excellent travail merci beaucoup.

    Yassine

    16 Mar 17 at 2 h 05 min

  77. Bonjour Julien,

    Après le DMVPN, il vient une fois de plus m’épater avec le VPN MPLS.
    Cependant, j’ai un souci: je vois bien les réseaux des sites distants dans ma table de routage mais impossible de les pinguer. J’ai repris la config deux fois et tjrs le même problème.
    Merci pour l’aider

    Adama

    Adama

    23 Mar 17 at 23 h 45 min

  78. Bonjour Julien,

    Si je veux chiffrer les flux à partir de PE1 et de PE2 comment dois-je m’y prendre ?

    Bien cordialement
    Pierre

    Pierre MARCEL

    12 Avr 17 at 18 h 23 min

  79. Salam, je vous remercie pour ces éclaircissements et je voulais savoir le type des équipements que vous avez utiliser pour réaliser cette maquette et Merci

    Najat

    4 Mai 17 at 23 h 26 min

  80. bonsoir, julien excellant travail ..
    mais j’ai un problème l’hors de l’activation du LDP sur les interfaces concernées …
    je n’ai pas compris comment je le fais !!?
    Esque je mets la même commande ou quoi!!
    et merci

    napilos

    10 Mai 17 at 23 h 28 min

  81. bonjour, julien.merci pour le travail.

    j’ai un problème j aimerai savoir comment gerer l’optimisation de la bande passante des services coter operateur et client via un reseau mpls

    alexandre

    24 Juil 17 at 12 h 02 min

  82. Hello Alexandre. Je te recommande d’aller voir du côté du Traffic Engineering (TE) MPLS, un petit example ici :
    http://www.cisco.com/c/en/us/td/docs/ios/12_0s/feature/guide/TE_1208S.html

    Julien BERTON

    24 Juil 17 at 17 h 19 min

  83. Salut Julien, très sympa & explicite ton Lab. Seulement j’ai du mal a m’en sortir avec le TE. car meme dans le lien http://www.cisco.com/c/en/us/td/docs/ios/12_0s/feature/guide/TE_1208S.html que tu as suggéré à Alexandre, j’ai un peu du mal à me retrouver. J’aurai souhaité que tu nous propose un Lab dessus afin que cela nous facilite la compréhension. Merci encore et à bientot.

    Davy Jones

    11 Août 17 at 20 h 16 min

  84. Bonjour Julien,
    Juste une question lors de la redistribution de route entre bgp et eigrp les routeurs CE n’apprennent pas les routes et même les PE n’ont pas pas pu échanger les routes entre eux sachant que j’ai déja fait la redistribution et tout..

    Merci.

    Lora

    15 Août 17 at 20 h 32 min

  85. Bonjour Julien,

    Si on veut chiffrer le trafic entre PE1 et PE2 ou entre A_CE1 et A_CE2,comment faire ?

    Merci

    Capwel

    28 Août 17 at 6 h 16 min

  86. Bonjour,

    Avez vous à disposition la topologie en gns3 avec les modèles des routeurs utilisé ?
    Merci par avance

    jerome

    18 Sep 17 at 17 h 02 min

  87. merci pour tout Julien Berton
    je suis un debutant
    j’essay de réaliser votre plan sur GNS3
    mais quand je configure tout les router dans le nuage par ospf avec le même reseau je n’arrive pas a pinger les loopback des differents PE

    konan richmond

    25 Jan 18 at 12 h 01 min

Leave a Reply