GNS3 – OSPF Lab – 1ère partie
Après EIGRP et le Policy based routing, voici un premier lab GNS3 consacré à OSPF. Il s’agit du début d’une série qui aura pour but final d’établir une configuration relativement avancée d’OSPF. Chaque article ajoutera une série de configurations au précédent.
Parmis les points traités, vous retrouverez:
- Configuration de base d’OSPF en multi-area.
- OSPF sur les liaisons point-à-point, ethernet et NBMA (frame-relay).
- Configuration des priorités pour influencer l’élection des DR et BDR.
- Redistribution de base d’un autre protocole.
- Configuration d’un virtual-link.
- Type d’area particulers (stub, totally stub et nssa).
- « Summarisation ».
- etc.
La topologie
Détails du lab
Les routeurs utilisés dans cette topologie sont tous des modèles 2691 (256Mo RAM).
L’IOS utilisé est: c2691-advipservicesk9-mz.124-15.T12.bin.unpacked (version décompressée).
Vous pouvez télécharger le topologie et les fichiers de configuration de base (adressages IP, config frame-relay etc) ICI.
Première étape
Dans un premier temps nous allons configurer l’area 0. La première chose à faire, c’est de définir la bande passante sur les interfaces de sorte que par la suite OSPF puisse correctement calculer sa métrique ( souvent dénommée « cost » ).
Voici la formule pour calculer la métrique d’OSPF:
COST = 100 / ( Bande Passante en Mbits/s)
Pour configurer la bande passante sur une interface, il suffit d’aller en configuration d’interface et d’entrer la commande suivante:
Router(config-if)# bandwidth 128
La valeur de bande passante est ici exprimée en kbits/s. On aura donc ici défini une bande passante de 128kbits/s. Il suffit donc de configurer les interfaces sérielles de BBR1, ABR1, ABR2 et ABR4 de cette façon.
Une petite vérification rapide de la bande passante. Par exemple l’interface Serial 0/0 sur BBR1:
BBR1#show interface s0/0 | inc BW MTU 1500 bytes, BW 128 Kbit/sec, DLY 20000 usec, BBR1#
La commande utilisée ici permet, un peu comme en linux, de filtrer l’affichage. Ici j’ai demandé que l’IOS ne ‘affiche que la ligne contenant le mot « BW » de l’affichage normal du « show interface ».
Deuxième étape
Configurons maintenant OSPF pour l’Area 0. Pour rappel dans le monde d’OSPF, l’area 0 est la colonne vertébrale du réseau. Toutes les autres area doivent s’y rattacher, au même titre qu’un bras ou une jambe est rattaché au au tronc.
Tout routeur doit avoir un router-id qui s’exprime sous la forme a.b.c.d (4x 8bits) comme une adresse IP. Par défaut OSPF utilise la plus grande adresse configurée sur une interface loopback. Si il n’y en a pas, ce sera la plus grande adresse configurée sur une interface physique. Il est également possible, et conseillé, de configurer le router-id de manière statique via la commande suivante (en configuration router ospf):
Router(config-router)# router-id a.b.c.d
Voici les router-id que nous allons configurer:
- BBR1: 1.1.1.1
- ABR1: 2.2.2.2
- ABR2: 3.3.3.3
- ABR3: 4.4.4.4
- ABR4: 5.5.5.5
- R1: 6.6.6.6
- ASBR: 7.7.7.7
- R2: 8.8.8.8
- R3: 9.9.9.9
Une fois le router-id défini, on peut alors définir quelles interfaces feront partie de l’area 0 via la commande suivante:
Router(config-router)# network <subnet> <wildcard mask> area <area nr>
Où <subnet> correspond à l’adresse réseau de l’interface concernée, <wildcard mask> est le masque « inversé » du réseau et <area nr> le n° de l’area voulue.
Sur BBR1
BBR1(config)#router ospf 1 BBR1(config-router)#router-id 1.1.1.1 BBR1(config-router)#network 10.0.0.0 0.0.0.255 area 0 BBR1(config-router)#network 10.0.1.0 0.0.0.3 area 0 BBR1(config-router)#network 10.0.1.4 0.0.0.3 area 0 BBR1(config-router)#exit BBR1(config)#
Interfaces FastEthernet 0/0, Serial 0/0 et Serial 0/1
Sur ABR1
ABR1(config)#router ospf 1 ABR1(config-router)#router-id 2.2.2.2 ABR1(config-router)#network 10.0.0.0 0.0.0.255 area 0 ABR1(config-router)#network 10.0.1.0 0.0.0.3 area 0 ABR1(config-router)#network 10.0.1.8 0.0.0.3 area 0 ABR1(config-router)#exit ABR1(config)#
Sur ABR2
BBR1(config)#router ospf 1 BBR1(config-router)#router-id 3.3.3.3 BBR1(config-router)#network 10.0.0.0 0.0.0.255 area 0 BBR1(config-router)#network 10.0.1.4 0.0.0.3 area 0 BBR1(config-router)#network 10.0.1.12 0.0.0.3 area 0 BBR1(config-router)#exit BBR1(config)#
Sur ABR4
BBR1(config)#router ospf 1 BBR1(config-router)#router-id 5.5.5.5 BBR1(config-router)#network 10.0.0.0 0.0.0.255 area 0 BBR1(config-router)#network 10.0.1.8 0.0.0.3 area 0 BBR1(config-router)#network 10.0.1.12 0.0.0.3 area 0 BBR1(config-router)#exit BBR1(config)#
Troisième étape
Vérifions maintenant le bon fonctionnement d’OSPF au sein de l’area 0, par exemple sur BBR1.
show ip protocols
BBR1#sh ip protocols Routing Protocol is "ospf 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 1.1.1.1 Number of areas in this router is 1. 1 normal 0 stub 0 nssa Maximum path: 4 Routing for Networks: 10.0.0.0 0.0.0.255 area 0 10.0.1.0 0.0.0.3 area 0 10.0.1.4 0.0.0.3 area 0 Reference bandwidth unit is 100 mbps Routing Information Sources: Gateway Distance Last Update 5.5.5.5 110 00:08:40 3.3.3.3 110 00:09:37 2.2.2.2 110 00:11:52 Distance: (default is 110) BBR1#
On voit donc ici que le router-id est bien 1.1.1.1, que OSPF est activé pour les 3 réseaux connectés à BBR1 et que BBR1 reçoit des informations de trois voisins.
show ip ospf neighbors
BBR1#sh ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 0 FULL/ - 00:00:36 10.0.1.6 Serial0/1 2.2.2.2 0 FULL/ - 00:00:37 10.0.1.2 Serial0/0 2.2.2.2 1 FULL/BDR 00:00:36 10.0.0.3 FastEthernet0/0 3.3.3.3 1 FULL/DROTHER 00:00:35 10.0.0.4 FastEthernet0/0 5.5.5.5 1 FULL/DROTHER 00:00:37 10.0.0.2 FastEthernet0/0 BBR1#
On constate ici que BBR1 a établi 5 relations d’adjacence. Une part liaison point-à-point et trois sur le réseau ethernet. Tout semble en ordre de ce point de vue. Je reviendrai plus en détail sur la colonne « State » dans un futur article quand nous influcencerons l’élection du DR et du BDR sur un réseau partagé.
show ip route
BBR1#sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set O 10.0.1.8/30 [110/782] via 10.0.0.3, 00:20:23, FastEthernet0/0 [110/782] via 10.0.0.2, 00:17:10, FastEthernet0/0 O 10.0.1.12/30 [110/782] via 10.0.0.4, 00:18:07, FastEthernet0/0 [110/782] via 10.0.0.2, 00:17:10, FastEthernet0/0 C 10.0.0.0/24 is directly connected, FastEthernet0/0 C 10.0.1.0/30 is directly connected, Serial0/0 C 10.0.1.4/30 is directly connected, Serial0/1 BBR1#
BBR1 a donc bien appris de nouvelles routes vers les réseaux 10.0.1.8/30 et 10.0.1.12/30 avec un cost de 782. Notez que la distance administrative par défaut d’OSPF est de 110.
D’où vient le 782? … En se référant à la topologie, BBR1 peut accéder à 10.0.1.8/30 soit via ABR1, soit via ABR4. Dan sles deux cas la métrique est la même:
De BBR1 à ABR1, la meilleure route passe par l’interface Fa0/0, qui a une bande passante de 100 Mbits/s.
Attention … GNS3 semble parfois mal joueur le jeu du point de vue de la négociation de l’interface ethernet, il se peut que la fa0/0 soit en 10Mbit/s … A vérifier en cas d’incohérence. Si tel est le cas, forcez la bande passante via la commande « bandwidth 100000 ».
Ensuite ABR1 a une liaison en 128kbits/s vers le réseau 10.0.1.8/30. Ce qui permet de calculer la métrique globale de ce réseau pour BBR1:
( 100 / 100 ) + ( 100 / 0,128 ) = 1 + 781 = 782
show ip ospf interface fa0/0
BBR1#sh ip ospf interface fa0/0 FastEthernet0/0 is up, line protocol is up Internet Address 10.0.0.1/24, Area 0 Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 1.1.1.1, Interface address 10.0.0.1 Backup Designated router (ID) 2.2.2.2, Interface address 10.0.0.3 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:02 Supports Link-local Signaling (LLS) Cisco NSF helper support enabled IETF NSF helper support enabled Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 1 Last flood scan time is 0 msec, maximum is 4 msec Neighbor Count is 3, Adjacent neighbor count is 3 Adjacent with neighbor 2.2.2.2 (Backup Designated Router) Adjacent with neighbor 3.3.3.3 Adjacent with neighbor 5.5.5.5 Suppress hello for 0 neighbor(s) BBR1#
On retrouve ici, mis en couleurs, de haut en bas, l’area configurée pour l’interface (via la commande network), le type de réseau (broadcast, non-broadcast, point-to-point), le cost (la métrique) de l’interface pour accéder au réseau connecté, les valeurs des différents timers (à noter que le Hello et le Dead timer font partie des points critiques pour l’établissement d’une adjacence, il faut que les routeurs aient les mêmes valeurs), et finallement, la liste des routeurs adjacents sur le réseau connecté à cette interface.
Voilà pour une première étape dans la configuration de la topologie. A ce stade-ci on a une configuration en single-area fonctionnelle. La prochaine étape sera de configurer les autres area directement (physiquement) connectées.
Bonjour,
Quand j’affiche la table de routage de BBR1, la métrique est de 791 pas comme vous l’avez trouvé et pourtant mes interfaces ont les mêmes BW.
BBR1#sh ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O 10.0.1.8/30 [110/791] via 10.0.0.3, 00:12:58, FastEthernet0/0
[110/791] via 10.0.0.2, 00:12:58, FastEthernet0/0
O 10.0.1.12/30 [110/791] via 10.0.0.4, 00:12:58, FastEthernet0/0
[110/791] via 10.0.0.2, 00:12:58, FastEthernet0/0
C 10.0.0.0/24 is directly connected, FastEthernet0/0
C 10.0.1.0/30 is directly connected, Serial0/0
C 10.0.1.4/30 is directly connected, Serial0/1
ABR1#sh int s0/1
Serial0/1 is up, line protocol is up
Hardware is GT96K Serial
Internet address is 10.0.1.10/30
MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
BBR1#sh int f0/0
FastEthernet0/0 is up, line protocol is up
Hardware is Gt96k FE, address is c003.1784.0000 (bia c003.1784.0000)
Internet address is 10.0.0.1/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
Merci d’avance et bonne continuation.
Je pense que c’est du à la bande passante des interfaces Ethernet dans GNS3. Je les avais corrigées en les mettant à 100Mbps. Du coup le cost de vient 100/100 + 100/0.128 = 782
Bonjour Steve, devant réviser OSPF, je me suis lancé à suivre ton lab. Encore une fois merci, c’est toujours un plaisir de les lire.
J’en suis à la première étape et je suis en face d’un problème que je n’arrive à résoudre.
Pour info, j’ai suivi la même topo, mais j’utilise des IOU en version 15.
Mon problème se situe entre BBR1 et ABR1. Il me manque une %OSPF-5-ADJCHG sur le lien ethernet.
BBR1(config-if)#do sh ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 0 FULL/ – 00:00:37 10.0.1.6 Serial1/1
2.2.2.2 0 FULL/ – 00:00:33 10.0.1.2 Serial1/0
2.2.2.2 1 2WAY/DROTHER 00:00:36 10.0.0.3 Ethernet0/0
3.3.3.3 1 FULL/BDR 00:00:31 10.0.0.4 Ethernet0/0
5.5.5.5 1 FULL/DR 00:00:37 10.0.0.2 Ethernet0/0
BBR1(config-if)#do sh ip ospf int e0/0
Ethernet0/0 is up, line protocol is up
Internet Address 10.0.0.1/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DROTHER, Priority 1
Designated Router (ID) 5.5.5.5, Interface address 10.0.0.2
Backup Designated router (ID) 3.3.3.3, Interface address 10.0.0.4
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:05
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 3, Adjacent neighbor count is 2
Adjacent with neighbor 3.3.3.3 (Backup Designated Router)
Adjacent with neighbor 5.5.5.5 (Designated Router)
Suppress hello for 0 neighbor(s)
ABR1(config-if)#do sh ip ospf int e0/0
Ethernet0/0 is up, line protocol is up
Internet Address 10.0.0.3/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DROTHER, Priority 1
Designated Router (ID) 5.5.5.5, Interface address 10.0.0.2
Backup Designated router (ID) 3.3.3.3, Interface address 10.0.0.4
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:04
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 0, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 3, Adjacent neighbor count is 2
Adjacent with neighbor 3.3.3.3 (Backup Designated Router)
Adjacent with neighbor 5.5.5.5 (Designated Router)
Suppress hello for 0 neighbor(s)
ABR4(config)#do sh ip ospf int e0/0
Ethernet0/0 is up, line protocol is up
Internet Address 10.0.0.2/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 5.5.5.5, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 5.5.5.5, Interface address 10.0.0.2
Backup Designated router (ID) 3.3.3.3, Interface address 10.0.0.4
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:06
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 2
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 3, Adjacent neighbor count is 3
Adjacent with neighbor 1.1.1.1
Adjacent with neighbor 2.2.2.2
Adjacent with neighbor 3.3.3.3 (Backup Designated Router)
Suppress hello for 0 neighbor(s)
J’ai fait un certain nombre de vérification, notamment les Hello 10, Dead 40. C’est par défaut.
La couche 3 est bonne:
ABR1(config-if)#do deb ip icmp
ICMP packet debugging is on
ABR1(config-if)#
*Jun 2 17:01:42.924: ICMP: echo reply sent, src 10.0.0.3, dst 10.0.0.1, topology BASE, dscp 0 topoid 0
Mais pas d’adjacente.
Le point qui me travaille, c’est:
Neighbor Count is 3, Adjacent neighbor count is 2 et 2WAY/DROTHER
Il voit bien le voisin, mais ne monte pas l’adjacente.
Une petite idée.
Merci
Voilà ce que dit Cisco et en Français…
Two-way : Il y a une communication bidirectionnelle avec un voisin. Le routeur s’est vu dans les paquets Hello provenant d’un voisin. À la fin de cette étape, l’élection de DR et de BDR aura été effectuée. À la fin de l’étape Two-way, les routeurs décideront s’ils passent ou non à la génération d’une contiguïté. La décision est basée sur le fait qu’un des routeurs est un DR ou BDR, ou que la liaison est une liaison point à point ou virtuelle.
C’est tout à fait normal… Le principe du DR/BDR est de centraliser la diffusion des mises à jour. Tous les routeurs auront une adjacence full avec le DR et le BDR (Le BDR ne sert que de backup dans l’hypothèse ou le DR viendrait à défaillir).
Pour le fonctionnement, les routeurs envoient leur LSUs à desintation de l’adresse 224.0.0.6 (groupe multicast des DR/BDR). Ensuite uniquement le DR dispatchera l’information à tous les routeurs OSPF, donc à destination de l’adresse 224.0.0.5.
Ce principe évite de générer une masse énorme de mises à jour qui se croisent dans tous les sens, surtout si lle nombre de routeurs dans le même réseau est important.
L’élection d’un DR/BDR ets propre à un réseau de type « BROADCAST » ou « NON-BROADCAST » d’un point de vue OSPF. En gros, on en trouve sur les réseau Ethernet ou Frame-Relay Multipoint. Chaque réseau au son DR et son BDR.
Merci Steve.
C’est plus clair maintenant.
comment es que quant je ping le deux extremités du router ça ne mache pas seulement les router qui ont la même adresse réseau càd les deux interface du même réseaux
Je crains de ne pas bien comprendre la question… Quelques précisions pourraient m’aider à comprendre le problème.
Dan sles deux cas la métrique
Génial les gars !!!!!!!!