Configuration Basique De BGP.doc

181
Configuration Basique De BGP September 26, 2013 by Valentin Weber Leave a comment Vous avez assimilé la théorie sur le protocole BGP ? Voyons comment le mettre en place de manière basique. Nous verrons plus tard des configurations plus complexes. 1) La topologie à utiliser Voici la topologie que nous utiliserons tout au long de cette mise en pratique. Le but sera de voir les configurations de base de BGP. Trois Autonomous System sont à connecter grâce à BGP.

Transcript of Configuration Basique De BGP.doc

Configuration Basique De BGP

Configuration Basique De BGP

September 26, 2013 byValentin Weber Leave a commentVous avez assimil la thorie sur le protocole BGP?

Voyons comment le mettre en place de manire basique.

Nous verrons plus tard des configurations plus complexes.

1) La topologie utiliser

Voici la topologie que nous utiliserons tout au long de cette mise en pratique.

Le but sera devoir lesconfigurations de base de BGP.

TroisAutonomous Systemsont connecter grce BGP.

2) Configuration de base

La configuration de base mettre en place afin de suivre cet article est la suivante:

Adresses IP

Interfaces Loopback

OSPF sur R1, R2 et R3

Une fois cela fait, vous pouvez passer la suite: la configuration de BGP!

3) Relations de voisinage BGP

Bien, voyons comment crer une relation de voisinage BGP entredeux routeurs

Relation eBGPTout dabord, entrer dans le mode BGP en spcifiant le numro dAS:

R1(config)#router bgp 300

Puis ajouter une relation de voisinage:

R1(config-router)#neighbor 14.0.0.4 remote-as 100

On spcifie lIP du voisin ainsi que son AS

Il faut maintenant faire de mme sur R4:

R4(config)#router bgp 100

R4(config-router)#neighbor 14.0.0.1 remote-as 300

Comme nous lavions dit, BGP est un protocole lent.

Aprsun certain temps, la relation BGP va apparaitre:

Nous pouvons voir la liste des relations comme ceci:

Faisons de mme pour R3 et R5:

R3(config)#router bgp 300

R3(config-router)#neighbor 35.0.0.5 remote-as 200

R5(config)#router bgp 200

R5(config-router)#neighbor 35.0.0.3 remote-as 300

Les relations sont cres. Ce sont des relations eBGP car elles se mettent en placeentre deuxAutonomous System.

Relation iBGPIl est aussi possible de mettre enplace desrelations iBGP (au sein dun mme AS).

Nous allons donc mettre en place une relation iBGP entre R1 et R3. Le but est quils schangent leurs routes BGP sans quil soit ncessaire dutiliser de la redistribution.

Vous pourrez constater quil nest pas ncessaire que les routeurs soient directement connects pour quune relation se forme.

Pour unerelation iBGP, il est conseill dutiliser une IP de Loopback comme IP de voisin.

Pourquoi? Car si nous utilisons une IP dinterface, et que celle-ci tombe en panne, la relation BGP disparait. Bien sr, cela est utile que si notre rseau dispose deliens redondantsvers ce voisin.

Si nous avions un lien direct entre R1 et R3 (en plus du lien R1 -> R2 -> R3), et que nous utilisions 10.0.23.3 comme IP de voisin pour R3, la relation BGP disparaitrait si le lien R1 -> R2 -> R3 tombait (alors quil reste le lien R1 R3).

Ici nous navons quun lien reliant R1 et R3. Mais voyons tout de mme comment faire une relation de voisinage avec une IP de Loopback.

Sur R1 et R3, ajouter une interface de Loopback. Ne pas oublier dinclure cette interface dans le processus OSPF.

R1(config)#interface loopback 0

R1(config-if)#ip address 1.1.1.1 255.255.255.255

R1(config)#router ospf 1

R1(config-router)#network 1.1.1.1 0.0.0.0 area 0

R3(config)#interface loopback 0

R3(config-if)#ip address 3.3.3.3 255.255.255.255

R3(config)#router ospf 1

R3(config-router)#network 3.3.3.3 0.0.0.0 area 0

Ensuite, configurer la relation BGP :

R1(config)#router bgp 300

R1(config-router)#neighbor 3.3.3.3 remote-as 300

R3(config)#router bgp 300

R3(config-router)#neighbor 1.1.1.1 remote-as 300

Un Show ip bgp summary vous montrera que la relation nest pas UP :

Cela tient au fait que quand R3 envoie un message R1, le message a pour source 10.0.23.3 (lIP de linterface qui envoie le message).

Or R1 sattend recevoir des messages de 3.3.3.3

Il faut donc changer la source des messages pour cette relation de voisinage:

R1(config-router)#neighbor 3.3.3.3 update-source loopback 0

R3(config-router)#neighbor 1.1.1.1 update-source loopback 0

Un peu de patience et la relation devrait apparaitre.

Relation eBGP avec IP de LoopbackFinissons par une petite particularit, la mise en place de relation eBGP avec une IP de Loopback.

Si vous faites ceci, il faut ajouter une commande (en plus de la relation de voisinage avec IP de Loopback). La voici en exemple pour R5:

R3(config-router)#neighbor 5.5.5.5 ebgp-multihop 2

Il est ncessaire dutiliser cette commande, car par dfaut, une relation eBGP ne peut pas stablir sur une distance de plus de 1 saut.

Il faudra appliquer la mme commande sur R5.

Il faut aussi que les deux routeurs sachent comment joindre lIP de Loopback. Dans lexemple, R5 doit avoir une route vers 3.3.3.3 (et inversement pour R5).

Lutilisation dune IP de Loopback pour une relation eBGP est utile si vous possdez un lien redondant (double lien) vers le voisin.

4) Distribution de route

Solution 1: La commande NetworkLes relations de voisinage sont en place, cest une bonne chose.

Par contre, il manque quelque chose:

Les routes ne sont pas redistribues par BGP.

La commande Neighbor ne fait qutablir la relation BGP.

Pour annoncer des rseaux (les inclurent dans le processus BGP), voici la procdure:

R4(config)#router bgp 100

R4(config-router)#network 40.0.0.0 mask 255.255.255.0

R4(config-router)#network 40.0.1.0 mask 255.255.255.0

R4(config-router)#network 40.0.2.0 mask 255.255.255.0

Contrairement aux autres protocoles, la commande Network ne fait quajouter des rseaux au processus. Elle ne permet pas de crer une relation avec un voisin.

Voici le rsultat :

A ce stade, vous vous demandez surement pourquoi nous navons pas annonc le rseau 40.0.0.0 /22.

Simplement parce que BGP ne peut annoncer une route que si elle est prsente dans la table de routage.

Or, voici la table de routage de R4:

La route 40.0.0.0 /22 nexiste pas. Nous ne pouvons donc pas lannoncer avec BGP.

Ensuite, annoncez les rseaux de R5 :

R5(config-router)#network 50.0.0.0 mask 255.255.255.0

R5(config-router)#network 50.0.1.0 mask 255.255.255.0

R5(config-router)#network 50.0.2.0 mask 255.255.255.0

Solution 2 : la redistribution

La deuxime solution consiste utiliser la redistribution de route.

Ici rien de bien nouveau. Voyons tout de mme un exemple pour BGP.

Nous allons ajouter deux interfaces de Loopback sur R5, de manire crer de nouvelles routes.

R5(config)#interface loopback 3

R5(config-if)#ip address 50.1.0.1 255.255.255.0

R5(config-if)#interface loopback 4

R5(config-if)#ip address 50.1.1.1 255.255.255.0

Le but est que R5 annonce ces routes en BGP.

Profitons-en pour faire une redistribution propre :

R5(config)#access-list 10 permit 50.1.0.0 0.0.0.255

R5(config)#access-list 10 permit 50.1.1.0 0.0.0.255

R5(config)#route-map BGPRedistribution

R5(config-route-map)#match ip address 10

R5(config)#router bgp 200

R5(config-router)#redistribute connected route-map BGPRedistribution

Voici le rsultat :

5) Distribution des routes par iBGP

Nous avons mis en place la distribution de route par BGP.

R4 annonce ses routes R1, et R5 annonce ses routes R3.

Mais il y a un problme que vous aurez peut tre remarqu: R1 et R3 ne schange pas de route par BGP.

La relation iBGP entre R1 et R3 ne semble pas permettre la redistribution des routes apprises par eBGP.

Vous pouvez voir cela sur la table de routage juste au-dessus.R3 ne connait pas les rseaux 40.0.0.0 /22

En ralit, R1 connait les routes, mais il ne les places pas dans sa table de routage.

Il ny a pas de chevron devant la route. Elle nest donc pas mise dans la table de routage.

Mais pourquoi donc?

Il y a deux raisons.

1erraison: Un routeur napprend pas une route par iBGP (et ne la redistribue pas) tant quil na pas appris cette mme route par un protocole de routage interne (type OSPF).

Dans notre topologie, R1 napprendra pas la route pour 50.0.0.0 /24 par iBGP (donc venant de R3), tant quil na pas reus une MAJ OSPF contenant une route vers cette mme destination.

Cette rgle tait valable sur les anciens routeurs Cisco. Pour lannuler, il faut entrer la commande no auto-summary.

Un Show run vous permettra de savoir si la commande est active par dfaut.

Si ce nest pas le cas, il faut lentrer sur R1 et R3.

2eraison: Quand eBGP annonce une route, il change le Next-Hop. Quand iBGP annonce une route, il ne change pas le next hop.

Quest-ce que cela pose comme problme?

Et bien R3 va annoncer une route R1, ayant pour destination 50.0.0.0 /24, et pour Next Hop 35.0.0.5.

Hors R1 na pas la moindre ide de comment joindre 35.0.0.5.

Il ne va donc pas placer cette route dans sa table de routage.

La commande Show bgp vous permet de voir les routes avec leurs Next-Hop.

Il va donc falloir changer le Next-Hop au moment o R3 annonce les routes R1.

La manipulation est simple:

R3(config)#router bgp 300

R3(config-router)#neighbor 1.1.1.1 next-hop-self

R3 va changer le Next-Hop par son IP quand il va redistribuer des routes R1.

Pareil pour R1:

R1(config)#router bgp 300

R1(config-router)#neighbor 3.3.3.3 next-hop-self

Voyons si cela a march :

En effet, R1 connait maintenant les routes redistribues par R3 (et inversement pour R1).

Au passage, vous noterez que R4 a aussi appris les routes (pareil pour R5).

6) Les trous noirs causs par BGP

Aviez-vous remarqu que vous avez cr un trou noir? Ou plutt que je vous ai fait crer un trou noir?

Bon certes, le terme est un peu fort, mais tout de mme.

Pour constater les dgts, faite un ping depuis R4 vers 50.0.0.1.

Normalement, il devrait passer, non?

Et bien non Et pourquoi? Car R2 ne connait pas la route vers 50.0.0.0 /22.

Et pourquoi ne connait-il pas la route? Car celle-ci a t annonce en BGP. La MAJ est venue de R5, elle est passe par R3 puis a travers R2 (sans que celui-ci ne la prenne en compte), puis elle est arrive R1 (puis R4).

Au final, R2 a bien reu la MAJ. Sauf que comme il nutilise pas BGP (et donc quil na pas de relation de voisinage), il ne la pas assimil. Il sest content de la dirig vers sa destination (R1).

Mais comment empcher le trou noir?

3 solutions:

Mettre en place un lien direct entre R1 et R3

Redistribuer les routes BGP dans OSPF (R2 va donc les assimiler)

Mettre en place BGP sur R2

