Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:labs:11 [2021/11/22 13:37]
cosmin.prunaru [Pregătire infrastructură de laborator]
rl:labs:11 [2026/01/16 14:34] (current)
vlad_andrei.badoiu [Laborator 11. Rutare Dinamică în Rețele IP]
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
  
-====== Laborator 11. Securitatea ​Rețelelor Locale ​======+====== Laborator 11. Rutare Dinamică în Rețele IP ======
  
 +  * [[ https://​curs.upb.ro/​2025/​mod/​feedbackadm/​view.php?​id=3995 | Feedback CA]]
 +  * [[ https://​curs.upb.ro/​2025/​mod/​feedbackadm/​view.php?​id=3997 | Feedback CB]]
 +  * [[ https://​curs.upb.ro/​2025/​mod/​feedbackadm/​view.php?​id=3999 | Feedback CC]]
 +  * [[ https://​curs.upb.ro/​2025/​mod/​feedbackadm/​view.php?​id=4001 | Feedback CD]]
  
-  * [[ https://​curs.upb.ro/​mod/​feedbackadm/​view.php?​id=25122 | Feedback CA]] +În cele ce urmează vom trece prin rutarea dinamică utilizând protocolul OSPF, precum și mecanismul de redistribuire a rutelor între diferite protocoale de rutareDupă parcurgerea acestui laborator, vom avea o înțelegere clară a modului în care funcționează rutarea IP la nivel global, dincolo de rețelele locale, și a felului în care pachetele sunt direcționate eficient prin intermediul rețelelor interconectate folosind protocoale dinamice de rutare.
-  * [[ https://​curs.upb.ro/​mod/​feedbackadm/​view.php?​id=25125 | Feedback CB]] +
-  * [[ https://​curs.upb.ro/​mod/​feedbackadm/​view.php?​id=25128 | Feedback CC]]+
  
-<​hidden> ​+Bibliografie:​ 
 +- [[https://​beta.computer-networking.info/​syllabus/​default/​principles/​network.html#​linkstate|Link State Routing]] 
 +- [[https://​beta.computer-networking.info/​syllabus/​default/​protocols/​routing.html|Routing]] 
 +===== Cunoștințe și abilități ce vor fi dobândite =====
  
-Arhiva laboratorului se găsește [[ https://​drive.google.com/​file/​d/​1guW9Kx3S8PATZ_ljmPmadP16rq7pWd42/​view?​usp=sharing | aici]] +  * Înțelegerea utilității mecanismului de rutare dinamică.
-</​hidden>​+
  
 +  * Realizarea configurațiilor de bază ale protocolului OSPF.
  
-===== Cunoștințe și abilități ce vor fi dobândite =====+  * Configurarea redistribuirii rutelor în OSPF.
  
-  * Descoperirea de informații despre o anumită rețea, entitate 
-  * Folosirea utilitarelor în linia de comandă în Linux (whois, nmap, wireshark) 
-  * Descoperirea vulnerabilităților 
-  * Înțelegerea tipului de atac MiTM (Man in the Middle) folosind ARP spoofing și DNS spoofing 
  
-===== Cheat sheet ===== 
  
-  * {{:​rl:​rl_cheatsheet.pdf|Cheat Sheet}}+===== Exerciții =====
  
 +====De ce avem nevoie de rutare dinamică?​====
  
-===== Pregătire infrastructură de laborator ===== +  * Ne reamintim din **Laboratorul 5 (Rutare)** că procesul de adăugare a rutelor statice pentru interconectarea mai multor rețele este unul manual și mecanic, în care administratorul ​de rețea trebuie să aibă o cunoaștere amplă asupra întregii topologii. 
-<​hidden> ​ +  Într-infrastructură cu cel mult **10-15** rețele, acest lucru poate fi realizat manual, însă în cazul în care trebuie interconectate **sute sau mii** de rețele, așa cum se întâmplă în Internet, configurarea manuală a rutelor devine ineficientă
- ​* ​Vom rula masină virtuală în [[http://​cloud.curs.pub.ro | cloud-ul facultății]]  [[https://​cloud-controller.grid.pub.ro | link direct OpenStack]] +  * Din acest motiv există mecanisme ​de **rutare dinamică**, bazate pe utilizarea unor protocoale ​de rutare dinamice precum OSPF, IS-IS, EIGRP, RIP pentru rutare internă sau BGP pentru rutare externă. 
-  * Pentru a porni o astfel ​de masină urmăriți tutorialul ​de la [[https://​cloud.curs.pub.ro/​about/​tutorial-for-students/​ | această adresă]]+  OSPF este un protocol des întâlnit în prezent pentru rutarea dinamică internă, fiind utilizat ​în interiorul unui sistem autonom, cum ar fi rețelele unui ISP, ale unei companii sau ale unei universități. 
-    Când creați instanța de mașină virtuală (în fereastra "​Launch instance"​):​ +  * OSPF este un protocol de tip **link-state**, care creează inițial **adiacențe cu routerele vecine**, folosindu-le ulterior pentru schimbul de informații de rutare. 
-      * Dați ce nume doriți instanței (e.g., "Lab 7"); +  Odată ce un router OSPF învață noi ruteacesta le va propaga către vecinii săi, informându-i despre existența unor noi destinații și despre calea optimă de acces către acestea
-      În meniul din stânga, la Sourcescăutați ''​RL 2020''​ și apăsați pe săgeată sus pentru a o selecta; +
-      ​La flavoreste suficient ''​m1.small''​ (ultimul din listă), nu aveți nevoie ​de mai multe procesoare sau memorie mare; +
-      Conectați-vă la ''​fep''​apoi pe mașina virtuală proaspăt pornită prin IP-ul privat (''​10.9.x.x''​):<​code bash> +
-ssh -i ~/.ssh/​openstack.key student@10.9.x.x +
-</​code>​ +
-</​hidden>​+
  
-  * Vom rula o masină virtuală local folosind [[https://​www.virtualbox.org/​ | VirtualBox]] sau [[https://​vmware.pub.ro/​ | VMWare]] (Detalii mai jos). Descărcați arhiva cu resursele mașinii de [[ https://​rl-checker.root.sx/​share/​RL_2021_VM.zip | aici]].+====01. [10 pCum vizualizam rutele dinamice pe un router Cisco?====
  
-<spoiler Detalii rulare masina virtuala VMware local> +Resursa{{:rl:labs:pkt1_1_2_neredistribuite.pkt|}}
-  * Deschideți VMware și porniți mașina virtuală ''​RL_lab''​. +
-  * Dorim să folosim terminalul sistemului fizic și să lucrăm peste SSH cu mașina virtuală (denumită și ''​host''​). În acest fel vom putea folosi copy-paste în terminal sau alte facilități. Pentru aceasta urmați pașii de mai jos: +
-    * Autentificați-vă în mașina virtuală folosind contul ''​root''​ cu parola ''​student''​. +
-    * Aflați adresa IP a mașinii virtuale de pe interfața ''​eth0''​:<code bash> +
-root@host:~# ifconfig eth0 +
-</​code>​ +
-    * De pe sistemul fizic, deschideți un terminal și realizați o sesiune SSH folosind:<code bash> +
-student@mjolnir:​~$ ssh student@$ADRESA_IP_MV +
-</​code>​unde ''​$ADRESA_IP_MV''​ este adresa IP a mașinii virtuale așa cum ați obținut-o mai sus. +
-    * Schimbati utilizatorul curent ca ''​root''​ folosind comanda <code bash>​student@host:​~$ sudo su</​code>​ +
-</​spoiler>​+
  
-<spoiler Detalii rulare masina virtuala VirtualBox local> +  ​Ne reamintim că pentru a vizualiza tabela de rutare ​de pe un router Cisco se folosește comanda:
-  ​Deschideți VirtualBox și porniți mașina virtuală ''​RL_lab''​. +
-  * Dorim să folosim terminalul sistemului fizic și să lucrăm peste SSH cu mașina virtuală (denumită și ''​host''​). În acest fel vom putea folosi copy-paste în terminal sau alte facilități. Pentru aceasta urmați pașii de mai jos: +
-    * Vom adauga o regula de port forwarding ​pentru a putea accesa masina prin SSH de pe statia Host +
-    * Cu masina virtuala oprita deschidem **Settings -> Network -> Advanced -> Port Forwarding** si adaugam urmatoarea regula: +
-    {{ :​rl:​labs:​port_forward_virtual_box.png?​600 | Port forwarding pentru acces SSH de pe Host }}+
  
-    * De pe sistemul fizic, deschideți un terminal și realizați o sesiune SSH folosind:<​code bash> 
-student@mjolnir:​~$ ssh -p 10022 student@localhost 
-</​code>​ 
-    * Schimbati utilizatorul curent ca ''​root''​ folosind comanda <code bash>​student@host:​~$ sudo su</​code>​ 
-</​spoiler>​ 
-  * Pentru a pregăti configurația de laborator, pe mașina virtuală (stația ''​host''​) folosiți comenzile următoare din contul utilizatorului ''​root''​ de pe stația ''​host''​ (puteți da copy/paste la comenzi în terminal):<​code bash> 
-root@host:​~#​ update_lab --force 
-root@host:​~#​ start_lab lab11 
-</​code>​ 
-  * Deschideți trei noi tab-uri în terminal (folosiți combinația de taste ''​Ctrl+Shift+t''​),​ și conectați-vă,​ din nou, la mașina virtuală folosind comanda ''​ssh''​ de mai sus. 
-    * De pe cele trei noi tab-uri, conectați-vă la cele trei containere (''​red'',​ ''​green''​ și ''​blue''​). 
-    * Pentru o conectare mai usoara puteti folosi aliasul ''​go''​ (ex. ''​go red''​) 
  
-<​note>​ +    show ip route 
-Pentru a vedea cum accesați stațiile ''​red'',​ ''​green''​ și ''​blue''​ (containere Docker configurate peste mașina virtuală VMware - stația ''​host''​) urmăriți indicațiile din [[:​rl:​info:​resurse:​vm-laborator#​instructiuni_de_utilizare|pagina cu instrucțiuni de utilizare a mașinii virtuale]]. + 
-</​note>​+
  
-<​note>​ +  * Rutele statice apar listate cu litera **S** în față, iar rutele direct conectate cu litera **C**. 
-Conturile ​de acces la mașina virtuală (stația ''​host''​) sunt (''​username:parola''​)+  * Rutele dinamice nu au un singur caracter ​de identificare,​ deoarece acestea pot fi învățate prin mai multe protocoale de rutare dinamică. 
-  * ''​root:student''​ +  * În funcție de protocolul utilizat pentru învățarea unei rute, în tabela de rutare pot apărea următoarele marcaje: 
-  * ''​student:student''​ +      * **O** - rute învățate prin OSPF 
-</note>+      * **D** - rute învățate prin EIGRP 
 +      * **R** - rute învățate prin RIP 
 +      * **i** - rute învățate prin IS-IS 
 +      * **B** - rute învățate prin BGP 
 +  * Pentru acest exercițiu, conectați-vă pe cele 3 routere din topologie ​și afișați tabelele de rutare ale acestora. 
 +  * Analizați informațiile afișate și răspundeți la următoarele întrebări:​ 
 +    - Ce tipuri de rute apar în tabela de rutare? 
 +    - Ce protocoale de rutare dinamică sunt utilizate?​ 
 +    - Stie fiecare router despre toate rețelele din topologie?​ 
 + 
 +====02. [10 p] Trimiterea de pachete între rețele==== 
 + 
 +  * Pentru început, folosind **ping**, testați conectivitatea:​ 
 +    * de la PC0 către Server0 ​(40.40.40.3);​ 
 +    * de la Laptop0 către PC1 (20.20.20.2). 
 +  * Observați că, în niciunul dintre cazuri, pachetele nu sunt livrate către destinație. 
 +  * Folosiți comanda **show running-config** pentru a vizualiza configurațiile curente ale celor trei routere. 
 +  * Se poate observa că sunt configurate protocoale de rutare dinamică după cum urmează: 
 +    * pe Router1 este configurat OSPF; 
 +    * pe Router2 este configurat EIGRP; 
 +    * pe Router0 este configurat OSPF pentru comunicarea cu Router1 și EIGRP pentru comunicarea cu Router2. 
 +  * Cu toate acestea, protocoalele de rutare nu fac schimb de informații între ele pe Router0, astfel încât rutele învățate de la Router1 nu sunt cunoscute de Router2 și invers. 
 +  * Acest comportament este normal, deoarece protocoale diferite de rutare dinamică nu schimbă informații implicit, având implementări diferite, algoritmi de calcul distincti și metrici de rutare specifice. 
 + 
 +====03. [10 p] Redistribuirea rutelor între protocoalele de rutare==== 
 + 
 +Resursa: {{:​rl:​labs:​pkt1_3_redistribuite.pkt|}} 
 + 
 +  * Observați că, în noua topologie, dacă încercați să trimiteți pachetele testate în exercițiul anterior, acestea sunt acum livrate cu succes. 
 +  * Acest comportament este rezultatul redistribuirii rutelor între cele două protocoale de rutare dinamică. 
 +  * Redistribuirea reprezintă mecanismul prin care informațiile de rutare învățate printr-un protocol sunt transmise către un alt protocol de rutare. 
 +  * Redistribuirea se poate realiza: 
 +    * **One-way** - un protocol de rutare învață informațiile unui alt protocol; 
 +    * **Two-way** - ambele protocoale de rutare fac schimb de informații între ele. 
 +  * În continuare, conectați-vă pe Router1 și Router2 și afișați tabelele de rutare ale acestora. 
 +  * Pe Router1 se pot observa rute noi marcate cu O E2, ceea ce indică faptul că aceste rute au fost redistribuite în OSPF. 
 +  * Pe Router2 apar rute marcate cu D EX, semnificând că acestea au fost învățate prin redistribuirea rutelor în EIGRP. 
 +  * Tabela de rutare a Routerului Central rămâne neschimbată,​ deoarece acesta cunoaște deja toate rutele prin ambele protocoale configurate. 
 + 
 +====04. [20 p] Configurații de baza OSPF folosind metoda network ==== 
 + 
 +Resursa: {{:​rl:​labs:​pkt_ospf.pkt|}} 
 + 
 +  * În acest exercițiu veți configura o topologie simplă astfel încât să permiteți comunicarea end-to-end între toate stațiile. 
 +  * Configurațiile de bază (adrese IP, măști de rețea și default gateway-uri) sunt deja realizate. 
 +  * Singurul element neconfigurat rămâne rutarea dinamică pe cele două routere. 
 +  * Datele Topologiei: 
 +    * PC1 aparține rețelei 10.10.10.0/​24 
 +    * PC2 aparține rețelei 20.20.20.0/​24 
 +    * PC3 aparține rețelei 30.30.30.0/​24 
 +    * PC4 aparține rețelei 40.40.40.0/​24 
 +    * Rețeaua dintre routere este 50.50.50.0/​30 
 +    * Router0 va avea router-id 1.1.1.1 
 +    * Router1 va avea router-id 2.2.2.2 
 +    * Procesul OSPF utilizat va fi 1 
 +  * Wildcard Mask 
 +    * Un wildcard mask este o mască inversă față de subnet mask, utilizată pe routerele Cisco pentru a specifica ce biți dintr-o adresă IP trebuie potriviți și ce biți pot fi ignorați. 
 +        * 0 – bitul trebuie să se potrivească exact 
 +        * 1 – bitul este ignorat 
 +    * EXSubnet mask 255.255.255.0 -> Wildcard mask 0.0.0.255 
 +  * Metoda de configurare OSPF 
 +    * OSPF poate fi configurat: 
 +      * per interfață 
 +      * prin specificarea explicită a rețelelor folosind comanda network. 
 +    * În acest exercițiu se va utiliza menționarea explicită a rețelelor. 
 +    * Configurația este de tip OSPF Single Area, astfel încât toate rețelele vor fi incluse în area 0. 
 +  * Pași de configurare 
 +    * Router1
 + 
 + 
 +    # Pentru a configura un protocol de rutare trebuie sa ne aflam in modul Global Config 
 +    en 
 +    conf t 
 +    # Pentru a iniția procesul de configurare OSPF trebuie setat un numar de proces 
 +    router ospf 1 
 +    # Pentru a face parte dintr-un proces OSPF un router are nevoie de un ID pe care il putem configura manual folosind comanda router-id ​<id_router> 
 +    router-id 1.1.1.1 
 +    # Pentru a configura protocolul să învețe și să distribuie rețelele direct conectate trebuie să le includem pe toate în area 0 folosind comanda **network <​ip_retea>​ <​wildcard_mask>​ area <​nr_arie>​** 
 +    network 30.30.30.0 0.0.0.255 area 0 
 +    network 40.40.40.0 0.0.0.255 area 0 
 +    network 50.50.50.0 0.0.0.3 area 0 
 + 
 + 
 + 
 +    * Router0: 
 + 
 +    en 
 +    conf t 
 +    router ospf 1 
 +    router-id 2.2.2.2 
 +    network 10.10.10.0 0.0.0.255 area 0 
 +    network 20.20.20.0 0.0.0.255 area 0 
 +    network 50.50.50.0 0.0.0.3 area 0 
 + 
 + 
 +  * După configurarea ambelor routere, testați conectivitatea între toate stațiile din rețea folosind **ping**. 
 + 
 +====05. [10 p] Vizualizarea tabelei de adiacențe OSPF==== 
 +  * Folosind topologia configurată anterior, conectați-vă pe fiecare router și utilizați comanda: **show ip ospf neighbor** pentru a vizualiza vecinii OSPF ai fiecărui router. 
 +  * Ce puteți observa în rezultatele afișate? 
 +  * În tabela de vecini OSPF pot fi observate **4** coloane importante:​ 
 +    * **Neighbor ID** - reprezintă router-id-ul OSPF al routerului vecin; 
 +    * **Pri** - indică prioritatea OSPF a vecinului în procesul de alegere a DR/BDR (implicit valoarea este 1); 
 +    * **State** - indică rolul vecinului (DR / BDR / DROther), precum și starea adiacenței. În mod normal, după stabilirea completă a relației, starea este FULL, dar la pornirea topologiei, tabela poate fi surprinsă temporar în starea 2-WAY, care reprezintă o stare intermediară. 
 +    * **Address** - adresa IP a interfeței vecinului, corespunzătoare legăturii cu routerul curent. 
 +  * Observați că, în acest caz, alegerea DR și BDR s-a realizat pe baza router-id-ului,​ deoarece ambii vecini au avut aceeași prioritate OSPF. Astfel: 
 +    * **Router0** devine Designated Router (DR); 
 +    * **Router1** devine Backup Designated Router (BDR).
  
 <​note>​ <​note>​
-În mod implicit folosiți contul ''​root''​ pentru conectare pe toate stațiile. ​Aveți nevoie ​de drepturi privilegiate pentru ​configurare. ​Folosițcontul ''​student''​ doar unde vi se cere explicit.+  * În rețelele OSPF de dimensiuni mari, atunci când un router învață o rută nouă, acesta ar trebui să o distribuie către ​toate celelalte routere din procesul OSPF. Acest mecanism ar genera un volum foarte mare de trafic de rutare, deoarece fiecare router care primește informația ar trebui, la rândul său, să o retransmită către ceilalți, rezultând un număr ridicat de mesaje redundante. 
 +  * Pentru a evita această problemă, OSPF utilizează un mecanism de alegere a unui Designated Router (DR), care este singurul responsabil cu distribuirea informațiilor de rutare către celelalte routere OSPF. Informațiile ​sunt transmise inițial către DR, care le propagă mai departeDe asemenea, este ales un Backup Designated Router (BDR), care preia automat rolul de DR în cazul apariției unei defecțiuni hardware sau a unei erori de configurare. 
 +  * Alegerea DR șBDR se face în funcție de prioritatea OSPF cea mai mare, iar în caz de egalitate, pe baza router-id-ului cel mai mare.
 </​note>​ </​note>​
-===== Navigare ===== 
  
-**[[:rl:labs:​11|Laboratorul 11]]** +====06. [20 p] Redistribuirea rutelor între OSPF și EIGRP==== 
-{{page>:​rl:labs:​12:​meta:nav&​nofooter&​noeditbutton}}+  ​Pentru acest exercițiu se va utiliza topologia și fișierul Packet Tracer (pkt) din **Exercițiul 1**, în care: 
 +    ​pe Router1 este configurat protocolul OSPF; 
 +    ​pe Router2 este configurat protocolul EIGRP; 
 +    * pe Router0 sunt configurate atât OSPF (pentru comunicarea cu Router1), cât și EIGRP (pentru comunicarea cu Router2). 
 +  * După cum ați observat în cadrul **Exercițiului 2**, în această topologie nu există comunicare end-to-end, din cauza lipsei redistribuirii rutelor între protocoalele de rutare. 
 +  * Scopul acestui exercițiu este realizarea configurațiilor necesare pentru schimbul de informații între cele două protocoale de rutare dinamică. Astfel: 
 +    * OSPF trebuie să învețe rutele cunoscute de EIGRP; 
 +    * EIGRP trebuie să învețe rutele cunoscute de OSPF; 
 +    * este necesară o redistribuire de tip Two-Way. 
 +  * Toate configurațiile vor fi realizate exclusiv pe Router0. 
 +  * Pași de configurare:
  
-===== Exerciții =====+    # Redistribuire din OSPF în EIGRP 
 +    en 
 +    conf t 
 +    # Intrarea în procesul EIGRP (asemănător cu intrarea în procesul OSPF) 
 +    router eigrp 10 
 +    # Redistribuirea rutelor OSPF folosind metricile implicite EIGRP 
 +    redistribute ospf 1 metric 100000 100 255 1 1500 
 +    # Redistribuire din EIGRP în OSPF 
 +    router ospf 1 
 +    # Redistribuirea rutelor EIGRP (inclusiv rute classless - subnets) 
 +    redistribute eigrp 10 subnets 
 + 
 + 
 +====07. [20 p] Configurare OSPF folosind metoda per interfață==== 
 + 
 +  * Pentru acest exercițiu, descărcați din nou fișierul Packet Tracer (pkt) utilizat la Exercițiul 4. 
 +  * În cadrul acestui exercițiu veți realiza aceleași configurații OSPF, însă folosind metoda de configurare per interfață. 
 +  * Utilizând această metodă, nu mai este necesar să cunoaștem explicit rețelele direct conectate la router, ci doar interfețele active care au rețele asociate. 
 +  * Această abordare este utilă în special în situațiile în care topologia se modifică frecvent sau când se dorește un control mai clar asupra interfețelor participante în OSPF. 
 +  * Pași de configurare:​ 
 + 
 +    en 
 +    conf t 
 +    # Inițierea procesului OSPF 
 +    router ospf 1 
 +    router-id <​A.B.C.D>​ 
 +    # Activarea OSPF pe interfețe 
 +    interface gigabitEthernet0/​0 
 +    ip ospf 1 area 0 
 +    interface gigabitEthernet0/​1 
 +    ip ospf 1 area 0 
 +    interface gigabitEthernet0/​2 
 +    ip ospf 1 area 0
  
-{{namespace>​:rl:labs:12:contents&​nofooter&​noeditbutton}}+  * Folosiți comenzile de mai sus pentru a configura ambele routere, astfel: 
 +    * Router0 – router-id 1.1.1.1 
 +    * Router1 – router-id 2.2.2.2 
 +  * Verificați tabela de rutare**show ip route** 
 +  * Verificați tabela de vecini OSPF**show ip ospf neighbor** 
 +  * Confirmați că: 
 +    * adiacențele OSPF sunt în starea FULL; 
 +    * rutele OSPF sunt prezente în tabela de rutare; 
 +    * există conectivitate end-to-end între stațiile finale.
  
  
rl/labs/11.1637581028.txt.gz · Last modified: 2021/11/22 13:37 by cosmin.prunaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0