Gli studenti CCNA devono capire come funziona OSPF ma anche come configurarlo. Configuriamo OSPF! Questa è la topologia che userò:
Questa è la topologia che useremo. Tutti i router si trovano nell’area OSPF 0. Notare che il collegamento tra R2 e R1 è un collegamento Ethernet (10 Mbit). Tutti gli altri collegamenti sono interfacce FastEthernet (100 Mbit).
Inizieremo con la configurazione tra R2 e R3:
R2(config)#router ospf 1
R2(config-router)#network 192.168.23.0 0.0.0.255 area 0
R3(config)#router ospf 1
R3(config-router)#network 192.168.23.0 0.0.0.255 area 0
Devo usare il comando ospf del router per entrare nella configurazione OSPF. Il numero “1” è un ID di processo e puoi scegliere qualsiasi numero tu voglia. Non importa e se vuoi puoi usare un numero diverso su ogni router.
Il secondo passaggio consiste nell’usare il comando network. Funziona in modo simile a RIP ma è leggermente diverso, lascia che ti spieghi:
network 192.168.23.0 0.0.0.255
Proprio come RIP, il comando di rete fa due cose:
- Pubblicizza le reti che rientrano in questo intervallo in OSPF.
- Attiva OSPF sulle interfacce che rientrano in questo intervallo. Ciò significa che OSPF invierà pacchetti hello sull’interfaccia.
Dietro 192.168.23.0 puoi vedere che dice 0.0.0.255. Questa non è una subnet mask ma una maschera con caratteri jolly . Una maschera con caratteri jolly è una subnet mask inversa . Lasciate che vi faccia un esempio:
Maschera di sottorete | 255 | 255 | 255 | 0 |
11111111 | 11111111 | 11111111 | 00000000 | |
Maschera jolly | 0 | 0 | 0 | 255 |
00000000 | 00000000 | 00000000 | 11111111 |
Quando dico maschera di sottorete inversa, intendo che gli 1 e gli 0 binari della maschera con caratteri jolly vengono invertiti rispetto alla maschera di sottorete. Una subnet mask di 255.255.255.0 è uguale alla maschera con caratteri jolly 0.0.0.255. Non preoccuparti troppo di questo per ora perché ti spiegherò le maschere jolly quando parliamo di elenchi di accesso!
OSPF utilizza le aree quindi è necessario specificare l’area:
area 0
Nel nostro esempio abbiamo configurato OSPF ad area singola. Tutti i router appartengono all’area 0.
Dopo aver digitato il comando di rete, vedrai questo messaggio nella console:
R3# %OSPF-5-ADJCHG: Process 1, Nbr 192.168.23.2 on FastEthernet0/0 from LOADING to FULL, Loading Done
R2# %OSPF-5-ADJCHG: Process 1, Nbr 192.168.23.3 on FastEthernet1/0 from LOADING to FULL, Loading Done
Grande! Sembra che R3 e R2 siano diventati vicini. C’è un altro comando che possiamo usare per verificare che siamo diventati vicini:
R3#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
192.168.23.2 1 FULL/BDR 00:00:36 192.168.23.2 FastEthernet0/0
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
192.168.23.3 1 FULL/DR 00:00:32 192.168.23.3 FastEthernet1/0
Show ip ospf neighbour è un ottimo comando per vedere se il tuo router ha vicini OSPF. Quando lo stato è pieno, sai che i router sono diventati con successo vicini.
Ogni router OSPF ha un ID router e lo controlliamo con il comando show ip protocols:
R2#show 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 192.168.23.2
R3#show 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 192.168.23.3
Sopra puoi vedere l’ID router di R2 e R3. Hanno usato il loro indirizzo IP attivo più alto come ID router. Creiamo un loopback su R2 per vedere se l’ID del router cambia …
R2(config)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.0
Ecco come creare un’interfaccia di loopback. Puoi scegliere qualsiasi numero che ti piace davvero non importa.
R2#show 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 192.168.23.2
L’ID del router è sempre lo stesso. Dobbiamo ripristinare il processo OSPF prima che la modifica abbia effetto, ecco come lo fai:
R2#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
Utilizzare il processo clear ip ospf per ripristinare OSPF. Vediamo se c’è una differenza:
R2#show 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 2.2.2.2
Possiamo anche modificare manualmente l’ID del router. Fammi dimostrare questo su R3:
R3#show 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 192.168.23.3
In questo momento è 192.168.23.3 …
R3(config-router)#router-id 3.3.3.3
Reload or use "clear ip ospf process" command, for this to take effect
R3#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
Il router è abbastanza amichevole da avvisarmi di ricaricare o cancellare il processo OSPF. Verifichiamo la nostra configurazione:
R3#show 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 3.3.3.3
Come puoi vedere sopra, l’ID del router ora è 3.3.3.3.La modifica dell’ID del router non è qualcosa che faresti normalmente. Gli indirizzi IP sul router devono essere univoci, quindi anche l’ID del router OSPF sarà univoco. Tuttavia, capire come OSPF seleziona un ID router è qualcosa che devi capire per l’esame.
In questo momento abbiamo un’adiacenza vicina OSPF tra R2 e R3. Configuriamo i nostri router in modo che R2 / R1 e R1 / R3 diventino anche vicini OSPF:
R2(config)#router ospf 1
R2(config-router)#network 192.168.12.0 0.0.0.255 area 0
R1(config)#router ospf 1
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0
R1(config-router)#network 192.168.13.0 0.0.0.255 area 0
R3(config)#router ospf 1
R3(config-router)#network 192.168.13.0 0.0.0.255 area 0
Pubblicizzerò tutte le reti in OSPF. Prima di controllare la tabella di instradamento è una buona idea vedere se i nostri router sono diventati vicini OSPF:
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
192.168.13.1 1 FULL/BDR 00:00:31 192.168.12.1 Ethernet0/0
3.3.3.3 1 FULL/DR 00:00:38 192.168.23.3 FastEthernet1/0
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 1 FULL/BDR 00:00:33 192.168.13.3 FastEthernet1/0
2.2.2.2 1 FULL/DR 00:00:30 192.168.12.2 Ethernet0/0
R3#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
192.168.13.1 1 FULL/DR 00:00:37 192.168.13.1 FastEthernet1/0
2.2.2.2 1 FULL/BDR 00:00:30 192.168.23.2 FastEthernet0/0
Eccellente i nostri router sono diventati vicini OSPF e lo stato è pieno, il che significa che hanno finito lo scambio di informazioni. Controlliamo le tabelle di routing:
R2#show ip route ospf
O 192.168.13.0/24 [110/2] via 192.168.23.3, 00:09:45, FastEthernet1/0
R2 ha una voce, è per la rete 192.168.13.0 / 24. Cosa vediamo esattamente qui?
- La “O” sta per OSPF. Questa voce è stata appresa tramite OSPF.
- 192.168.13.0 / 24 è la rete che abbiamo imparato. Questo è il collegamento tra R1 e R3.
- Il “110” è la distanza amministrativa di OSPF.
- Il “2” è la metrica. OSPF utilizza il costo come metrica. Per raggiungere questa rete abbiamo un costo totale di 2.
- “Via” è l’indirizzo IP dell’hop successivo a cui inviamo il nostro traffico. Questo è R3 per questa rete.
In che modo OSPF ha determinato esattamente questo costo? Diamo uno sguardo dettagliato:
R2#show ip ospf interface fa1/0
FastEthernet1/0 is up, line protocol is up
Internet Address 192.168.23.2/24, Area 0
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 1
È possibile utilizzare il comando show ip ospf interface per verificare il costo di una determinata interfaccia. Come puoi vedere un’interfaccia FastEthernet ha un costo di 1.
R2#show ip ospf interface e0/0
Ethernet0/0 is up, line protocol is up
Internet Address 192.168.12.2/24, Area 0
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
Un’interfaccia Ethernet è più lenta e ha un costo di 10. Facciamo un disegno per illustrare questo:
Nella foto sopra ho aggiunto il costo dell’interfaccia. Da R2 posso raggiungere la rete 192.168.13.0 / 24 passando per R3 o R1. Questo è quello che sarà il costo:
- Attraverso R3: 1 + 1 = costo 2.
- Attraverso R1: 10 + 1 = costo 11.
Ovviamente il percorso attraverso R3 ha il costo più basso. Come esperimento possiamo chiudere l’interfaccia FastEthernet0 / 0 su R3 per vedere se R2 può trovare un altro percorso:
R3(config)#interface fastEthernet 0/0
R3(config-if)#shutdown
R2#show ip route ospf
O 192.168.13.0/24 [110/11] via 192.168.12.1, 00:01:20, Ethernet0/0
Ora puoi vedere che R2 raggiungerà la rete da 192.168.13.0 / 24 a R1 e ha un costo totale di 11. Prima di continuare, abilitiamo nuovamente l’interfaccia:
R3(config)#interface fastEthernet 0/0
R3(config-if)#no shutdown
Verifichiamo la nostra tabella di instradamento:
R2#show ip route ospf
O 192.168.13.0/24 [110/2] via 192.168.23.3, 00:00:01, FastEthernet1/0
Ora sta usando di nuovo l’interfaccia FastEthernet1 / 0. E se volessi forzare OSPF a utilizzare l’interfaccia Ethernet0 / 0 più lenta senza chiudere l’interfaccia FastEthernet? È possibile modificare manualmente il costo, lascia che ti mostri come:
R2(config)#interface fastEthernet 1/0
R2(config-if)#ip ospf cost 50
Utilizzare il comando ip ospf cost per modificare il costo. Quando lo imposto a 50 l’interfaccia FastEthernet non è più attraente.
R2#show ip ospf interface fastEthernet 1/0
FastEthernet1/0 is up, line protocol is up
Internet Address 192.168.23.2/24, Area 0
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 50
Posso verificare che il costo ora sia 50.
R2#show ip route ospf
O 192.168.13.0/24 [110/11] via 192.168.12.1, 00:01:20, Ethernet0/0
E di conseguenza OSPF preferirà l’interfaccia Ethernet più lenta …
Liberiamoci di questo comando di costo e diamo un’occhiata alle altre tabelle di instradamento!
R2(config)#interface fastEthernet 1/0
R2(config-if)#no ip ospf cost 50
R1#show ip route ospf
O 192.168.23.0/24 [110/2] via 192.168.13.3, 00:00:15, FastEthernet1/0
R1 ha una singola voce per la rete 192.168.23.0 / 24 tramite R3. Questo è il percorso più breve e ha un costo di 2.
R3#show ip route ospf
O 192.168.12.0/24 [110/11] via 192.168.23.2, 00:01:14, FastEthernet0/0
[110/11] via 192.168.13.1, 00:01:14, FastEthernet1/0
R3 ha due voci interessanti. Ha appreso della rete 192.168.12.0 / 24 e può raggiungerla tramite 192.168.23.2 (R2) o tramite 192.168.13.1 (R1). Il costo di entrambi i percorsi è 11. OSPF eseguirà il bilanciamento del carico per raggiungere questa rete.
Ricordi la nostra interfaccia loopback0 su R2? L’abbiamo usato per l’ID del router ma possiamo anche pubblicizzarlo in OSPF o qualsiasi altro protocollo di routing, lascia che ti mostri:
R2#show ip interface loopback 0
Loopback0 is up, line protocol is up
Internet address is 2.2.2.2/24
Come puoi vedere, è una normale interfaccia con un indirizzo IP e una subnet mask. Facciamo pubblicità :
R2(config)#router ospf 1
R2(config-router)#network 2.2.2.0 0.0.0.255 area 0
Userò il comando di rete sopra per pubblicizzarlo in OSPF. Controlliamo le tabelle di routing:
R1#show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/3] via 192.168.13.3, 00:00:26, FastEthernet1/0
O 192.168.23.0/24 [110/2] via 192.168.13.3, 00:00:26, FastEthernet1/0
R1 lo raggiungerà passando per R3. Il costo totale è 3:
1 (FastEthernet) + 1 (FastEthernet) + 1 (Loopback) = 3.
R3#show ip route ospf
O 192.168.12.0/24 [110/11] via 192.168.23.2, 00:01:42, FastEthernet0/0
[110/11] via 192.168.13.1, 00:01:42, FastEthernet1/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 192.168.23.2, 00:01:42, FastEthernet0/0
R3 ha un costo totale di 2:
1 (FastEthernet) + 1 (Loopback) = 2.
Il bello delle interfacce di loopback è che sono raggiungibili proprio come le normali interfacce:
R3#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/8 ms
Puoi eseguirne il ping proprio come qualsiasi altra interfaccia.Le interfacce di loopback hanno molti più usi, ma per CCNA è fantastico usarle per pubblicizzare rapidamente le reti nei tuoi protocolli di routing.
Possiamo anche pubblicizzare un percorso predefinito in OSPF. Questo potrebbe essere utile se il tuo router è connesso a Internet e desideri pubblicizzarlo su altri router, ecco come lo fai:
R2(config)#router ospf 1
R2(config-router)#default-information originate always
È necessario utilizzare il comando di origine delle informazioni di default. Se non disponi già di una route predefinita nella tabella di routing, devi aggiungere la parola chiave always.
Vediamo se è stato pubblicizzato il percorso predefinito:
R1#show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/3] via 192.168.13.3, 00:00:50, FastEthernet1/0
O 192.168.23.0/24 [110/2] via 192.168.13.3, 00:00:50, FastEthernet1/0
O*E2 0.0.0.0/0 [110/1] via 192.168.13.3, 00:00:50, FastEthernet1/0
R3#show ip route ospf
O 192.168.12.0/24 [110/11] via 192.168.23.2, 00:00:45, FastEthernet0/0
[110/11] via 192.168.13.1, 00:00:45, FastEthernet1/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 192.168.23.2, 00:00:45, FastEthernet0/0
O*E2 0.0.0.0/0 [110/1] via 192.168.23.2, 00:00:45, FastEthernet0/0
Come puoi vedere R1 e R3 hanno imparato il percorso predefinito da R2.
Continuiamo la nostra configurazione OSPF. Voglio mostrarti come eseguire l’autenticazione in chiaro e MD5. Inizierò configurando l’autenticazione in testo normale tra R2 e R3:
R2(config)#interface fastEthernet 1/0
R2(config-if)#ip ospf authentication
R2(config-if)#ip ospf authentication-key MY_SECRET
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip ospf authentication
R3(config-if)#ip ospf authentication-key MY_SECRET
Per prima cosa è necessario utilizzare il comando di autenticazione ip ospf per abilitare l’autenticazione in chiaro sull’interfaccia. In secondo luogo, dobbiamo configurare una password utilizzando il comando ip ospf authentication-key.
Dopo aver configurato l’autenticazione su un router, vedrai che l’adiacenza del vicino si interrompe per un momento finché non configuri l’altro router.
C’è un utile comando di debug che puoi usare per verificare se l’autenticazione è stata abilitata o meno:
R3#debug ip ospf packet
OSPF packet debugging is on
Debug ip ospf packet ti mostrerà una panoramica dei pacchetti OSPF che stai ricevendo, assomiglia a questo:
R3#
OSPF: rcv. v:2 t:1 l:48 rid:192.168.13.1
aid:0.0.0.0 chk:7D95 aut:0 auk: from FastEthernet1/0
Questo è un pacchetto che abbiamo ricevuto da R1. “Aut: 0” significa che questo pacchetto non è autenticato. Questo è corretto perché non abbiamo configurato l’autenticazione tra R3 e R1.
OSPF: rcv. v:2 t:1 l:48 rid:2.2.2.2
aid:0.0.0.0 chk:3339 aut:1 auk: from FastEthernet0/0
Questo pacchetto proviene da R2 e puoi vedere che dice “aut: 1”. Ciò significa che abbiamo abilitato l’autenticazione in chiaro. Disabilitiamo il debug prima di continuare:
R3#no debug all
All possible debugging has been turned off
Configuriamo l’autenticazione MD5 tra R1 e R3:
R3(config)#interface fastEthernet 1/0
R3(config-if)#ip ospf authentication message-digest
R3(config-if)#ip ospf message-digest-key 1 md5 mykey
R1(config)#interface fastEthernet 1/0
R1(config-if)#ip ospf authentication message-digest
R1(config-if)#ip ospf message-digest-key 1 md5 mykey
Per prima cosa diciamo a OSPF di utilizzare MD5 con il comando message-digest di autenticazione ip ospf. In secondo luogo l’ip ospf message-digest-key dice a OSPF di usare la chiave MD5 1 (puoi scegliere qualsiasi numero che ti piace purché sia ​​lo stesso su entrambi i router) e la password “mykey”.
Se abiliti il ​​debug puoi vedere che funziona:
R1#debug ip ospf packet
OSPF packet debugging is on
R1#
OSPF: rcv. v:2 t:1 l:48 rid:3.3.3.3
aid:0.0.0.0 chk:0 aut:2 keyid:1 seq:0x3C7EE6DC from FastEthernet1/0
R1#no debug all
All possible debugging has been turned off
Nell’output sopra puoi vedere che dice “auth: 2” che significa autenticazione MD5. Puoi anche vedere il key-id.
Negli esempi sopra ho abilitato l’autenticazione per interfaccia. È anche possibile farlo per l’intera area … questo potrebbe farti risparmiare tempo se hai un router con molte interfacce. Puoi farlo in questo modo:
R3(config-if)#router ospf 1
R3(config-router)#area 0 authentication
O nel caso in cui desideri l’autenticazione MD5:
R3(config-if)#router ospf 1
R3(config-router)#area 0 authentication message-digest
Se vuoi puoi cambiare i timer OSPF in modo che risponda più velocemente ai cambiamenti nella rete. Ecco come lo fai:
R1#show ip ospf interface fastEthernet 1/0
FastEthernet1/0 is up, line protocol is up
Internet Address 192.168.13.1/24, Area 0
Process ID 1, Router ID 192.168.13.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 192.168.13.1, Interface address 192.168.13.1
Backup Designated router (ID) 3.3.3.3, Interface address 192.168.13.3
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Sopra puoi vedere i timer predefiniti. Ogni 10 secondi viene inviato un pacchetto hello e se non riceviamo alcun pacchetto hello per 40 secondi dichiareremo il nostro vicino “morto”.
Se vogliamo possiamo cambiare questi sintonizzatori, lo farò tra R2 e R3:
R2(config-if)#interface fastEthernet 1/0
R2(config-if)#ip ospf hello-interval 5
R2(config-if)#ip ospf dead-interval 15
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip ospf hello-interval 5
R3(config-if)#ip ospf dead-interval 15
Utilizzare ip ospf hello-interval e ip ospf dead-interval per modificare questi timer. Come ho spiegato all’inizio di questa lezione, questi valori devono corrispondere su entrambi i lati! Questo è tutto quello che volevo mostrarti.
Configurazioni:
hostname R3
!
interface FastEthernet0/0
ip address 192.168.23.3 255.255.255.0
ip ospf authentication
ip ospf authentication-key MY_SECRET
!
interface FastEthernet1/0
ip address 192.168.13.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 mykey
ip ospf hello-interval 5
ip ospf dead-interval 15
!
router ospf 1
network 192.168.23.0 0.0.0.255 area 0
network 192.168.13.0 0.0.0.255 area 0
!
end
hostname R1
!
interface Ethernet0/0
ip address 192.168.12.1 255.255.255.0
!
interface FastEthernet1/0
ip address 192.168.13.1 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 mykey
!
router ospf 1
network 192.168.12.0 0.0.0.255 area 0
network 192.168.13.0 0.0.0.255 area 0
!
end
hostname R2
!
interface Ethernet0/0
ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet1/0
ip address 192.168.23.2 255.255.255.0
ip ospf authentication
ip ospf authentication-key MY_SECRET
ip ospf hello-interval 5
ip ospf dead-interval 15
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
router ospf 1
network 192.168.23.0 0.0.0.255 area 0
network 192.168.12.0 0.0.0.255 area 0
default-information originate always
!
end