La mise en place dun lien est la solution la plus simple est la plus performante. Il faut tout de mme que le cblage soit ralisable.

La redistribution de route est une bonne solution si R2 est capable de supporter toutes les routes. Dans cet exemple, il ny a pas beaucoup de route. Mais imaginez une topologie avec de trs grandes tables de routage (ce qui arrive quand on se connecte un FAI).

Il faut donc voir si R2 possde suffisamment de ressources.

De plus, le routeur de destination doit connaitre la route de retour.

Par exemple, pour aller de R1 R5, la redistribution permet R1 de connaitre 50.0.0.0 /22, mais il faut que R5 connaisse la route pour revenir 10.0.12.0 /24.

Il en est de mme pour lutilisation de BGP. A la diffrence prs que BGP conserve toutes les routes reues. Si R1 et R3 envoient des routes pour la mme direction, R2 va toutes les conserver. Puis il va mettre la meilleure dans la table de routage.

Si R1 et R3 envoient des routes similaires, cette solution est plus gourmande que la redistribution.

Libre vous de choisir la solution adquate.

Vous devriez tre capable de faire fonctionner les trois.

Pour ma part, je vais faire simple. Je vais placer un lien entre R1 et R3.

Nanmoins, je vous encourage tenter unes des deux autres solutions.

Il y a un ou deux piges viter. La mise en place peut donc tre intressante.

Il faut bien faire attention. Pour que les solutions fonctionnent il faut que les routes soient connues de tous les routeurs.

Voici pour la mise en place dun lien:

Ajouter le lien:

Configurer les interfaces.

Mettre en place OSPF entre R1 et R3 (pour que le meilleur chemin vers 3.3.3.3 soit le lien Ethernet).

Inclure les rseaux 14.0.0.0 /24, 35.0.0.0 /24 et 10.0.13.0 /24 dans le processus BGP.

Voici le rsultat :

Introduction BGP

September 26, 2013 byValentin Weber Leave a commentVous tes-vous dj demand quel protocole de routage est utilissur internet? La rponse est BGP.

Ce protocole est prvu pour raliser du routage entre des AS (Autonomous System). Il est aussi prvu pour fonctionner sur de trs grands rseaux.

A travers cette srie darticle, nous allons tudier son fonctionnement, comment le mettre en place, etc

1) Caractristiques de base

Il existe 2 types de protocole de routage: les IGP (InteriorGateway Protocol) et les EGP (Exterior Gateway Protocol).

Les IGP assurent le routage au sein des AS (Autonomous System). Par exemple: RIP, EIGRP, OSPF.

Les EGP assurent le routage entre les AS.

BGP est du type EGP. Cest dailleurs le seul protocole de ce type.

Pour rappel, un AS est un ensemble de rseaux sous une mme autorit. Par exemple, un rseau dentreprise est un AS. BGP permet de connecter cet AS internet, et donc dautres AS.

Il est utile de connaitre le fonctionnement de BGP pour:

Travailler chez un oprateur internet

Grer un point dchange entre oprateurs

Se connecter plusieurs FAI

Le mettre en place dans le cur de rseau dune trsgrande entreprise

BGP est du type Path Vector. Cest un driv du typevecteur de distance.

La mtrique utilise est trs complexe, et ladministrateur de lAS pourra en quelque sorte choisir la mtrique utiliser. Il ne sagit pas dune mtrique simple, mais dune liste dattributs associs la route. Nous verrons les dtails plus tard.

BGP utilise TCP sur le port 179. Cest donc TCP qui se charge denvoyer les Ack.

La convergence sur un rseau BGP est trs lente.

Imaginez ce qui se passerait sur internet avec une convergence rapide.

Le moindre changement serrait immdiatement rpliqudans le mondeentier!

Aussi, les MAJ de routage sont envoyes quand il y a du changement, et seulement ce qui a chang est envoy.

2) Relation de voisinage BGP

Pour tablir une relation de voisinage BGP entre 2 routeurs, il faut la configurer manuellement sur lesdeux routeurs.

Contrairement dautres protocoles o les voisins se dtectent automatiquement, en BGP il faut renseigner ladresse du voisin, de manire tablir la connexion.

Comme dit prcdemment, la session utilise le protocole TCP.

Voici les tats dune connexion:

Idle: Premier stade dune session BGP. Quand une ouverture de session est demande (configuration, dmarrage du routeur), le routeur initie une session TCP, puis passe en mode Connect (pour attendre la rponse)

Connect: Le routeur attend une rponse (TCP Syn-Ack) du voisin ou une demande ltablissement de connexion TCP. En effet, les deux routeurs vont vouloir tablir une session en mme temps. Une seule session sera conserve (celle initie par le routeur avec le plus haut ID). Il y aura donc un routeur chef de la relation de voisinage. Quand la session est tablie, on envoie le message Open et on passe en mode Open Sent

Active(facultatif): La tentative de connexion avec le voisin a chou (Timeout).Le routeur fait une nouvelle tentative. En cas dchec, il retombe en mode Idle. En cas de succs, on passe en mode Open Sent. Ce statut nest donc atteint quen cas dchec en mode Connect.

OpenSent: Le message Open a t envoy. Il contient diverses infos (version BGP, ID du routeur, numro dAS, Hold Down Timer). A la rception du message Open du voisin, si tout convient, le routeur envoie un KeepAlive au et passe en Open Confirm.

Open Confirm: Attente du KeepAlive du voisin, avant de passer en Established.

Established: La relation de voisinage est tablie. Les routeurs peuvent schanger des routes.

Voici un petit schma rsumant le processus (sans le passage en mode Active) :

3) Types de messages BGP

Voyons les diffrents types de messages qui existent en BGP.

Nous avons dj abord certains dentre eux.

Open packet: Il permet de dmarrer une relation de voisinage. Cest le premier message envoy aprs quune session TCP soit tablie. Il contient entre autrela version BGP, lID du routeur (lIP dune des interfaces), le numro de lAS local, et le Hold Down Timer (temps max entre deux messages BGP avant de clore la session). Le message Open peut aussi contenir des informations additionnelles.

Keep Alive: Permet de maintenir la relation BPG. Comme BGP nenvoie des MAJ que lors ce que cest ncessaire (aprs un changement), il est fort probable que les routeurs ne discutent pas pendant longtemps (si il ny a pas de changement). Pour sassurer que la relation de voisinage tient toujours (et que le voisin est toujours l), des Keep Alive sont envoys. En gnrale, le temps entre deux Keep Alive reprsente 1/3 du Hold Down Timer Max. Si on ne reoit pas de Keep Alive ou de Update, et que le Hold Down Timer est atteint, la relation est arrte. Par dfaut le Hold Down Timer est de 180 secondes chez Cisco. Donc 60 secondes entres les Keep Alive.

Update: Permet dannoncer de nouvelles routes, ou den retirer. Quand on annonce une nouvelle route, on donne lAS Path avec. Il sagit du chemin que va emprunter le paquet pour arriver destination. Si le routeur qui reoit la route pour une destination voit son propre AS dans lAS Path, il va refuser la route (car cela causerait une boucle de routage).

Notification: Informe le voisin quil y a un problme. La relation BGP est arrte (ainsi que la session TCP) et le routeur repasse en mode Idle.

4) Types de tables BGP

BGP utilise 3 tables pour fonctionner.

Neighbor Table: contient la liste des voisins qui on est connect. Les relations sont tablies la main.

Voici un exemple de table de voisinage:

Les champs contenus dans la table sont les suivants:

Neighbor: lID du voisin

V: la version BGP

AS: le numro de lAutonomous System du voisin

MsgRcvd: nombre de messages reus (Update, KeepAlive)

MsgSent: nombre de messages envoys

TblVer: dernire version de la table de routage envoye ( comparer avec la version locale)

InQ: nombre de messages en file dattente venant du voisin

OutQ: nombre de message en file dattente, envoyer chez le voisin

Up/Down: depuis combien de temps la relation est UP

State/PfxRcd: nombre de prfixes reus par le voisin

La deuxime table est laBGP Table. Elle contient la liste de toutes les routes reus, et ce depuis tous les voisins. En effet, si lon a plusieurs voisins, il se peut que lon reoive plusieurs fois la mme route (mais venant dun voisin diffrent).

Voici un exemple:

Les champs contenus dans la table sont les suivants:

*: ltoile signifie que la route est valide

>: le chevron signifie que cest la meilleure route disponible pour cette destination (ici nous navons quune route, donc il ny a pas le choix)

Network: le rseau de destination

Next Hop: prochain saut pour joindre la destination

Metric: un des attributs constituant la mtrique totale

LocPrf: un des attributs constituant la mtrique totale

Weight: un des attributs constituant la mtrique totale

Path: les AS par lesquels il faudra passer (ici il ny en a que 1: le 200)

La troisime table est latable de routage, ce qui est logique. Son fonctionnement ne change pas de dhabitude.

Pour chaque destination apprise par BGP, la meilleure route sera place dans la table de routage.

5) Multihoming

Le principe du Multihoming cest dtre connect plusieurs FAI.

Cela permet davoir de la redondance (haute disponibilit), et de faire de la rpartition de charge.

Cela un intrt sur les paquets entrants et sortants:

Paquet sortant : nous pouvons rpartir la charge sur les deux FAI. Nous pourrons alors profiter de nos deux lignes internet. De plus, selon le rseau de destination joindre (sur Internet), il est possible quun FAI offre une meilleure route. Nous pourrons alors le favoriser dans le choix du Next Hop.

Sans BGP, nous pouvons tout de mme faire de la rpartition de charge, par contre, nous ne pouvons pas savoir quel FAI offre le meilleur chemin (il faudra choisir au hasard).

Paquet entrant: nous pouvons aussi rpartir la charge en entre en annonant la moiti de nos sous rseaux internes un FAI, et lautre moiti au deuxime FAI.

Dans lexemple donne, nous pouvons annoncer 170.50.2.0 /25 au FAI 1, et 170.50.2.128 /25 au FAI 2.

Si nous avons deux routeurs qui font face internet, nous pouvons privilgier lun ou lautre en fonction du rseau interne joindre. Ainsi, un paquet venant dinternet sera automatiquement dirig vers le routeur (dentre sur notre rseau) offrant le meilleur chemin.

Voyons maintenant les 3 faons dimplmenter BGP pour se connecter Internet

Cas No 1: route par dfautIci nous avons deux FAI, qui nous envoient chacun une route par dfaut.

Il nest donc pas possible de favoriser un FAI ou un autre en fonction du rseau joindre.

Par contre, nous pouvons tout de mme utiliser les deux FAI simultanment (rpartition de charge), ou en garder un en secours.

Nous pouvons aussi influencer le choix du FAI pour les paquets entrants (voir prcdemment), selon les rseaux (internes) que lon annonce aux FAI.

Cette solution ne consomme que trs peu de ressource.

Cas No 2: MAJ partiellesIci les FAI nous envoient une partie de leur table de routage (table de routage de tout internet).

Nous pouvons choisir les routes (pour quelles destinations) que nous souhaitons recevoir.

Par exemple, si nous avons des bureaux distants ou des serveurs dans un Data Center, nous y enverrons rgulirement du trafic. Nous souhaitons donc savoir quel FAI nous offre le meilleur chemin vers ces destinations favorites.

Pour les autres destinations, nous choisirons alatoirement un des FAI.

