configuration basique de bgp.doc
TRANSCRIPT
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