L’esame BSCI non è certamente banale, il candidato si trova a dover conoscere abbastanza approfonditamente numerosi concetti e protocolli. Tra essi vi sono quelli di routing, nelle varie implementazioni e coesistenze. In questo semplice lab vediamo come due sistemi autonomi possono venire a conoscenza uno delle route dell’altro. Uno usa come IGP il protocollo EIGRP, l’altro invece OSPF. Entrambi i loro router di confine invece si parlano tramite BGP, scambiandosi vicendevolmente le route.
Questa l’elenco degli apparati utilizzati e della loro configurazione hw:
hostname: R1
modello:2610
interfaccia: E0 non usata
interfaccia: S0/0 usata, dce, link verso R2
interfaccia: S0/1 non usata
hostname: R2
modello: 2610
interfaccia: E0 non usata
interfaccia: S0/0 usata, dce, link verso R3
interfaccia: S0/1 usata, dte, link verso R1
hostname: R3
modello: 1720
interfaccia: E0 usata, link verso R4
interfaccia: Fa0 non usata
interfaccia: S0 usata, dte, link verso R2
hostname: R4
modello:1720
interfaccia: E0 usata, link verso R3
interfaccia: Fa0 non usata
interfaccia: S0 non usata
interfaccia: S1 non usata
Gli apparati reali hanno il vantaggio di far toccare con mano allo studente tutti gli aspetti della configurazione e del troubleshooting. Per questo lab non sono necessari router particolari, quelli utilizzati sono reperibili con pochi euro sui mercatini o su eBay, spesso in bundle con le interfacce WIC montate. Anche i cavi seriali DCE (quello che ha il connettore V35 femmina) con un po’ di pazienza si trovano.
In alternativa si può utilizzare l’ottimo GNS3, che esegue in una macchina virtuale l’IOS dei router Cisco.
Configurazione
Cominciamo col configurare R1 ed R2, assegnando hostname, ip alle interfacce fisiche e di loopback e configurando EIGRP. Una volta fatto questo su entrambi i router avremo la segnalazione di DUAL che è avvenuto il riconoscimento tra i peer. Qui siamo su R1:
*Mar 1 00:04:26.488: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.0.1.2 (Serial0/0) is up: new adjacency
e la conferma arriva da una veloce occhiata alla tabella di routing, che ora contiene anche la loopback di R2 acquisita tramite EIGRP (come segnalato dalla D presente prima della entry).
Infatti se facciamo un ping:
R1#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms R1#
otteniamo risposta.
Ora passiamo alla coppia di router R3 ed R4. Analogamente ai precedenti configuriamo hostname, indirizzi ip alle interfacce fisiche e di loopback e configuriamo il protocollo IGP che per questo sistema autonomo sarà OSPF. Anche in questo caso, una volta che l’algoritmo OSPF comincia la ricerca dei neighbors e trova il confinante, avvertirà con una segnalazione in console, in questo caso di R3:
*Mar 1 00:33:55.331: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on Ethernet0 from LOADING to FULL, Loading Done
Un rapido controllo della tabella di routing conferma la convergenza, ed il solito ping verifica l’instradamento:
R3#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms R3#
Nella tabella di routing si nota la mancanza delle route della parte EIGRP: infatti non c’è modo di apprenderle in quanto i due sistemi autonomi non parlano lo stesso protocollo di routing. Per realizzare questo scopo utilizziamo ora BGP.
Configuriamo BGP sui router di confine, cioè R2 ed R3. Come si vede nella configurazione vanno annunciate le route raggiungibili, ma poi ci pensa l’IGP interno di ciascun AS a ridistribuire le route apprese tramite BGP: a questo scopo usiamo il comando redistribute nella configurazione di ciascun IGP. Dopo qualche secondo arriva la segnalazione in console che ci dice l’avvenuta scoperta del peer BGP da parte di R3:
*Mar 1 00:42:59.351: %BGP-5-ADJCHANGE: neighbor 10.0.2.1 Up
A questo punto avviene lo scambio delle informazioni tra sistemi autonomi, come conferma la tabella di routing:
R3#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 1.0.0.0/32 is subnetted, 1 subnets B 1.1.1.1 [20/2297856] via 10.0.2.1, 00:05:53 2.0.0.0/32 is subnetted, 1 subnets B 2.2.2.2 [20/0] via 10.0.2.1, 00:05:53 3.0.0.0/32 is subnetted, 1 subnets C 3.3.3.3 is directly connected, Loopback0 4.0.0.0/32 is subnetted, 1 subnets O 4.4.4.4 [110/11] via 10.0.3.2, 00:13:39, Ethernet0 10.0.0.0/24 is subnetted, 3 subnets C 10.0.2.0 is directly connected, Serial0 C 10.0.3.0 is directly connected, Ethernet0 B 10.0.1.0 [20/0] via 10.0.2.1, 00:05:54 R3#
Ora ci sono tutte le route agli indirizzi della rete. Quelli esterni all’AS sono stati appresi tramite bgp (come indica la B prima delle route). Questa invece è la tabella di routing di R4:
R4#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 1.0.0.0/32 is subnetted, 1 subnets O E2 1.1.1.1 [110/50] via 10.0.3.1, 00:02:13, Ethernet0 2.0.0.0/32 is subnetted, 1 subnets O E2 2.2.2.2 [110/50] via 10.0.3.1, 00:02:13, Ethernet0 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/11] via 10.0.3.1, 00:14:08, Ethernet0 4.0.0.0/32 is subnetted, 1 subnets C 4.4.4.4 is directly connected, Loopback0 10.0.0.0/24 is subnetted, 2 subnets C 10.0.3.0 is directly connected, Ethernet0 O E2 10.0.1.0 [110/50] via 10.0.3.1, 00:02:14, Ethernet0 R4#
Come si nota le route verso reti appartenenti all’altro AS sono marcate come esterne (E2), perché ridistribuite tramite altro protocollo di routing. Un ping verso la loopback di R1 ne conferma la raggiungibilità:
R4#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/8 ms R4#
L’esercizio è terminato. Di seguito riporto le configurazioni degli apparati nel lab:
R1#sh run Building configuration... Current configuration : 647 bytes ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R1 ! boot-start-marker boot-end-marker ! no aaa new-model ip subnet-zero ip cef ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ! interface Ethernet0/0 no ip address shutdown half-duplex ! interface Serial0/0 ip address 10.0.1.1 255.255.255.0 clock rate 1000000 ! interface Serial0/1 no ip address shutdown ! router eigrp 100 network 1.1.1.1 0.0.0.0 network 10.0.1.0 0.0.0.255 no auto-summary ! ip http server ip classless ! line con 0 line aux 0 line vty 0 4 login ! End
R2#sh run Building configuration... Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R2 ! ip subnet-zero ! interface Loopback0 ip address 2.2.2.2 255.255.255.255 no ip directed-broadcast ! interface Ethernet0/0 no ip address no ip directed-broadcast shutdown ! interface Serial0/0 ip address 10.0.2.1 255.255.255.0 no ip directed-broadcast no ip mroute-cache no fair-queue clockrate 1000000 ! interface Serial0/1 ip address 10.0.1.2 255.255.255.0 no ip directed-broadcast ! router eigrp 100 redistribute bgp 100 metric 2000 5 255 50 1500 network 2.2.2.2 0.0.0.0 network 10.0.1.0 0.0.0.255 no auto-summary ! router bgp 100 network 1.1.1.1 mask 255.255.255.255 network 2.2.2.2 mask 255.255.255.255 network 10.0.1.0 mask 255.255.255.0 neighbor 10.0.2.2 remote-as 200 ! ip classless no ip http server ! line con 0 transport input none line aux 0 line vty 0 4 login ! End
R3#sh run Building configuration... Current configuration : 1049 bytes ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R3 ! boot-start-marker boot-end-marker ! ! memory-size iomem 25 mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 no aaa new-model ip subnet-zero ! ip cef ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ! interface Ethernet0 ip address 10.0.3.1 255.255.255.0 half-duplex ! interface FastEthernet0 no ip address shutdown speed auto ! interface Serial0 ip address 10.0.2.2 255.255.255.0 no fair-queue ! router ospf 1 log-adjacency-changes redistribute bgp 200 metric 50 subnets network 3.3.3.3 0.0.0.0 area 0 network 10.0.3.0 0.0.0.255 area 0 ! router bgp 200 no synchronization bgp log-neighbor-changes network 3.3.3.3 mask 255.255.255.255 network 4.4.4.4 mask 255.255.255.255 network 10.0.3.0 mask 255.255.255.0 neighbor 10.0.2.1 remote-as 100 no auto-summary ! ip classless no ip http server ! line con 0 line aux 0 line vty 0 4 login ! end
R4#sh run Building configuration... Current configuration : 987 bytes ! ! No configuration change since last restart ! NVRAM config last updated at 19:10:04 UTC Wed Feb 6 2008 ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R4 ! boot-start-marker boot-end-marker ! memory-size iomem 25 mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 no aaa new-model ip subnet-zero ! ip cef ip audit po max-events 100 ! interface Loopback0 ip address 4.4.4.4 255.255.255.255 ! interface Ethernet0 ip address 10.0.3.2 255.255.255.0 half-duplex ! interface FastEthernet0 no ip address shutdown speed auto ! interface Serial0 no ip address shutdown no fair-queue ! interface Serial1 no ip address shutdown ! router ospf 1 log-adjacency-changes network 4.4.4.4 0.0.0.0 area 0 network 10.0.3.0 0.0.0.255 area 0 ! ip classless no ip http server no ip http secure-server ! line con 0 line aux 0 line vty 0 4 login ! end
In questo caso lo scopo del lab era solo la verifica della redistribuzione. Tuttavia è bene specificare come non sia corretto redistribuire BGP in un IGP: e’ invece consigliabile attivare il processo di BGP nell’intero sistema autonomo.
E’ tutto. Alla prossima!