Cas No 3: MAJ compltesIci les 2 (ou plus) FAI nous envoient chacun leur table de routage complte (table de routage de tout internet.

Nous pourrons donc choisir le meilleur FAI pour chaque paquet sortant.

Cette solution consomme beaucoup de ressource. Surtout beaucoup de RAM (plusieurs centaines de MO)

Redistribution De Route : Configuration

September 26, 2013 byValentin Weber Leave a commentNous avonsvu lebut de la redistribution, les problmes poss par celle-ci, puis nous avons fait un aperu des mthodes qui existent pour redistribuer les routes.

Passons au plus intressant, la pratique!

Nous allons implmenter les solutions vues prcdemment,dans unetopologie.

Nous verrons laDistribution List, la Prefix List et lesRoute Maps.

1) TopologieLa topologie que nous allons utiliser est presque la mme que dans larticle traitant de la thorie.

Nous retrouvons 3 rseaux: un OSPF, un EIGRP, et un RIP.

Comme toujours, les IP des interfaces sont celles du rseau associ + ID du routeur.

Exemple pour R3 S0/1: 10.0.34.3 /24

2) Configuration de base

Voici la listedes choses mettre en placeavant de commencer :

- IP des interfaces

- Interfaces Loopback

Configurons ensuite le routage.

OSPF

R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1

R1(config-router)#network 172.16.30.0 0.0.0.255 area 0

R1(config-router)#network 172.16.31.0 0.0.0.255 area 0

R1(config-router)#network 172.16.32.0 0.0.0.255 area 0

R1(config-router)#network 172.16.33.0 0.0.0.255 area 0

R1(config-router)#network 10.0.13.0 0.0.0.255 area 0

R1(config-router)#network 10.0.12.0 0.0.0.255 area 0

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 10.0.12.0 0.0.0.255 area 0

R3(config)#router ospf 1

R3(config-router)#router-id 3.3.3.3

R3(config-router)#network 10.0.13.0 0.0.0.255 area 0

EIGRP

R2(config)#router eigrp 1

R2(config-router)#no auto-summary

R2(config-router)#network 10.0.25.0 0.0.0.255

R3(config)#router eigrp 1

R3(config-router)#no auto-summary

R3(config-router)#network 10.0.34.0 0.0.0.255

R4(config)#router eigrp 1

R4(config-router)#no auto-summary

R4(config-router)#network 10.0.34.0 0.0.0.255

R4(config-router)#network 10.0.45.0 0.0.0.255

R5(config)#router eigrp 1

R5(config-router)#no auto-summary

R5(config-router)#network 10.0.25.0 0.0.0.255

R5(config-router)#network 10.0.45.0 0.0.0.255

R4(config-router)#network 172.16.20.0 0.0.0.255

R4(config-router)#network 172.16.21.0 0.0.0.255

R4(config-router)#network 172.16.22.0 0.0.0.255

R4(config-router)#network 172.16.23.0 0.0.0.255

RIP

R5(config)#router rip

R5(config-router)#version 2

R5(config-router)#network 10.0.56.0

R6(config)#router rip

R6(config-router)#version 2

R6(config-router)#network 10.0.56.0

R6(config-router)#network 172.16.0.0

(Il faudra un peu de temps R5 pour recevoir la routes 172.16.0.0 /16)

La configuration de base est prte.

Avant de passer la redistribution, vrifier que les routes se sont bien propages.

3) Redistribution basiquePassons auxchoses srieuses!

Nous allons commencer par redistribuer les routes OSPF dans EIGRP

La configuration doit seffectuer sur R2 et R3.

Pour redistribuer les routes OSPF dans EIGRP, il faut aller dans le mode EIGRP (attention ne pas se tromper).

Il est trs important de spcifier la mtrique quand on redistribue des routes dans EIGRP (de mme pour RIP). Sans une mtrique choisie, les routes sont annonces avec une mtrique infinie.

Pour OSPF, une mtrique de 20 est utilise si rien nest spcifi.

Pour BGP, la mtrique est conserve.

Il faut ensuite faire de mme pour R3:

Allons voir sur R4 si la redistribution a fonctionn:

Les routes ayant le prfix EX sont des routes externes, cest--dire les routes que nous avons importes dans EIGRP.

Parfait!

Faisons de mme en important les routes EIGRP dans OSPF

La commande est presque la mme que prcdemment.

Le mot cl Subnet permet de ne pas rsumer les routes quand elles sont redistribues.

Le metric-type permet de dfinir si la mtrique doit grandir aprs redistribution.

Un Metric-type de 1 signifie que la mtrique augmente aprs la redistribution ( chaque fois quun routeur annonce cette route)

Un Metric-type de 2 signifie que la mtrique reste la mme aprs redistribution (tous les routeurs recevant cette route verrons une mtrique de 50)

Ne pas oublier de faire de mme sur R3 (mme si ce nest pas obligatoire).

Voyons le rsultat sur R1:

Parfait, il connait les routes venant dEIGRP!

Finissons par la redistribution entre RIP et EIGRP

Vrifions si R6 connait toutes les routes

En effet.

Libre vous de faire divers test pour vous assurer du bon fonctionnement de la redistribution.

4) Distribution List

Nous venons de voir la redistribution basique.

Voyons maintenant une premire technique permettant de contrler la redistribution.

La Distribution List se base sur une ACL pour savoir si oui ou non il faut redistribuer une route.

Prenons un exemple: nous ne voulons pas quune route vers le rseau 172.16.33.0 /24 soit redistribue.

Nous allons donc faire une ACL nautorisant que les routes voulues (ou bien une ACL interdisant la route non voulue).

R2(config)#access-list 1 permit 172.16.30.0 0.0.0.255

R2(config)#access-list 1 permit 172.16.31.0 0.0.0.255

R2(config)#access-list 1 permit 172.16.32.0 0.0.0.255

R2(config)#access-list 1 permit 10.0.12.0 0.0.0.255

R2(config)#access-list 1 permit 10.0.13.0 0.0.0.255

Le Deny All qui est automatiquement plac la fin, se chargera de refuser le reste.

R2(config)#router eigrp 1

R2(config-router)#distribute-list 1 out

Noublions pas de faire la mme chose sur R3:

R3(config)#access-list 1 permit 172.16.30.0 0.0.0.255

R3(config)#access-list 1 permit 172.16.31.0 0.0.0.255

R3(config)#access-list 1 permit 172.16.32.0 0.0.0.255

R3(config)#access-list 1 permit 10.0.12.0 0.0.0.255

R3(config)#access-list 1 permit 10.0.13.0 0.0.0.255

R3(config)#router eigrp 1

R3(config-router)#distribute-list 1 out

Puis vrifions le rsultat sur R5:

Plus aucune trace de la route vers 172.16.32.0 /32

Au passage les rseaux sont en /32 cause des interfaces Loopback

La commandeip ospf network point-to-pointsur les interfaces Loopback rsout ce problme

5) Prefix List

La Prefix List ressemble un peu la distribution List. Son fonctionnement est relativement simple.

Voici un exemple:

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 10 permit 172.16.20.0/21 ge 24 le 26

Tout dabord, il faut donner un nom la Prefix List

Ensuite, on choisit un numro de squence. Celui-ci permet de crer plusieurs entres dans une Prefix List. Elles seront parcourues du plus bas numro de squence au plus haut (un peu la manire dune ACL)

Ensuite nous choisissons Permit ou Deny

Nous choisissons ensuite le sous-rseau concern

Les 2 dernires options sont facultatives

ge 24 le 32 signifie que le masque de la route redistribue doit tre au minimum de 24, et au maximum de 32

Par exemple:

172.16.20.0 /24 -> OK

172.16.20.0 /26 -> OK

172.16.20.0 /23 -> Non

Voici la configuration appliquer R2et R3:R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 10 permit 172.16.20.0/21 ge 24 le 26

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 20 deny 0.0.0.0/0 le 32

La deuxime entre permet de refuser tout le reste

R2(config)#router ospf 1

R2(config-router)#distribute-list prefix PL_EIGRP-To-OSPF out

Une fois cela appliqu R2 et R3, allons voir sur R1 si le rsultat est bon:

Les routes vers 172.16.20.0 /21 sont toujours l

Par contre, il ny a plus les routes vers 10.0.34.0 /24 et 10.0.45.0 /24

Ajoutons une permission pour ces routes( faire sur R2 et R3) :

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 15 permit 10.0.34.0/24

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 16 permit 10.0.25.0/24

Si vous souhaitez tester le filtrage par masque, changer celui dune interface Loopback de R4 :

R4(config-if)#ip address 172.16.23.1 255.255.255.224

Voyons le rsultat :

Pas de route vers 172.16.23.0 /27, et les routes vers 10.0.25.0 /24 et 10.0.34.0 /24 ont rapparu!

6) Route Map Basique

Les routes Map sont une solution plus avances que la Distribution List ou la Prefix List.

Elles permettent de faire beaucoup plus de chose.

Nous allons tudier certaines des possibilits se rapportant la redistribution de route.

Chaque entre dune Route Map a un numro de squence.

Les entres sont parcourues du plus bas au plus haut numro de squence, jusqu trouver une correspondance.

Il y a un Deny ALL implicite la fin de la Route Map.

Voici la structure dune Route Map:

R2(config)#route-map Name SeqNumber

R2(config-route-map)#match Condition

R2(config-route-map)#set Option

Voyons cela en pratique.

Mais avant, retirons les Prefix List et Distribution List que nous avons ajout

R2(config)#router eigrp 1

R2(config-router)#no distribute-list 1 out

R2(config)#router ospf 1

R2(config-router)#no distribute-list prefix PL_EIGRP-To-OSPF out

Pareil pour R3

Nous allons faire une Route Map pour contrler la redistribution EIGRP vers OSPF et une autre pour OSPF vers EIGRP.

R2(config)#route-map EIGRP-TO-OSPF 10

Nous avons cr lentre numro 10 dans la Route Map EIGRP-TO-OSPF

R2(config-route-map)#match ip address prefix-list PL_EIGRP-To-OSPF

Lentre numro 10 va sappliquer aux routes menant vers les rseaux capturs par la Prefix List PL_EIGRP-To-OSPF (nous avions cr cette Prefix List prcdemment).

R2(config-route-map)#set metric 50

Les routes concernes par lentre 10 de la Route Map, seront redistribues avec une mtrique de 50.

R2(config-route-map)#set metric-type type-2

Une fois redistribues, la mtrique des routes naugmentera pas

R2(config)#route-map EIGRP-TO-OSPF 20

R2(config-route-map)#set metric 100

R2(config-route-map)#set metric-type type-2

Avec cette deuxime entre, nous permettons la redistribution de toutes les autres routes, avec une mtrique de 100 et de type 2.

Voici comment afficher le rsum des Route Map:

Tout semble bon.

Il faut maintenant utiliser la Route Map.

R2(config)#router ospf 1

R2(config-router)#no redistribute eigrp 1 metric 50 subnets

2(config-router)#redistribute eigrp 1 subnets route-map EIGRP-TO-OSPF

Faire de mme sur R3, puis allez voir sur R1 si tout est bon.

Toutes les routes sont l.

Certaines avec une mtrique de 50, dautres avec 100.

Bien. Crons une Route Map pour OSPF vers EIGRP

La voici:

route-map OSPF-TO-EIGRP permit 10

match ip address 1

set metric 50 50 50 50 50

route-map OSPF-TO-EIGRP permit 20

set metric 100 100 100 100100

Par contre, nous souhaitons ne pas redistribuer la route vers 172.16.33.0 /24.

Nous allons donc crer une ACL faisant rfrence 172.16.33.0 /24, puis ajouter une entre dans la Route Map.

