This shows you the differences between two versions of the page.
pr:labs:04 [2019/10/21 14:51] iulia.florea |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~SHOWSOLUTION~~ | ||
- | |||
- | ===== Laboratorul 04. OSPF (2) ===== | ||
- | |||
- | |||
- | ==== Motivaţie ==== | ||
- | După ce v-ați familiarizat cu comportamentul de bază al protocolului OSPF, sunteți provocați să implementați politici avansate ale protocolului folosind tipuri speciale de arii OSPF prin care să eficientizați tabelele de rutare în rețea. | ||
- | |||
- | ==== Topologie ==== | ||
- | {{:pr:labs:lab4_ospf_topologie.jpg?800|}} | ||
- | |||
- | ==== Cheatsheet ==== | ||
- | [[https://packetlife.net/media/library/10/OSPF.pdf|OSPF basic commands]] | ||
- | |||
- | ==== Cerințe ==== | ||
- | |||
- | <note hint> | ||
- | Intre echipamentele din laborator, exista deja OSPF multi area configurat, conform topologiei din imagine. | ||
- | Pentru a conecta aria 2 de aria 0, s-a folosit un [[https://www.cisco.com/c/en/us/support/docs/ip/open-shortest-path-first-ospf/47866-ospfdb7.html|virtual link]], creat intre R2 si R3. | ||
- | Nu începeți taskurile acestui laborator fără să încărcați initial_configs. | ||
- | </note> | ||
- | |||
- | === Setup === | ||
- | <note important> Descărcați configurațiile de {{:pr:labs:lab4_ospf.zip|aici}}. </note> | ||
- | |||
- | === Exerciții === | ||
- | 1. [5p] Trebuie să configurăm area 1 prezentă pe R2, R3 și R4 ca arie de stub care filtrează update-urile de tip 5 External Link și de tip 4 ASBR Summary primite din area 0. Care este problema de care vă loviți? | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | Aflăm procesul de OSPF care rulează pe fiecare ruter astfel: | ||
- | <code> | ||
- | R1(config)#do sh ip proto | include ospf | ||
- | Routing Protocol is "ospf 1" | ||
- | </code> | ||
- | |||
- | <code> | ||
- | R2(config)#router ospf 1 | ||
- | R2(config-router)#area 1 stub | ||
- | % OSPF: Area cannot be a stub as it contains a virtual link | ||
- | </code> | ||
- | |||
- | |||
- | Pe R2 și R3 nu putem configura area 1 ca stub deoarece a fost folosită pentru configurarea unui virtual link. Adiacențele dintre R2 și R4, respectiv dintre R3 și R4 vor pica deoarece pentru formarea adiacențelor OSPF trebuie să coincidă bitul de stub. | ||
- | |||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 2. [20p] Pentru a putea configura aria 1 ca arie speciala OSPF, elimitati virtual link-ul dintre R2 si R3 si inlocuiti-l cu un tunel GRE intre R2 si R3 | ||
- | <hidden> | ||
- | <solution -hidden> | ||
- | |||
- | Ștergerea configurării de virtual link: | ||
- | <code> | ||
- | R3(config-router)#do sh run | section router ospf | ||
- | router ospf 1 | ||
- | [...] | ||
- | area 1 virtual-link 150.1.6.1 | ||
- | [...] | ||
- | R3(config-router)#no area 1 virtual-link 150.1.6.1 | ||
- | R2(config-router)#do sh run | section router ospf | ||
- | router ospf 1 | ||
- | [...] | ||
- | area 1 virtual-link 150.1.3.1 | ||
- | [...] | ||
- | R2(config-router)#no area 1 virtual-link 150.1.3.1 | ||
- | </code> | ||
- | |||
- | Tunelare GRE: | ||
- | <code> | ||
- | R2(config)#interface Tunnel0 | ||
- | R2(config-if)# ip address 11.0.0.1 255.255.255.0 | ||
- | R2(config-if)# ip ospf 1 area 0 | ||
- | R2(config-if)# tunnel source FastEthernet0/0 | ||
- | R2(config-if)# tunnel destination 10.10.211.3 | ||
- | R3(config)#interface Tunnel0 | ||
- | R3(config-if)# ip address 11.0.0.2 255.255.255.0 | ||
- | R3(config-if)# ip ospf 1 area 0 | ||
- | R3(config-if)# tunnel source FastEthernet0/0 | ||
- | R3(config-if)# tunnel destination 10.10.211.6 | ||
- | </code> | ||
- | |||
- | <code> | ||
- | R3(config-if)#do sh ip ospf neig | ||
- | |||
- | Neighbor ID Pri State Dead Time Address Interface | ||
- | 150.1.6.1 0 FULL/ - 00:00:38 11.0.0.1 Tunnel0 [...] | ||
- | </code> | ||
- | |||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 3. [10p] Odată ce ați obținut din nou conectivitate între aria 2 și aria 0, configurați aria 1 ca arie specială OSPF pentru a filtra rutele externe. | ||
- | |||
- | * Rulați comanda ''sh ip route'' pe R3. Apar rute externe? De ce? | ||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | R2(config-if)#router ospf 1 | ||
- | R2(config-router)#area 1 stub | ||
- | R3(config-if)#router ospf 1 | ||
- | R3(config-router)#area 1 stub | ||
- | </code> | ||
- | |||
- | Aceste rute sunt aflate via Tunnel0, nu via FastEthernet0/0 din area 1 stub. | ||
- | </solution> | ||
- | </hidden> | ||
- | * Afisați baza de date OSPF pe R3 și identificați de unde aveți rute externe în tabela de rutare OSPF. | ||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | R3(config-router)#do sh ip ospf database | ||
- | [...] | ||
- | #### Type 4 LSA | ||
- | Summary ASB Link States (Area 2) | ||
- | |||
- | Link ID ADV Router Age Seq# Checksum | ||
- | 150.1.1.1 150.1.3.1 80 0x80000001 0x003931 | ||
- | |||
- | Type-5 AS External Link States | ||
- | |||
- | Link ID ADV Router Age Seq# Checksum Tag | ||
- | 0.0.0.0 150.1.1.1 495 0x80000001 0x00DA3E 1 | ||
- | 150.1.1.1 150.1.1.1 495 0x80000001 0x00C0AC 0 | ||
- | 150.1.3.1 150.1.3.1 493 0x80000001 0x0019D0 0 | ||
- | </code> | ||
- | |||
- | Atât pentru ruta externă 150.1.1.1, cât și pentru 0.0.0.0, introduse prin LSA de tip 5, advertising router este 150.1.1.1, adică R1. În secțiunea Summary ASB Link States dedicată LSA-urilor de tip 4, pe coloana Link ID avem ID-ul ASBR-ului care introduce rute de tip 5, iar pe coloana ADV Router avem ABR-ul care propaga Link State-uri de tip 5 din backbone area în area 2(listată în titlul secțiunii). Observăm că ABR-ul este 150.1.3.1, adică R3 care este conectat prin area de backbone prin Tunnel0. | ||
- | |||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 4. [5p] Afisați tabela de rutare pe R4. | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | Rogue#sh ip route | ||
- | [...] | ||
- | O*IA 0.0.0.0/0 [110/2] via 10.10.211.6, 00:18:46, FastEthernet0/0 | ||
- | [110/2] via 10.10.211.3, 00:18:46, FastEthernet0/0 | ||
- | </code> | ||
- | </solution> | ||
- | </hidden> | ||
- | * Câte rute default aveți? De ce? | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | Avem 2 rute, una prin ABR-ul R2 care e direct conectat la area 0, una prin ABR-ul R3 care e conectat la area 0 prin tunel. Rutele au metrici egale deoarece sunt rute de tip inter-area al căror cost se calculează ca sumă a costului rutei din punct de vedere al ABR-ului care o propagă inter-area, plus costul lui R4 până la ABR: | ||
- | Costurile lui R2 și R3 pentru ruta 0.0.0.0 sunt egale cu 1 chiar dacă R3 află despre 0.0.0.0 prin R2, deoarece 0.0.0.0 este redistribuită în area 0 ca rută de tip E2 (fără cost cumulativ) | ||
- | Costurile lui R4 până la R2 și R3 sunt egale cu 1 | ||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 5. [15p] Interfețele de Loopback de mai jos sunt deja configurate pe R4. Dorim sa introducem aceste retele | ||
- | în OSPF ca rute externe cu **cost cumulativ si metrica de intrare 10**: | ||
- | * Loopback1: 192.168.0.1/26 | ||
- | * Loopback2: 192.168.0.65/26 | ||
- | * Loopback3: 192.168.0.129/26 | ||
- | * Loopback4: 192.168.0.193/26 | ||
- | |||
- | **Functioneaza redistribuirea pe R4? | ||
- | Modificati tipul ariei astefel incat sa permita introducerea de informatii externe | ||
- | si redistribuiti retelele.** | ||
- | |||
- | *Cum arata acestea pe R1? | ||
- | Cu ce cod apar?* | ||
- | |||
- | Note: Pentru a modifica tipul ariei, trebuie mai intai sa stergeti tipul curent de arie si sa-l modificati pe cel nou. | ||
- | <code> | ||
- | R4(config)#router ospf 1 | ||
- | R4(config-router)#no area 1 stub | ||
- | R4(config-router)#area 1 <new-type> | ||
- | </code> | ||
- | <hidden> | ||
- | <solution -hidden> | ||
- | R2(config)#router ospf 1 | ||
- | R2(config-router)#no area 1 stub | ||
- | R2(config-router)# area 1 nssa | ||
- | |||
- | R3(config)#router ospf 1 | ||
- | R3(config-router)#no area 1 stub | ||
- | R3(config-router)# area 1 nssa | ||
- | |||
- | |||
- | R4(config)#router ospf 1 | ||
- | R4(config-router)#no area 1 stub | ||
- | R4(config-router)# area 1 nssa | ||
- | R4(config-router)# redistrubute connected metric-type 1 metric 10 subnets | ||
- | <code> | ||
- | R1#sh ip route | ||
- | [..] | ||
- | |||
- | 192.168.0.0/26 is subnetted, 4 subnets | ||
- | O E1 192.168.0.64 [110/21] via 172.1.231.2, 00:00:35, Ethernet2/1 | ||
- | O E1 192.168.0.0 [110/21] via 172.1.231.2, 00:00:43, Ethernet2/1 | ||
- | O E1 192.168.0.192 [110/21] via 172.1.231.2, 00:00:16, Ethernet2/1 | ||
- | O E1 192.168.0.128 [110/21] via 172.1.231.2, 00:00:27, Ethernet2/1 | ||
- | [..] | ||
- | </code> | ||
- | |||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 6. [5p] Afisați tabela de rutare pe R2. Cu ce cod cunoaște acest ruter rețelele 150.1.3.1 și 150.1.4.1? Testați conectivitatea către 150.1.4.1 de pe un ruter din rețea (diferit de R4) | ||
- | <hidden> | ||
- | <solution -hidden> | ||
- | 150.1.3.1 - Loopback R3 | ||
- | 150.1.4.1 - Loopback R4 | ||
- | |||
- | <code> | ||
- | R1#sh ip route | ||
- | [...] | ||
- | O N2 150.1.4.1 [110/40] via 10.10.211.1, 00:02:32, FastEthernet0/0 | ||
- | O N1 150.1.3.1 [110/21] via 10.10.211.3, 00:02:32, FastEthernet0/0 | ||
- | R4(config)#do ping 150.1.4.1 | ||
- | [...] | ||
- | !!!!! | ||
- | Success rate is 100 percent (5/5), round-trip min/avg/max = 8/25/44 ms | ||
- | </code> | ||
- | |||
- | Codul care apare indică o rută de tip E2, respectiv E1 redistribuită într-o arie care este NSSA. | ||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 7. [10p] Deși ați rezolvat cu succes și această problemă, acum utilizatorii se plâng de faptul că ruterul R4 nu mai oferă acces la interfata Lo0 a ruterului R1 (IP-ul 150.1.1.1). Reteaua respectiva a fost adaugata pe R1 prin redistribuire. | ||
- | Care este cauza acestei probleme? | ||
- | |||
- | **Configurați rețeaua astfel încât toate ruterele din aria 1 să primească o rută default de la R2, fara a schimba tipul de arie** | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | Cauza problemei este că în arii de tip NSSA, spre deosebire de arii de stub, ABR-ul (fie el R2 sau R3) nu distribuie rute default în mod implicit. | ||
- | |||
- | |||
- | <code> | ||
- | R4(config-router)#do ping 150.1.1.1 | ||
- | [...] | ||
- | ..... | ||
- | Success rate is 0 percent (0/5) | ||
- | R4(config-router)#do sh ip route | ||
- | [...] | ||
- | O*N2 0.0.0.0/0 [110/1] via 10.10.211.6, 00:00:15, FastEthernet0/0 | ||
- | Rogue(config-router)#do ping 150.1.1.1 | ||
- | [...] | ||
- | !!!!! | ||
- | Success rate is 100 percent (5/5), round-trip min/avg/max = 4/25/72 ms | ||
- | </code> | ||
- | |||
- | <code> | ||
- | R2(config)#router ospf 1 | ||
- | R2(config-router)#area 1 nssa default-information-originate | ||
- | </code> | ||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 8. [10p] Configurați interfețele de Loopback de mai jos pe R2 și introduceți aceste rețele în OSPF aria 201: | ||
- | * Loopback1: 192.168.1.1/25 | ||
- | * Loopback2: 192.168.1.129/25 | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | R2#sh ip proto | ||
- | [..] | ||
- | 192.168.1.1 0.0.0.0 area 201 | ||
- | 192.168.1.129 0.0.0.0 area 201 | ||
- | [..] | ||
- | </code> | ||
- | |||
- | <code> | ||
- | R2(config)#interface Loopback1 | ||
- | R2(config-if)# ip address 192.168.1.1 255.255.255.128 | ||
- | R2(config-if)#interface Loopback2 | ||
- | R2(config-if)# ip address 192.168.1.129 255.255.255.128 | ||
- | R2(config-if)#router ospf 1 | ||
- | R2(config-router)# network 192.168.1.1 0.0.0.0 area 201 | ||
- | R2(config-router)# network 192.168.1.129 0.0.0.0 area 201 | ||
- | </code> | ||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 9. [10p] Sumarizați rețelele de loopback(Lo1, Lo2, Lo3, Lo4) ale lui R4 pentru a introduce o singură rută în OSPF. Verificați comportamentul în tabelele de rutare ale ruterelor vecine. | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | R4(config-if)#router ospf 1 | ||
- | R4(config-router)#summary-address 192.168.0.0 255.255.255.0 | ||
- | </code> | ||
- | |||
- | |||
- | <code> | ||
- | R1#sh ip route | ||
- | [...] | ||
- | O E2 192.168.0.0/24 [110/40] via 10.10.211.1, 00:00:08, FastEthernet0/0 | ||
- | [...] | ||
- | </code> | ||
- | |||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | 10. [10p] Sumarizați rețelele de loopback ale lui R2 pentru a introduce o singură rută în OSPF. Verificați comportamentul în tabelele de rutare ale ruterelor vecine. | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | <code> | ||
- | R2(config-router)# area 201 range 192.168.1.0 255.255.255.0 | ||
- | </code> | ||
- | |||
- | <code> | ||
- | Rogue(config-router)#do sh ip route | ||
- | [...] | ||
- | O IA 192.168.1.0/24 [110/2] via 10.10.211.6, 00:00:47, FastEthernet0/0 | ||
- | [...] | ||
- | </code> | ||
- | </solution> | ||
- | </hidden> | ||
- | |||
- | ==== Bonus ==== | ||
- | |||
- | 11. [10p] Adăugați interfața Loopback1 pe R5 cu adresa 192.168.100.1/24. Introduceți această rețea în OSPF fără a da nici o comandă OSPF **pe ruterul R5**. | ||
- | |||
- | Hint: Redistribuire de rute statice | ||
- | |||
- | <hidden> | ||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | R5(config)#int lo1 | ||
- | R5(config-if)#ip addr 192.168.100.1 255.255.255.0 | ||
- | R3(config)#ip route 192.168.100.0 255.255.255.0 10.10.211.169 | ||
- | R3(config)#router ospf 1 | ||
- | R3(config-router)#redistribute static subnets | ||
- | </code> | ||
- | |||
- | </solution> | ||
- | </hidden> | ||