R2(config)#access-list 2 permit 172.16.33.0 0.0.0.255

R2(config)#route-map OSPF-TO-EIGRP deny 9

R2(config-route-map)#match ip address 2

Lentre No 9 refuse tout ce qui est capt par lACL 2.

Il ne reste plus qu appliquer la Route Map.

R2(config)#router EIGRP 1

R2(config-router)#no redistribute ospf 1 metric 100 100 100 100 100

R2(config-router)#redistribute ospf 1 route-map OSPF-TO-EIGRP

Faites de mme sur R3.

Puis allez voir le rsultat sur R4:

Toutes les routes sont l, sauf 172.16.33.0 /24.

Cest ce que nous voulions.

Libre vous de modifier ces Routes Map afin de vous familiariser avec le concept.

7) Route Map Tag de route

Dans larticle prcdent, nous avons vu quil est possible de crer une boucle de routage en faisant de la redistribution. Les Tag de route permettront dempcher cela.

Voyons dabord un cas de boucle de routage.

Prenons un exemple:

R5 veut joindre 172.16.10.0 /24 (cest--dire R6)

Dans sa table de routage, il possde une route RIP menant ce rseau.

Jusquici tout est normal.

Mais saviez-vous que R5 possde aussi une route EIGRP pour aller vers 172.16.10.0 /24?

Voici un extrait du rsultat de la commandeR5#show ip eigrp topology

Cette entre correspond aux rseaux derrire R6.

Mais alors pourquoi ne voit-on pas la route EIGRP dans la table de routagede R5 ?

Simplement car la route alternative que R5 connait, lui a t annonc par R2 en mode redistribution EIGRP.

Cette route alternative a pour AD 170. Ce qui explique quelle ne soit pas visible dans la table de routage.

Et do vient cette route au fait?

R3 a appris la route pour 172.16.10.0 /24 par R5 (grce la redistribution de RIP dans EIGRP).

R3 a ensuite redistribu cette route dans OSPF.

Jusquici rien danormal.

Puis, R2 a pris connaissance de la route, puis la re-redistribu vers R5.

Au final, R2 naurais pas d redistribuer des routes EIGRP dans leur zone dorigine.

Encore une fois, R5 prfre la route RIP la route externe EIGRP.

Mais imaginez que nous avions mis en place de lOSPF la place de lEIGRP (et inversement).

En OSPF il ny a pas dAD spciale pour les routes externes.

Nous pouvons simuler cela en changeant lAD des routes EIGRP externes.

R5(config)#router eigrp 1

R5(config-router)#distance eigrp 110 109

(dans le cas prsent, il faut que lAD externe soit plus faible que lAD interne)

Et l, cest le drame.

Pour joindre 172.16.10.0 /24, R5 va envoyer les paquets vers R2.

Au final nous aurons une boucle de routage!

Vous pouvez constater que les requtes de ping ne parviennent plus destinations.

Voici les conditions pour crer une boucle de routage:

Avoir une redistribution mutuelle. Ici R2 et R3 font tous les deux de la redistribution, ce qui permet aux routes dtre re-redistribues.

Quun routeur (ici R5) possde deux routes possible: une bonne (vers R6) et une mauvaise (la route re-redistribue)

Que la route re-redistribue ai une AD plus faible que la bonne route.

Voyons maintenant comment viter les boucles de routage.

Le Tag de route permettra aux routeurs de ne pas redistribuer les routes dj redistribues.

Par exemple, R2 pourra reconnaitre les routes qui ont t redistribues dans OSPF par R3.

Voyons cela en pratique, ce sera plus simple.

Nous allons taguer toutes les routes redistribues.

R2(config)#route-map EIGRP-TO-OSPF 10

R2(config-route-map)#set tag 10

R2(config)#route-map EIGRP-TO-OSPF 20

R2(config-route-map)#set tag 20

R2(config)#route-map OSPF-TO-EIGRP 10

R2(config-route-map)#set tag 30

R2(config)#route-map OSPF-TO-EIGRP 20

R2(config-route-map)#set tag 40

Faites de mme sur R3

Toutes les routes redistribues sont maintenant tagues.

Il ne reste plus qu empcher EIGRP-TO-OSPF de redistribuer les routes tagues par OSPF-TO-EIGRP (et inversement).

R2(config)#route-map EIGRP-TO-OSPF deny 5

R2(config-route-map)#match tag 30 40

R2(config)#route-map OSPF-TO-EIGRP deny 5

R2(config-route-map)#match tag 10 20

Faites de mme sur R3.

Allons voir le rsultat sur la table de routage de R5:

Plus de boucle de routage en vue!

Au passage, vous pouvez rtablir les paramtres dAD EIGRP sur R5(ils ntaient utiles que pour crer une boucle de routage):

R5(config)#router eigrp 1

R5(config-router)#distance eigrp 90170

Pour rsumer, dans certains cas la redistribution de route peut causer une boucle de routage.

Ici nous avons forc la boucle, mais elle peut trs bien survenir delle-mme si lon respecte les critres cits prcdemment.

Le Tag de route est une des solutions pour empcher cela. Des Prefix List ou des Distribution List peuvent aussi suffire.

Il conviendra de sadapter la topologie.

8) Modification de la distance administrative

Comme nous lavons vu dans larticle prcdent, la perte de la distance administrative (ou AD), peut amener choisir une route moins bonne.

Pour constater cela, allez voir la table de routage de R2:

Pour joindre 172.16.10.0 /21, R2 va utiliser R1 comme NetHop. Alors que R5 est bien plus indiqu.

Si R2 a choisi R1, cest cause de la distance administrative.

Il a le choix entre:

NextHop R1, AD 110

NextHop R5, AD 170

La redistribution de route a donc fauss le choix de route.

La solution est simple: changer les paramtres dAD sur R2.

R2(config)#router eigrp 1

R2(config-router)#distance eigrp 90105

Et le rsultat:

Redistribution De Route : Thorie

September 25, 2013 byValentin Weber Leave a commentParlons aujourdhui dun sujet importantdans lesgrands rseaux: la redistribution de route.

Si votre rseau fonctionne avec plusieursprotocoles de routage, il est essentiel de maitriser la redistribution.

Le but tant que les routes se propagent travers toutle rseau, mme si celui-ci utilise plusieurs protocoles de routage.

A travers cette srie darticles, nous allons voir pourquoi il est important de redistribuer les routes, quels sont les risques qui peuvent mener des erreurs, et comment mettre en place la redistribution.

Il est prfrable de bien maitriser les protocoles EIGRP et OSPF.

1) Pourquoi la redistribution de route?

Comme dit prcdemment, la redistribution de route est utile lorsque votre rseau utilise plusieurs protocoles de routage.

Les raisons pour quun rseau utilise plusieurs protocoles de routage sont diverses (rattachement de deux rseaux ensemble,plusieurs gnrationsde routeurs, plusieurs marques de routeurs, besoins spcifiques, etc)

Vous le savez certainement,par dfaut, des protocoles diffrents ne schangent pas de route entre eux.

Prenons cet exemple:

Trois rseaux sont connects entre eux. Lun fonctionne en OSPF, lautre en EIGRP et le dernier en RIP.

Le but serait que les trois rseaux dans les cadres gris, puissent tre accessibles depuis partout.

Prenons lexemple de 172.16.10.0 /24

R7 va annoncer une route pour 172.16.10.0 /24, R5 et R6.

Ceux-ci pourront donc joindre 172.16.10.0 /24, en allant vers R7.

Jusquici, tout va bien.

Mais par contre, que va faire R5 quand il va recevoir la MAJ RIP (pour 172.16.10.0 /24)?

Va-t-il envoyer cette MAJ vers R3 et R4?

Bien sr que non. R3 et R4 fonctionne en EIGRP. Ils ne peuvent donc pas recevoir de MAJ RIP.

Au-del de R5, il personne naura connaissance du rseau 172.16.10.0 /24.

Cela pose donc un problme.

Vous laurez devin, le but la redistribution de route est dannoncer une route venant dun certain protocole, vers un rseau fonctionnant avec un autre protocole.

Pour fairesimple, nous allons ajouter une rgle sur R5, disant quil faut annoncer les routes RIP, dans le rseau EIGRP. R5 va donc inclure 172.16.10.0 /24 dans ses MAJ EIGRP.

Nous pourrons bien sr choisir quelles routes doivent tre redistribues, quelle mtrique y appliquer, etc

2) Problmes poss

Malheureusement, la redistribution de route amne plusieurs problmes.

Problme 1: Perte de la mtriqueLe premier problme lorsque lon redistribue une route, cest que la mtrique de base est perdue.

Voyons cela en exemple:

R4 cherche lameilleure routepour 172.16.30.0 /24, cest--dire R1.

Il est vident que la meilleure route est: R4 -> R5 -> R2 -> R1.

Pourtant, en mettant en place une redistribution de route simple, R1 prfrera choisir R1 -> R3 -> R1.

Pourquoi?

Tout simplement, car quand une route est redistribue, sa mtrique de base est perdue.

R3 et R2 vont tousles deuxannoncer une route pour 172.16.30.0 /24, dans laquelle il ne sera plus fait tat de la mtrique des liens 100 et 10 Mbps.

Aux yeux de R4, R3 est meilleur que R2 pour joindre 172.16.30.0 /24.

Il nous faudra donc choisir nous-mme la mtrique appliquer aux routes ( configurer sur R2 et R3 en activant la redistribution).

Ainsi, R4 prfrera passer par R2.

Problme 2: Perte de la distance administrativeAutre problme, quand une route est redistribue, sa distance administrative est perdue.

Pour rappel, la distance administrative (ou AD), est utile quand le routeur possde deux routes pour une mme destination, et que ces deux routes viennent dun protocole diffrent.

On prfrera donc utiliser une route annonce par OSPF, quune route annonc par RIP.

Voyons quel problme peut poser la perte de lAD:

R4 possde une route EIGRP externe. Ces routes-l ont une AD de 170.

R2 va donc apprendre 2 routes pour 172.16.20.0 /24:

Une qui a t annonc par R4, et qui passe par R2 -> R5 -> R4

Une qui a t redistribu dans le rseau OSPF, et qui passe par R2 -> R1 -> R3 -> R4

Logiquement, R2 devrait prfrer passer par R5, plutt que par le rseau OSPF.

Malheureusement, ce nest pas ce quil va faire.

Pourquoi? Simplement que quand la route pour 172.16.20.0 /24 a t redistribue dans OSPF, lAD de cette route est passe de 170 110.

R2 a donc le choix entre une bonne route avec une AD de 170, ou une mauvaise route avec une AD de 110.

Et bien sr, il va choisir la route avec lAD de 110.

Il faudra donc faire attention. La perte de lAD peut parfois poser problme.

Dans le cas prsent, nous pourrions changer lAD sur R2. Nous pourrions choisir une AD de 105 pour les routes EIGRP externes.

Ainsi, il prfrera passer par R5, que par le rseau OSPF.

Problme 3: Boucle de redistributionCe dernier problme est relativement simple.

Il est possible que la redistribution de route cause une boucle de routage.

Prenons la topologie suivante:

R4 va annoncer une route pour 172.16.20.0 /24

Cette route sera ensuite redistribue par R3 dans le rseau OSPF.

R2 va prendre connaissance de la route redistribue, puis va lui-mme la redistribuer dans le rseau EIGRP (vers R5).

R5 va ensuite faire suivre cette route.

Au final, R4 possdera deux routes pour 172.16.20.0 /24.

Une qui a pour Next Hop, R8 (ce qui est logique), et lautre qui a pour Next Hop R5.

Dj, ce nest pas bien. Cela ne sert rien denvoyer un message vers R2, alors que le seul moyen de joindre 172.16.20.0 /24 est daller vers R8.

Maintenant, imaginons que la route redistribue depuis OSPF dans EIGRP, ait une meilleure mtrique que la route ayant pour Next Hop R8.

Cest--dire que R4 prfrera envoyer les paquets vers R2 plutt que vers R8.

Il en rsultera une boucle de routage. Les paquets destination de 172.16.20.0 /24 feront constamment le chemin R4 -> R5 -> R2 -> R1 -> R3 -> R4, etc (Jusqu ce que le TTL arrive 0).

Au final, il nest plus possible de joindre le rseau 172.16.20.0 /24.

Et do vient le problme?

Simplement que R2 naurait pas du re-redistribuer la route pour 172.16.20.0 /24 dans le rseau EIGRP.

Il faudrait donc mettre une rgle sur R2, disant que seules les routes pour 172.16.30.0 /24 doivent tre redistribues.

Ainsi, la route pour 172.16.20.0 /24 sera toujours redistribue dans le rseau OSPF par R3, mais R2 ne la renverra pas dans le rseau EIGRP.

3) Les solutions

Nous avons vu les problmes et les contraintes de la redistribution de route. Voyons maintenant les solutions.

Nous allons faire un rapide aperu. Par la suite, nous ferons un TPpour mettre en place ces solutions.

Nous avons dj vu quil est possible de choisir la mtrique et de modifier la distance administrative. Nous ne reviderons donc pas sur ces deux solutions pour le moment.

Distribution ListLe principe est trs simple: utiliser une ACL pour choisir les routes redistribuer.

Par exemple, nous pouvons mettre une Distribution Liste sur R2 et R3, de manire ce quils nautorisent que les routes pour 172.16.30.0 /24 tre redistribues.

De cette manire, plus de risque de boucle de routage comme vu prcdemment.

Prefix ListLa Prefix List ressemble la Distribution Liste.

Sauf que celle-ci nutilise pas dACL.

De plus, il est possible deffectuer un filtrage en fonction du masque de sous rseau.

Par exemple, il est possible dautoriser toutes les routes pour 10.1.0.0 /8, qui ont un masque suprieure ou gal /24.

Donc:

10.1.0.0 /24 -> OK

10.1.35.0 /29 -> OK

10.1.67.0 /22 -> Non

Route MapLa Route Map est la solution la plus complexe, mais aussi la plus complte.

Il est possible de faire beaucoup de chose avec. Parmi les possibilitsnous pouvons:

Redistribuer ou non, selon la destination de la route

Choisir la mtrique annoncer

Taguer les routes pour viter les boucles

Etc

Configuration Des Diffrents Types De Zones OSPF

September 25, 2013 byValentin Weber Leave a commentAprs avoir vu la thorie des zones OSPF, voyons la pratique.

Nous allons voir comment configurer les diffrentes zones dtailles dans larticle prcdent.

Nous ne reviendrons que trs peu sur la thorie. Il est donc important de maitriser les bases.

1) La topologie

Voici la topologie qui sera utilise dans cet article. Il sagit de la mme que dans larticle prcdent.

1) Configuration Basique

Avant de passer laconfigurationdes zones, mettons en place la configuration basique.

Premirement, appliquez les IP indiquessur lesinterfaces associes.

Une fois cela fait, il faut configurer le protocole OSPF.

Voici la procdure:

R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1

R1(config-router)#network 10.0.12.1 0.0.0.0 area 0

R1(config-router)#network 10.0.13.1 0.0.0.0 area 0

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 10.0.12.2 0.0.0.0 area 0

R2(config-router)#network 10.0.23.2 0.0.0.0 area 0

R2(config-router)#network 10.40.1.2 0.0.0.0 area 40

R2(config-router)#network 10.50.1.2 0.0.0.0 area 50

R3(config)#router ospf 1

R3(config-router)#router-id 3.3.3.3

R3(config-router)#network 10.0.13.3 0.0.0.0 area 0

R3(config-router)#network 10.0.23.3 0.0.0.0 area 0

R3(config-router)#network 10.60.1.3 0.0.0.0 area 60

R4(config)#router ospf 1

R4(config-router)#router-id 4.4.4.4

R4(config-router)#network 10.40.1.4 0.0.0.0 area 40

R5(config)#router ospf 1

R5(config-router)#router-id 5.5.5.5

R5(config-router)#network 10.50.1.5 0.0.0.0 area 50

R6(config)#router ospf 1

R6(config-router)#router-id 6.6.6.6

R6(config-router)#network 10.60.1.6 0.0.0.0 area 60

R6(config-router)#network 10.70.1.6 0.0.0.0 area 70

R7(config)#router ospf 1

R7(config-router)#router-id 7.7.7.7

R7(config-router)#network 10.70.1.7 0.0.0.0 area 70

Configurons R1 comme un ASBR:

R1(config)#ip route 172.16.0.0 255.255.255.0 Null0

R1(config)#ip route 172.16.1.0 255.255.255.0 Null0

R1(config)#ip route 172.16.2.0 255.255.255.0 Null0

R1(config)#ip route 172.16.3.0 255.255.255.0 Null0

R1(config)#router ospf 1

R1(config-router)#redistribute static subnets metric-type 1 metric 200

Vrifions que les routes externes sont bien redistribues et que les routes des zones voisines sont bien accessibles:

Bien, la configuration debaseest faite.

Les relations OSPF sont en place ettoutes leszones sont en mode standard.

Actuellement, les LSA de types 3, 4 et 5 peuvent transiter librement entre les zones.

Il va donc falloir mettre en place les zones vues dans larticle prcdent.

Autre chose que nous allons devoir traiter: la zone 70.

Si vous avez t attentifs, vous aurez surement remarqu que la zone 70 nest pasdirectement relie la zone 0.

Cela est contraire aux principes des zones.

Ce type de topologie ne doit pas tre mis en placedans unebonne architecture.

Mais sipour unebonne raison vous devez mettre en place ce type de topologie (une zone relie la zone 0 par une autre zone), il faudra utiliser un Virtual Link.

Sans cela, la zone 70 sera isole du reste.

Voyons cela, avant de passer aux diffrents types de zone.

3) Virtual Link

Comme dit prcdemment, le Virtual Link permet de relier la zone 70 la zone 0 et ce de manire virtuelle.

Pour linstant, le routeur R7 est totalement isol (malgr sa relation avec R6).

La configuration du Virtual Link est trs simple:

R3(config)#router ospf 1

R3(config-router)#area 60 virtual-link 6.6.6.6

R6(config)#router ospf 1

R6(config-router)#area 60 virtual-link 3.3.3.3

Voyons si R7 est moins seul :

En effet, cest comme si il tait connect la zone 0.

4) Stubby Area

Attaquons le vif du sujet en commencent pas la Stubby Area.

Pour rappel, son but est dempcher les LSA de type 4 et 5 de rentrer (et de circuler) dans la zone.

Nous allons mettre cela en place pour la zone 40.

R4 naura donc plus les routes externes (172.16.0.0 /22) mais une route par dfaut pointant vers R2.

La configuration est trs simple:

R2(config)#router ospf 1

R2(config-router)#area 40 stub

R4(config)#router ospf 1

R4(config-router)#area 40 stub

Vrifions si les routes externes ont bien t remplaces par une route par dfaut:

En effet!

Vous pouvez aussi constater que R4 ne possde plus de LSA de type 4 et 5 dans sa base de donnes:

Les LSA de types 4 et 5 sarrtent R2. La mme commande sur ce dernier vous permettra de voir les LSA de types 4 et 5.

Il est noter que tous les routeurs de la zone 40 doivent tre en mode Stub.

5) Totally Stubby Area

Comme dit dans le prcdent article, le but de cette zone est dempcher le transit des LSA de types 3, 4 et 5.

Le routeur ne connaitra que les routes internes sa zone. Les autres seront remplaces par une route par dfaut.

Voyons cela pour la zone 50 :

R2(config)#router ospf 1

R2(config-router)#area 50 stub no-summary

R5(config)#router ospf 1

R5(config-router)#area 50 stub

Vrifions la table de routage :

Parfait, il ne reste plus que les / la route interne.

Un petit coup dil la base de donnes pour tre sr:

6) Not So Stubby Area

Pour ce type de zone, rutilisons la zone 40.

Mais avant toutes choses, retirons la configuration actuelle:

Vous pouvez aussi essayer de conserver la configuration Stub puis de configurer la redistribution. Un message derreur vous dira quil nest pas possible de configurer la redistribution dans une zone Stub (voir article prcdent).

R4(config)#router ospf 1

R4(config-router)#no area 40 stub

R2(config)#router ospf 1

R2(config-router)#no area 40 stub

Puis, ajoutons des routes statiques sur R4 :

R4(config)#ip route 172.18.0.0 255.255.255.0 Null 0

R4(config)#ip route 172.18.1.0 255.255.255.0 Null 0

R4(config)#ip route 172.18.2.0 255.255.255.0 Null 0

R4(config)#ip route 172.18.3.0 255.255.255.0 Null 0

Mettons en place la redistribution:

R4(config)#router ospf 1

R4(config-router)#redistribute static subnets metric 200 metric-type 1

Si vous consultez les tables de routage des autres routeurs, vous verrez que les routes ont t redistribues.

Passons maintenant cette zone en Not So Stubby:

R2(config)#router ospf 1

R2(config-router)#area 40 nssa

R4(config)#router ospf 1

R4(config-router)#area 40 nssa

Normalement, ce stade, R4 devrait tre capable de redistribuer les routes 172.18.0.0 /22 vers le reste de la topologie.

Vrifions sur R3:

R3 a bien connaissance des routes!

Mais est ce que R4 fonctionne toujours comme un routeur Stub (cest--dire quil ne reoit pas les routes redistribue)?

En effet, il ne possde pas les routes redistribues (cad 172.16.0.0 /22).

On garde les avantages du mode Stub, tout en permettant la redistribution de route depuis lintrieure de la zone.

Parfait non?

Presque. Vous navez rien remarqu dans la table de routage de R4?

Oui, il manque bien la route par dfaut!

R4 sera donc incapable de joindre les rseaux 172.16.0.0 /22.

En mode NSS, R2 nannonce pas de route par dfaut.

Pas de soucis, il y a une solution:

R2(config)#router ospf 1

R2(config-router)#area 40 nssa default-information-originate

Retour sur R4:

Et voil!

R4 et en mode Stubb (ou plutt NSS) et permet la redistribution de route.

Si vous tes curieux, je vous invite aller consulter les bases de donnes OSPF des diffrents routeurs, et voir quels types de LSA elles contiennent.

7) Totally Stubby Not So Stubby Area

Le principe est le mme que pour le mode NSS.

Ici nous gardons les avantages du mode Totally Stubby (pas de LSA de types 3, 4 et 5), mais nous avons la possibilit de redistribuer des routes.

Il ny a quune seule commande changer.

(Bien entendu, il faut dabord annuler la configuration prcdente)

R2(config-router)#area 40 nssa no-summary

Voici quoi ressemble alors la table de routage de R4 :

8) Conclusion

Et bien voil, nous avons vu comment mettre en place une configuration OSPF avec des zones.

Nous avons dabord vu lutilit dunVirtual Link.

Pour rappel, voici sa configuration:

R3(config)#router ospf 1

R3(config-router)#area 60 virtual-link 6.6.6.6

R6(config)#router ospf 1

R6(config-router)#area 60 virtual-link 3.3.3.3

Ensuite, nous avons vu comment configurer uneStubby Area:

R2(config)#router ospf 1

R2(config-router)#area 40 stub

R4(config)#router ospf 1

R4(config-router)#area 40 stub

Puis nous avons vu laTotally Stubby AreaR2(config)#router ospf 1

R2(config-router)#area 50 stub no-summary

R5(config)#router ospf 1

R5(config-router)#area 50 stub

Par aprs, nous avons vu laNot So Stubby Area:

R2(config)#router ospf 1

R2(config-router)#area 40 nssa

R2(config-router)#area 40 nssa default-information-originate

R4(config)#router ospf 1

R4(config-router)#area 40 nssa

Et enfin, laTotally Stubby Not So Stubby Area:

R2(config-router)#area 40 nssa no-summary

IPv6 : Configuration

October 28, 2013 byValentin Weber Leave a commentMaintenant que vous maitrisez lathorie de basequi entoure lIPv6, passons aux choses srieuses.

Nous allons voir comment configurer une interface, comment configurer les diffrents protocoles de routages, mais aussi comment fonctionne le Ping en IPv6, comment fonctionne Neighbor Discovery (le remplaant dARP), etc

1) Prsentation de la topologie

Pour ces manipulations, nous allons utiliser une topologie unique.

La voici :

Nous avons trois grands rseaux. Chacun deux utilisent un protocole de routage diffrent.

Entre R1, R2et R3, nous utiliserons des routes statiques.

Mais avant cela, attardons nous sur la configuration basique, cest--dire les adresses IPv6.

2) Configuration dinterface

Commenons par le plus important: les interfaces!

Cela peut paraitre simple, mais en fait il y a plus de choses maitriser quen IPv4.

Nous avons vu quil y a trois types dadresse:

LaLocal Link La Global LaSite LocalLa site Local ntant plus utilise, il nous reste les deux autres.

Laquelle allons-nous mettre sur nos interfaces?

Les deux!

Et oui, chaque interface de notre routeur aura deux IPv6.

La Global pour les communications standards, et laLink Localpour la dcouverte de voisin, lchange dinfos pour lesprotocoles de routage, etc

Commenons par configurer la Global (en utilisant les IP de la topologie):

R1(config)#interface fastEthernet 0/0

R1(config-if)#ipv6 address 2001:12::1/64

R1(config-if)#no shutdown

Pour voir le rsultat :

LIP Global est bien configure.Mais vous pouvez voir que lIP Link Local est aussi configure.

En fait, elleest autoconfigure.

Pour auto configurer son IP, une interface prend le prfix (ici FE80::64) et y ajoute lidentifiant de linterface.

Pour obtenir son identifiant unique (EUI-64), linterface effectue une manipulation partir de sonadresse MAC, afin dobtenir une adresse de 64 bits.

Pour bien comprendre le processus, voyons comment R1 a pu trouver son IP Link Local au format EUI-64.

Sur la capture prcdente, vous pouvez voir le fameux prfix FE80:: /64

La deuxime moiti de ladresse est calcul automatiquement par le routeur.

Pour cela il a besoin de ladresse MAC de linterface:

Ladresse MAC est donc : C200.0B60.0000

Il va ensuite ajouter la valeur FFFE au milieu de ladresse

Ce qui nous donne: C200.0BFF.FE60.0000

Dernire tape: inverser le 7mebit

Voici le dbut de ladresse en binaire (C2): 11000010

En inversant le 7mebit, nous obtenons, 11000000, soit C0

Ladresse devient alors C000.0BFF.FE60.0000

En y ajoutant le prfix FE80::/64 ladresse Link Local complte devient:

FE80:0000:0000:0000:C000:0BF:FE60:0000

Cela correspond bien lIP donn par le routeur:

Voici donc comment en IPv6 nous pouvons auto configurer une IP au format EUI-64.

Il faut donc un prfix de 64 bits, plus lidentifiant de linterface (le EUI-64).

Il est possible dauto configurer une IP Link Local, mais aussi une IP Global.

Pour rsumer, nous avons configur une IP Global (sur R1 fa0/0) la main, et lIP Link Local sest auto configur.

Faisons donc linverse sur R2!

Nous allons configurer lIP Link Local la main, et laisser R2 dterminer lIP Global.

Commenons par lIP Link Local

R2(config-if)#no shutdown

R2(config-if)#ipv6 address FE80::2 link-local

Passons lIP Global

tant donn que R2 ne peut pas deviner le prfix, il faut que R1 lannonce.

Il faut donc passer les commandes suivantes sur R1:

R1(config)#ipv6 unicast-routing

R1(config)#interface fastEthernet 0/0

R1(config-if)#ipv6 nd prefix 2001:12::/64

Maintenant que R1 annonce le prfix, il ne reste plus qu dire R2 de le rcuprer :

R2(config-if)#ipv6 address autoconfig

Et voici le rsultat :

Libre vous de choisir la technique de votre choix pour configurer les IP sur les autres routeurs / interfaces.

Mais avant de passer la suite, voyons ce qui se passe quand nous configurons une IPv6.

Pour cela, plaons-nous sur R2 s0/0 et activons le debug ND (Neighbor Discovery):

R2(config)#interface serial 0/0

R2(config-if)#no shutdown

R2(config-if)#do debug ipv6 nd

ICMP Neighbor Discovery events debugging is on

Ensuite, configurez lIP puis observez les Log :

Quand une IP est configure en IPv6, le routeur sassure que lIP est unique. Il fait cela pour lIP Link Local et pour la Global.

Tout dabord, le routeur envoie unNS Neighbor Solicitation. Cela permet de vrifier si quelquun utilise dj cette IP.

Si personne ne rpond, le logDAD Detection AddressDouble indique que lIP est libre.

Enfin, le routeur envoie unNA Neighbor Advertisementpour indiquer quil prend cette IP.

Vous pouvez voir que le mme processus est utilis pour lIP Global.

Quand vous avez fini, noubliez pas dsactiver le dbug

R2#undebug all

Si toutes les IP sont configures, vous pouvez passer la suite.

3) Le Ping en IPv6

Afin de tester les IP, quoi de mieux quun Ping

Pour lancer un Ping, la commande est presque l mme:

Mais que se passe-t-il en coulisse?

Que se passe-t-il quand on ne connait pas encore ladresse MAC du voisin?

En IPv4, il faut dabord envoyer une requte ARP.

Et en IPv6?

Nous en avons dj parl. Le protocoleND Neighbor Discoveryest utilis.

Concrtement, avant de pouvoir lancer un Ping, il faut connaitre ladresse MAC de la destination.

Pour connaitre celle-ci, le routeur va envoyer une requteNS Neighbor Solicitationen multicast, surune adresse laquelle la destination est abonne.

Prenons un exemple, ce sera bien plus simple.

Nous souhaitons faire un Ping de R1 vers R2.

R1 a pour IPv6 2001:12::1 et R2 2001:12::2

Nous allons donc envoyer un Ping vers 2001:12::2

Cest ici que NS entre en jeu.

Avant denvoyer le Ping, R1 va envoyer un NS sur lIPFF02::1:FF00:2Cette IP est du type Local Link.

Vous pouvez voir que R2 y est abonn:

Mais comment R1 a devin cette IP?

Et bien simplement que cette IP respecte un schma bien prcis.

Elle est constitue du prfix FF02::/64 suivi de 0001:FFxx:xxxx (o les x correspondent aux 24 derniers bits de lIP Global).

Donc pour rsumer, R1 veut envoyer un Ping R2 sur 2001:12::2

Il commence par envoyer un NS sur FF02::1:FF002

R2 va recevoir ce message, et va y rpondre (NA Neighbor Advertisement) car il y est abonn.

En rpondant, il donne son adresse MAC R1.

Aprs quoi, R1 peut envoyer un Ping R2.

Au passage, si deux routeurs ont les mmes 24 derniers bits dans leur IP, ils recevront tous les deux le message NS. Par contre, seul le routeur concern y rpondra.

Si vous souhaitez une petite dmonstration, voici les tapes:

Vider la table de voisinage IPv6: clear ipv6 neighbors

Lancer une capture WireShark: Clic droit sur le lien R1 -> R2, puis Start Capturing

Lancer le Ping : ping ipv6 2001:12::2 repeat 1

Ouvrir WireShark : Clic Droit sur le lien, Open WireShark

Et voici les 4 tapes dun Ping (seulement quand le routeur ne connait pas ladresse MAC du voisin)

Une fois ladresse connue, plus besoin de NS et NA.

Il faut donc retenir

NS Neighbor Solicitation: permet de dterminer ladresse de niveau 2 dun routeur voisin, ou de vrifier si ladresse est utilise.

NA Neighbor Advertisement: permet de rpondre un NS, ou dannoncer un changement dadresse.

4) Configuration de routes statiques

Il nest pas ncessaire de tergiverser, les routes statiques nont rien de spcial.

Avant de pouvoir effectuer du routage IPv6, il faut entrer la commande suivant sur tous les routeurs

R1(config)#ipv6 unicast-routing

R2(config)#ipv6 unicast-routing

Etc

Pour crer une route statique, rien de plus simple :

R2(config)#ipv6 route 2001:36::/64 serial 0/0

R2(config)#ipv6 route 2001:45::/64 2001:24::4

R2(config)#ipv6 route 2001:34::/64 serial 0/1

Les commandes se passent dexplication!

Faites de mme pour R3 et R4:

R3(config)#ipv6 route 2001:12::/64 serial 1/0

R3(config)#ipv6 route 2001:45::/64 serial 0/1

R3(config)#ipv6 route 2001:24::/64 serial 0/1

R4(config)#ipv6 route 2001:12::/64 serial 0/0

R4(config)#ipv6 route 2001:36::/64 serial 0/1

R4(config)#ipv6 route 2001:23::/64 serial 0/0

Trs simple nest-ce pas ?

5) Configuration de RIPng

RIPng est la version IPv6 de RIP v2.

Il fonctionne de la mme manire, possde les mmes attributs, etc

Les MAJ sont envoyes en multicast sur lIP FF02::9 en UDP (port 521)

Pour ce qui est de lauthentification, elle nest plus gre par RIP, mais directement par IPv6.

Lactivation de RIP se fait directement sur les interfaces:

R1(config)#interface fastEthernet 0/0

R1(config-if)#ipv6 rip IPV6LAB enable

R2(config)#interface fastEthernet 0/0

R2(config-if)#ipv6 rip IPV6LAB enable

R2(config)#interface serial 0/0

R2(config-if)#ipv6 rip IPV6LAB enable

R2(config)#interface serial 0/1

R2(config-if)#ipv6 rip IPV6LAB enable

R2(config)#ipv6 router rip IPV6LAB

R2(config-rtr)#redistribute static

Voyons si cela a fonctionn :

En effet, R1 connait toutes les routes!

Un petit Ping pour tester:

La commande Debug ipv6 rip permet dobserver le fonctionnement des MAJ RIPng:

Vous pouvez constater que ce sont les IP Link Local qui sont utilises pour lenvoie de MAJ.

Quant la version du protocole, il ne sagit pas de RIP v1, mais de RIPng v1.

6) Configuration dOSPF V3

La version 3 dOSPF apporte quelques changements par rapport la version 2.

Nous laisserons la thorie de ct pour cette fois.

Concentrons-nous sur la pratique, qui elle na rien de difficile.

R5(config)#ipv6 router ospf 1

R5(config-rtr)#router-id 5.5.5.5

R5(config)#interface fastEthernet 0/0

R5(config-if)#ipv6 ospf 1 area 0

R4(config)#ipv6 router ospf 1

R4(config-rtr)#router-id 4.4.4.4

R4(config-rtr)#redistribute static

R4(config-rtr)#passive-interface serial 0/0

R4(config-rtr)#passive-interface serial 0/1

R4(config)#interface fastEthernet 0/0

R4(config-if)#ipv6 ospf 1 area 0

R4(config)#interface serial 0/0

R4(config-if)#ipv6 ospf 1 area 0

R4(config)#interface serial 0/1

R4(config-if)#ipv6 ospf 1 area 0

Voyons la table de routage

Pour le reste, les commandes sont trs semblables la version 2.

7) Configuration dEIGRP en IPv6

Finissons par une configuration basique dEIGRP en IPv6.

Voyons quelques commandes de bases pour le mettre en place.

Premirement, il faut activer le processus EIGRP:

R3(config)#ipv6 router eigrp 1

R3(config-rtr)#eigrp router-id 3.3.3.3 (lID est obligatoire si aucune IPV4 nest configure sur le routeur)R3(config-rtr)#passive-interface serial 1/0

R3(config-rtr)#passive-interface serial 1/1

R3(config-rtr)#redistribute static

R3(config)#interface serial 1/0

R3(config-if)#ipv6 eigrp 1

R3(config)#interface serial 1/1

R3(config-if)#ipv6 eigrp 1

R3(config)#interface fastEthernet 0/0

R3(config-if)#ipv6 eigrp 1

R6(config)#ipv6 router eigrp 1

R6(config-rtr)#eigrp router-id 6.6.6.6

R6(config)#interface fastEthernet 0/0

R6(config-if)#ipv6 eigrp 1

Constatons le rsultat :

8) Conclusion

Et voil, nous sommes arrivs au terme de notre configuration basique dIPv6 !

Nous avons vu comment configurer des IP, des routes statiques, des protocoles de routage, etc

Mme si il ne sagit l que dun aperu de ce quil est possible de faire, cela constitue une bonne base pour la suite.

Vous aurez pu constater que mme si les commandes changent un peu, le principe reste le mme.

IPv6 : Thorie

September 27, 2013 byValentin Weber Leave a commentVous en entendez parler depuis longtemps surement. LIPv6 vient succder lIPv4.

Mme si son implmentation est plus lente que prvue, une chose est sure, lIPv6 arrive!

Dans cepremier articlenous allons revenir sur lathorie de base connaitre sur lIPv6.

Plus tard, nous passerons la pratique.

1) Prsentation dIPv6

Tout dabord, quest-ce que lIPv6?

Vous le savez certainement. Il sagir du successeur dIPv4.

Le problme principal de lIPv4 est le nombre dadresse possible.

Comme celleci est code sur 32 bits, il est possible dobtenir, en thorie, 2^32 adresses diffrentes, soit un peu plus de 4 milliards dIP.

Mme si ce nombre peut paraitretrs lev, cela ne suffit pas assignerune adresse toutes les machines existantes.

Sen est suivit la sparation entre IP prives et publiques, et larriv du NAT.

Mais aujourdhui, cela ne suffit plus.

Presquetoutes lesIPv4 ont t assignes.

Larrive dIPv6 va permettre de corriger ce problme, tout en apportant certaines nouveauts.

Savez-vous combien dIPv6 diffrentes il est possible de gnrer?

Voici une reprsentation de ce chiffre: environ 67 milliards de milliards dadresses par mm de surface terrestre!

Autant dire quil sera difficile datteindre la pnurie!

Le nombre est si grand, que seul 15% des IP seront exploites dans un premier temps (ce qui ne veut pas dire que les 15% seront assignes).

Mais laugmentation du nombre dadresse nest pasle seul avantage de lIPv6.

Plusieurs autres innovations sont de la partie:

Fin du NAT: plus dIP prive (chaque machine aura sa propre IP)

IPSEC support de base

IP mobile: une machine peut garder sont IP quand elle se dplace

Un Header plus simple

Adresse auto configure

Disparition du Broadcast

Disparition dARP (mais remplace par Neighbor Discovery)

Etc

2) Structure dune IPv6

Une IPv6 est code sur 128 bits (contre 32pour uneIPv4).

Elle est compose de 8 groupes de 16 bits.

En voici un exemple:

2001:0048:0000:0000:1D00:1111:0B48:1111

Ladresse nest plus en dcimale, mais en hexadcimal.

Etant donn quune IPv6 est bien plus complique crire quune IPv4, il est possible de la rsumer.

La premire chose faire est de supprimer les groupes de 0 conscutifs.

Ladresse prcdente devient donc:

2001:0048::1D00:1111:0B48:1111

Les groupes de 0 supprims sont remplacs par un ::

Attention tout de mme, il nest pas possible de raliser cette oprationplusieurs fois.

Par exemple, il nest pas possible de rsumer ladresse suivante de cette manire:

2001:AAAA:0000:0000: BBBB:0000:0000:1111 -> 2001:AAAA::BBBB::1111

Il faut donc choisir le plus grand groupe de 0, et le supprimer.

Ensuite, il faut supprimer tous les 0 en dbut de groupe:

Ladresse prcdente (2001:0048::1D00:1111:0B48:1111) devient alors:

2001:48::1D00:1111:B48:1111

Les 0 en fin de groupes doivent tre conservs.

Nous sommes donc passs de a:

2001:0048:0000:0000:1D00:1111:0B48:1111

A a:

2001:48::1D00:1111:B48:1111

Bien plus simple crie nest-ce pas?

3) Header IPv6

Voici quoi ressemble le Header IPv6:

Vous remarquerez quil est bien plus simple que celui dIPv4.

Le nombre de champs a t largement rduit.

Voici le dtail:

Version: version dIPv6, toujours 6

Traffic Class: utile pour la QOS. Permet de distinguer les sources qui doivent disposer de contrle de flux, par rapport aux autres. Une valeur de 0 7 est donne aux sources capables de ralentir leur dbit. Une valeur de 8 15 est donne aux sources qui doivent disposer dun dbit constant (VOIP, vido, etc). Ainsi, en cas de congestion, le routeur pourra prioriser le trafic des sources ayant le Traffic Class le plus faible.

Flow Label(optionnel) : permet de traiter un flux diffremment dans le rseau. Un numro alatoire est choisi par la source, et sera gard pour tous les paquets allant une certaine application de la destination. Les routeurs pourront alors traiter ces donnes-l de manire diffrente. Exemple: temps relle.

Payload Length: taille de la charge utile (permet au routeur de reconnaitre la fin du paquet)

Next Header: identifie le type du Header suivant (TCP, UDP, ICMP, ou simple extension IPv6)

Hop Limit: similaire au TTL de lIPv4

Source Address: Adresse IP source du paquet

Destination Address: Adresse de destination du paquet

Le nombre rduit de champs par rapport lIPv4 allge le travail des routeurs, car ils ont moins dinformations traiter.

Cela amliore aussi la scurit (moins dinformations vitales qui transitent).

Autre nouveaut dans IPv6, il est possible dutiliser des extensions. Ce sont en fait des Header qui sont placs aprs le Header IPv6, et avant le Header de la couche 4 (TCP, UDP, etc)

Le champ Next Header permet de les identifier.

Voici la liste des extensions possibles:

Ces extensions peuvent se combiner entre elles.

Par exemple, pour de lIPSec: Destination Option, AH et ESP.

4) Les 3 types de communication

Voyons maintenant les trois types de communications en IPv6.

Vous le savez, en IPv4 nous avions ces trois types l:

Unicast

Broadcast

Multicast

En IPv6, le Broadcast a disparu.

Nous avons alors les trois types de communication suivants:

Unicast: One To One

Multicast: On To Many

Anycast: One To Nearest (ou One to One Of Many)

Pas de changement pour les deux premiers par rapport IPv4.

LAnycast fonctionne un peu comme le Multicast.

Une IP unique reprsente plusieurs interfaces.

Par contre, quand un paquet est envoy sur une IP Anycast, il est en ralit envoy linterface la plus proche.

Au passage, voici certains ranges Multicast en IPv6:

FFx2::/16: Ne peut pas tre rout (quivalent de 224.0.0.0 /24) Utile pour les MAJ de routage

FF02::5: OSPF

FF02::9: RIP

FF02::a EIGRP

5) Les 3 types dadresses

Link-Local Address:Ce type dadresse est valide uniquement pour les interfaces connectes sur le mme lien (cest--dire sans passer par un routeur).

Exemple: lien PPP, Ethernet etc

Il nest donc pas possible de router un paquet ayant ce type dadresse.

Ce type dadresse est utilis pour la dcouverte de voisin (Neighbor Discovery en remplacement dARP), la configuration automatique dadresse globale, lchange dinfos pour les protocoles de routage, etc

Ces IP doivent bien sr tre uniques.

Le prfix dune telle IP est: FE80::/64 (soit FE80:0000:0000:0000) jusqu FEBF ::/64

En gnral, elle est auto-configure (grce une combinaison du prfix et de ladresse MAC)

Site-Local Address:Ce type dadresse nest plus utilise.

Il sagissait plus ou moins dune IPv6 prive.

Mais comme nous lavons dit, lIPv6 a fait disparaitre cette notion de priv / publique.

Donc finalement, ce type dadresse na plus vraiment dintrt.

Le prfix est va de FEC0::/64 FECF::/64

Global Address:Cest le type dadresse qui nous intresse le plus.

Celle-ci est routable sur internet.

Elle est dcoupe en plusieurs parties:

Les premiers 48 bits correspondent au prfix global. Il vous est attribu par votre FAI.

Les prochains 16 bits correspondent au Subnet ID, ce qui vous permet de crer des sous rseaux.

Les derniers 64 bits reprsentent linterface

Il est donc simple pour une interface de configurer cette IP automatiquement.

Pour cela, elle rcupre le prfix global avec le Subnet ID, puis elle y ajoute linterface ID (calcul partir de ladresse MAC).

Le prfix va de 2000 3FFF.

6) Transition vers IPv6

LIPv6 est de plus en plus prsente. Mais comment se fait la transition?

Il nest malheureusement pas possible de passer tous les rseaux lIPv6 en un jour.

Vous laurez donc devin, il est ncessaire de faire cohabiter lIPv4 et lIPv6.

Aussi, pour assurer la cohabitation, diffrentes technologies existent.

Voyons trois dentre elles.

Le Dual-StackCette technique est lune des meilleures.

Le principe est simple. Le routeur fonctionne la fois en IPv4 et en IPv6.

Il peut donc faire transiter du trafic en IPv4 ou en IPv6 selon la source / destination.

Si possible, les machines utiliserons IPv6 pour communiquer, et sinon, lIPv4.

En pratique, voil quoi cela peut ressembler:

Vous pouvez voir que le routeur fonctionne en IPv4 ou en IPv6 selon la source.

Les interfaces possderont donc 2 IP.

TunnelingSi vous tes contraint de passer par un rseau IPv4 pour connecter des rseaux IPv6 (ou inversement), le tunneling est une solution envisageable.

On parle de 6 to 4 quand des paquets IPv6 passent dans un tunnel travers un rseau IPv4.

On parle de 4 to 6 quand des paquets IPv4 passent dans un tunnel travers un rseau IPv6.

Prenons lexemple de 6 to 4.

Les paquets IPv6 seront encapsuls dans un paquet IPv4 le temps du passage dans le rseau IPv4.

Le protocole utilis pour le tunnel est GRE.

Voici un exemple dimplmentation:

NAT-PT (NAT Protocol Translation)Dernire solution aborde, le NAT.

Cette solution nest pas utiliser si lune des deux autres solutions prcdentes est possible.

Le but du NAT-PT est de connecter un rseau IPv6 directement un rseau IPv4 (ou inversement).

Le routeur se charge de changer les IP sources et destinations des paquets.

Voici un exemple dimplmentation:

Path Control

September 27, 2013 byValentin Weber Leave a commentAprs avoir vu plusieursprotocoles de routage, voyons comment influencer le routage sur un rseau.

Certains rseaux possdent desliens redondants. Il peut tre utile de choisir comment les routeurs vont exploiter ces liens: rpartition de charge, raction encas de panne, meilleures performances, etc

Nous allons voir 3 choses:

LePolicy BasedRouting

Les Offset List

Les SLA Service LevelAgreement

Chacune de ces techniques nous permettra de faire du Path Control. Comme elles ont des utilits diffrentes, il sera important de toutes les maitriser.

1) Thorie sur le Path Control

Avant de nous plonger dans la configuration de ces techniques, voyons rapidement lintrt du Path Control.

Comme nous lavons dit, un rseau moderne possde souvent plusieurs chemins pour une mme destination:

Plusieurs chemins en interne

Plusieurs chemins vers internet (plusieurs FAI)

Le but est donc de contrler lutilisation de ces dfrents liens.

Par exemple, utiliser un FAI pour certains types de trafic (VOIP?), et utiliser lautre pour le reste.

Ou encore, garder un FAI en secours au cas o le premier tombe en panne (et basculerle traficsur le FAI de secours si ncessaire).

Aussi, nous pouvons influencer les protocoles de routage. Par exemple, RIP ne prend pas en charge la bande passante.

Ce qui fait que si il a le choix entre deux liens, le premier en 2 saut 1Gbs, et le deuxime en 1 saut 100Mbs, il va prfrer le deuxime (ce qui nest pas le bon choix).

Encore une fois, le Path Control nous permet de corriger cela.

2) La topologie

Voici la topologie que nous allons utiliser.

Oui, il y a beaucoup de routeur.

Si vous ne disposez pas de suffisamment de ressources pour faire fonctionner tous les routeurs en mme temps, vous pouvez vous contenter de dmarrer seulement les routeurs utiles au moment de la configuration.

Nous avons donc deux rseaux, plus Internet.

Le tout est reprsent de manire basique (pas de NAT).

Le rseau1 fonctionne en EIGRP.

Le rseau 2 en RIP.

La configuration de base appliquer est la suivant:

IP sur les interfaces

EIGRP pour le rseau 1

RIP pour le rseau 2

Ensuite, utiliser des routes statiques sur R1 et R2 pour laccs internet:

R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.3

R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.3

Sur internet, nous allons utiliser des routes statiques:

R4(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0

R4(config)#ip route 172.17.0.0 255.255.0.0 serial 0/1

R5(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0

R5(config)#ip route 172.17.0.0 255.255.0.0 serial 0/1

R6(config)#ip route 172.16.0.0 255.255.0.0 serial 0/0 (Pour plus de simplicit, R6 utilisera toujours R4 comme Next Hop)R6(config)#ip route 172.17.0.0 255.255.0.0 serial 0/2

Dans le rseau RIP, annoncez une routepar dfautpour Internet :

R7(config)#ip route 0.0.0.0 0.0.0.0 Serial0/0

R7(config)#router rip

R7(config-router)#redistribute static

A ce stade, le rseau possde une configuration basique.

Nous allons maintenant influencer le routage des donnes du rseau 1 vers internet.

Plus tard, nous nous occuperons du rseau 2.

3) Policy Based Routing

Le Policy Based Routing est le fait dinfluencer le routage des donnes.

Par exemple, en fonction de la source du trafic, de son type, de sa destination, nous pourrons forcer le routeur envoyer le trafic vers le FAI 1 ou le FAI 2.

Cest ce que nous allons faire dans un premier temps.

Par la suite, nous allons mettre en place un systme de tolrance de panne.

Commenons donc par influencer le routage.

Nous allons dfinir un scnario suivre!

Partons du principe que le FAI 1 (R4) est le plus rapide et le plus fiable. Le FAI 2 est moins rapide et moins fiable.

Le but sera donc denvoyer le trafic important vers le FAI 1, et le reste vers le FAI 2.

Faisons simple:

Le rseau 172.16.10.0 est celui des employs. Ce trafic nest pas important, nous lenverrons sur le FAI 2.

Le rseau 172.16.20.0 est celui des serveurs. Ces serveurs sont trs sollicits sur internet. Ils utiliseront le FAI 1.

Voici donc un scnario basique, mais suffisant pour une petite dmonstration.

La question est doncComment faire pour rpondre au scnario?.

La rponse est simple, avec une Route-Map!

Voici sa structure:

Route Map ChoixFAI

Match ip address Adresses voulues

Set ip next-hop FAI voulu

Voici comment faire en pratique :

R3(config)#ip access-list extended CLIENTS

R3(config-ext-nacl)#permit ip 172.16.10.0 0.0.0.255 any

R3(config-ext-nacl)#permit ip 172.16.1.0 0.0.0.255 any

R3(config)#route-map ChoixFAI permit 10

R3(config-route-map)#match ip address CLIENTS

R3(config-route-map)#set ip next-hop 35.0.0.5

Et voici comment rediriger tout le trafic des clients (employs) vers le FAI No 1

Faisons de mme pour les serveurs:

R3(config)#ip access-list extended SERVERS

R3(config-ext-nacl)#permit ip 172.16.20.0 0.0.0.255 any

R3(config-ext-nacl)#permit ip 172.16.2.0 0.0.0.255 any

R3(config)#route-map ChoixFAI permit 20

R3(config-route-map)#match ip address SERVERS

R3(config-route-map)#set ip next-hop 34.0.0.4

Ensuite, envoyons le trafic non captur, vers le FAI 2.

R3(config)#route-map ChoixFAI permit 30

R3(config-route-map)#set ip next-hop 35.0.0.5

Enfin, ajoutons une dernire rgle. Vous aurait peut tre remarqu que jusquici, mme le trafic allant du Lan vers le Lan (par exemple R1 vers R2) sera renvoy vers un FAI.

Il faut donc ajouter une entre dans la Route-Map, de manire ce que le Next-Hop du trafic ne soit pas altr.

Commenons par une ACL:

R3(config)#ip access-list extended LanToLan

R3(config-ext-nacl)#permit ip 172.16.0.0 0.0.255.255 172.16.0.0 0.0.255.255

(Il est tout fait possible de mieux construire cette ACL, de manire capturer toutes les IP prives)

Puis ajoutons lentre dans la Route-Map :

R3(config)#route-map ChoixFAI permit 2

R3(config-route-map)#match ip address LanToLan

Voil, il ne reste plus qu appliquer la Route-Map.

R3(config)#interface serial 0/0

R3(config-if)#ip policy route-map ChoixFAI

R3(config)#interface serial 0/1

R3(config-if)#ip policy route-map ChoixFAI

Si vous faites des tests, vous verrez que les paquets vont bien vers les FAI voulus.

Les clients (R1) utilisent le FAI 2 comme convenu

Les serveurs (R2) utilisent bien le FAI 1

Libre vous maintenant de crer un scnario plus complexe.

Par exemple, le trafic HTTPS (ou tout autre type de trafic) venant des clients doit utiliser le FAI 1

Voici la marche suivre:

R3(config)#ip access-list extended CLIENTS_HTTPS

R3(config-ext-nacl)#permit tcp 172.16.10.0 0.0.0.255 any eq 443

R3(config)#route-map ChoixFAI permit 5

R3(config-route-map)#match ip address CLIENTS_HTTPS

R3(config-route-map)#set ip next-hop 34.0.0.4

Pour tester cette configuration, faites un Telnet sur lIP voulu, en spcifiant le port 443

Le message Connection refused by remote host indique que le message est bien arriv.

Si vous voulez vous assurer que le message passe bien par le FAI 1, il suffit de couper linterface R3 s0/2.

La tentative de Telnet donnera alors:

Noubliez pas de ractiver linterface.

Avant de passer la suite, prenez le temps dlaborer un peu plus le scnario, afin dexplorer les possibilits.

Attention, il faudra alors adapter la suite du TP vos modifications, on bien les supprimer.

5) SLA Service Level Agreement et techniques de test proactives

Vous avez apprci la manipulation prcdente, vous allez adorer celle-ci!

Avec ce que nous avons mis en place, il y a un problme.

Que se passe-t-il si le FAI 1 tombe en panne? Et bien les serveurs nont plus accs internet.

Pareil avec le FAI 2 et les clients.

Lidal serait dutiliser le deuxime FAI si le premier tombe.

Voyons comment faire!

Il faut utiliser ce que lon appelle une technique de test proactive.

Le principe est simple, tester la disponibilit du FAI (avec des Ping), et basculer sur le deuxime FAI si le premier ne rpond plus.

Nous allons mettre en place cela pour les serveurs. Si le FAI 1 ne rpond plus, ils utiliseront le FAI 2.

Quant aux clients, nous ne ferons pas la manipulation pour quils basculent sur le FAI 1 en cas de panne (mais libre vous de la faire par la suite).

La premire chose faire est de mettre en place une opration SLA:

R3(config)#ip sla monitor 1

R3(config-sla-monitor)#type echo protocol ipicmpEcho 34.0.0.4

R3(config-sla-monitor-echo)#timeout 1000

R3(config-sla-monitor-echo)#frequency 3 (tous les combien de temps une requte est envoye, par dfaut: 60)

R3(config)#ip sla monitor schedule 1 start-time now life forever (le test dmarre tout de suite, et ne sarrte jamais)

Ensuite, un objet de tracking va analyser le statut de lopration SLA.

R3(config)#track 1 rtr 1 reachability

Il faut maintenant utiliser cet objet de tracking

Retournons dans la Route Map qui dfinit le FAI utiliser pour les serveurs.

Voici son tat actuel:

route-map ChoixFAI permit 20

match ip address SERVERS

set ip next-hop 34.0.0.4

Et voici comment la modifier:

R3(config)#route-map ChoixFAI permit 20

3(config-route-map)#no set ip next-hop 34.0.0.4

R3(config-route-map)#set ip next-hop verify-availability 34.0.0.4 10 track 1

R3(config-route-map)#set ip next-hop 35.0.0.5

Lors de la configuration du Next Hop, nous pouvons spcifier lobjet de tracking.

Le numro 10 aprs lIP du Next Hop, correspond son ID.

Dans lordre, le routeur test la disponibilit du Next Hop ayant le plus haut ID.

Sinon, il prend le Next Hop par dfaut (celui qui na pas dID).

Vous pouvez maintenant faire les tests!

La bascule se fait automatiquement!

A vous de voir si vous souhaitez faire de mme pour les clients.

6) Les Offset-Lits

Finissons par une notion simple, les Offset-List.

Le but est de rajouter un Offset la mtrique dune route.

Offset signifie dcalage.

Le but est donc de modifier la mtrique dune route.

Prenons un exemple.

Dans le rseau 2, R7 a deux chemins pour joindre 172.17.10.0 /24.

Soit R7 -> R9

Soit R7 -> R8 -> R9.

Dans le cas prsent, mieux vaut prendre le chemin le plus