This shows you the differences between two versions of the page.
|
pr:laboratoare:07 [2016/12/08 14:31] sergiu.costea [Cerinţe] |
pr:laboratoare:07 [2025/11/22 17:20] (current) eduard.dumistracel |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Laboratorul 07. BGP 1 ===== | + | ===== Laboratorul 07. ACL===== |
| - | ==== Motivație ==== | + | ==== Cuprins ==== |
| + | * [[#topologie|Topologie]] | ||
| + | * [[#Exerciții|Exerciții]] | ||
| + | * [[#resurse-laborator|Resurse laborator]] | ||
| - | Pentru conectarea noii rețele la Internet se vor folosi 2 provideri (Arcanine și Blastoise). Cum angajații celor 2 ISP-uri nu au absolvit cursul de PR, apar probleme în configurarea corectă a BGP. Vă oferiți să ajutați providerii cu configurarea router-elor lor de edge (pentru o sumă rezonabilă, bineînțeles). | + | ==== Topologie==== |
| + | {{ :pr:laboratoare:topologie_acl_initial.png?700 |}} | ||
| - | Configurațiile inițiale (interfețe, adresare IP) sunt deja realizate pe echipamente. De asemenea, pe fiecare router este configurată interfața Lo0, cu IP 150.0.x.x/24. NU modificați setările interfețelor dacă laboratorul nu vă cere explicit acest lucru! | + | ==== Resurse laborator ==== |
| + | * GNS3 Lab: {{:pr:laboratoare:lab_acl_initial.zip|}} | ||
| + | * Lab Setup: [[pr:laboratoare:01|]] | ||
| + | Vă rugăm să descărcați fișierele pe desktop și să le ștergeți la finalul laboratorului. | ||
| + | ==== Exerciții ==== | ||
| - | ==== Topologie ==== | + | === Task1 === |
| + | Pe ruterul R0 există definite Loopback 0 și Loopback 1, pe care trebuie să le acceseze doar de pe R6. | ||
| + | Blocați traficul venit de la alte rutere către aceste interfețe. | ||
| - | {{:pr:laboratoare:7_topologie.png?700|}} | + | Atenție! Restul traficului către ruterul R0 trebuie să funcționeze în continuare! |
| - | ==== Cerinţe ==== | + | <spoiler Soluţie> |
| - | + | ||
| - | === Setup === | + | |
| - | <note important> Descărcați configurațiile inițiale de {{:pr:laboratoare:7_bgp_initial_configs.zip|aici}}</note> | + | |
| - | + | ||
| - | === Exercitii === | + | |
| - | + | ||
| - | ** 1. ** [10p] Configurați OSPF area 0 pentru tot sistemul autonom 100 (Eeevee, Garchomp și Lucario). Introduceți în OSPF și interfețele de loopback de pe Eeevee și Lucario. | + | |
| - | + | ||
| - | <solution -hidden> | + | |
| - | Pe toate: | + | |
| <code> | <code> | ||
| - | router ospf 1 | + | ipv6 access-list ex1 |
| + | permit ipv6 host 2001:db8:cafe::0449 host 2001:DB8:CAFE::1 | ||
| + | permit ipv6 host 2001:db8:cafe::0449 host 2001:DB8:CAFE::201 | ||
| + | deny ipv6 any host 2001:DB8:CAFE::1 | ||
| + | deny ipv6 any host 2001:DB8:CAFE::201 | ||
| + | permit ipv6 any any | ||
| + | int fa0/0 | ||
| + | ipv6 traffic-filter ex1 in | ||
| </code> | </code> | ||
| + | </spoiler> | ||
| + | === Task2 === | ||
| + | Filtrați (blocați) traficul TCP cu range-ul de porturi destinație 22-81 si sursa R5 către următoarele adrese: | ||
| - | Pe interfețele dorite: | + | 2001:db8:cafe::0431 |
| - | <code> | + | 2001:db8:cafe::0441 |
| - | ip ospf 1 area 0 | + | 2001:db8:cafe::0439 |
| - | </code> | + | |
| - | </solution> | + | |
| - | + | ||
| - | ** 2. ** [10p] Configurați adiacențe eBGP între Arcanine și Eeevee și între Blastoise și Lucario. Folosiți adresele IP ale interfețelor direct conectate. | + | |
| - | <solution -hidden> | + | <spoiler Soluţie> |
| - | Pe DarthVader: | + | |
| <code> | <code> | ||
| - | router bgp 200 | + | ipv6 access-list ex2 |
| - | neighbor 69.63.186.38 remote-as 100 | + | deny tcp host 2001:db8:cafe::0462 host 2001:db8:cafe::0431 range 22 81 |
| + | deny tcp host 2001:db8:cafe::0462 host 2001:db8:cafe::0441 range 22 81 | ||
| + | deny tcp host 2001:db8:cafe::0462 host 2001:db8:cafe::0439 range 22 81 | ||
| + | permit any anyW | ||
| + | int fa0/0 | ||
| + | ipv6 traffic-filter ex2 out | ||
| </code> | </code> | ||
| - | + | </spoiler> | |
| - | Pe Yoda: | + | === Task3 === |
| + | Datorită riscurilor de securitate, s-a luat decizia ca nicio rețea din Zona A să nu poată iniția o conexiune TCP nouă către Zona B. De aceea, se poate implementa o regulă ce specifică blocarea tuturor pachetelor cu sursa zonei A ce inițiază o conexiune TCP nou | ||
| + | <spoiler Soluţie> | ||
| <code> | <code> | ||
| - | router bgp 100 | + | ipv6 access-list ex3 |
| - | neighbor 69.63.186.37 remote-as 200 | + | permit tcp any any established |
| + | deny tcp <network> any | ||
| + | deny tcp <network> any | ||
| + | permit ipv6 any any | ||
| + | int <port> | ||
| + | ipv6 traffic-filter ex3 out | ||
| </code> | </code> | ||
| - | + | </spoiler> | |
| - | Similar pe BobaFett și Leia. | + | === Task4 === |
| - | </solution> | + | Blocați traficul de tip ICMP provenit de la R6 către router-ele din Zona A. |
| - | + | <spoiler Soluţie> | |
| - | ** 3. ** [10p] Configurați adiacență iBGP între Eeevee și Lucario. Folosiți interfețele de loopback pentru stabilirea adiacențelor. Verificați tabelele BGP de pe cele 4 rutere. | + | |
| - | + | ||
| - | <solution -hidden> | + | |
| <code> | <code> | ||
| - | Yoda(config)#router bgp 100 | + | ipv6 access-list ex4 |
| - | Yoda(config-router)#neighbor 150.0.3.3 remote-as 100 | + | deny icmp host <host1> host <host2> |
| - | Yoda(config-router)#neighbor 150.0.3.3 update-source lo0 | + | deny icmp host <host3> host <host2> |
| - | + | permit icmp any any | |
| - | Leia(config)#router bgp 100 | + | permit ipv6 any any |
| - | Leia(config-router)#neighbor 150.0.1.1 remote-as 100 | + | exit |
| - | Leia(config-router)#neighbor 150.0.1.1 update-source l0 | + | int <port> |
| + | ipv6 traffic-filter ex4 out | ||
| </code> | </code> | ||
| + | </spoiler> | ||
| + | === Task5 === | ||
| + | Vrem ca traficul IP din Area A către Area B să funcționeze doar în zilele lucrătoare ale unei săptămâni (Luni - Vineri, în intervalul 9:00 – 18:00). Faceți configurațiile necesare pentru a permite accesul în intervalul respectiv, interzicând complet accesul din Area A în Area B în afara intervalului specificat. | ||
| - | Nu ar trebui să apară nimic în tabelele de rutare. | + | Testați funcționarea acestui task schimbând ceasul pe ruterul pe care ați aplicat lista de acces prin comanda: |
| - | </solution> | + | Router# clock set 01:00:00 Dec 1 2025 |
| - | + | <spoiler Soluţie> | |
| - | ** 4. ** [10p] Propagați interfața Lo0 de pe Arcanine în BGP cu originea internă (i). Propagați doar interfața Lo0 de pe Blastoise în BGP cu originea necunoscută (?). Verificați propagarea corectă a măștii. | + | |
| - | + | ||
| - | <solution -hidden> | + | |
| <code> | <code> | ||
| - | DARTHVADER(config)#router bgp 200 | + | time-range weekdays |
| - | DARTHVADER(config-router)#network 150.0.5.0 mask 255.255.255.0 | + | periodic weekdays 09:00 to 18:00 |
| - | + | ipv6 access-list ex5 | |
| - | BobaFett(config)#ip access-list standard ACL_BGP_RDST | + | permit tcp any any time-range weekdays |
| - | BobaFett(config-std-nacl)#permit 150.0.4.4 0.0.255.255 | + | deny tcp any any |
| - | BobaFett(config-std-nacl)#exit | + | int <port> |
| - | BobaFett(config)#route-map BGP_RDST | + | ipv6 traffic-filter out |
| - | BobaFett(config-route-map)#match ip add ACL_BGP_RDST | + | |
| - | BobaFett(config-route-map)#exit | + | |
| - | BobaFett(config)#router bgp 300 | + | |
| - | BobaFett(config-router)#redistribute connected route-map BGP_RDST | + | |
| </code> | </code> | ||
| - | </solution> | + | </spoiler> |
| + | ==== Cuprins ==== | ||
| + | * [[#topologie|Topologie]] | ||
| + | * [[#Exerciții|Exerciții]] | ||
| + | * [[#resurse-laborator|Resurse laborator]] | ||
| - | ** 5. ** [10p] Configurați protocolul BGP astfel încât Lo0 de pe Blastoise să apară în tabela de rutare de pe Eeevee, respectiv Lo0 de pe Arcanine să apară în tabela de rutare de pe Lucario. | ||
| - | <solution -hidden> | ||
| - | <code> | ||
| - | Yoda(config)#router bgp 100 | ||
| - | Yoda(config-router)#neighbor 150.0.3.3 next-hop-self | ||
| - | Leia(config)#router bgp 100 | ||
| - | Leia(config-router)#neighbor 150.0.1.1 next-hop-self | ||
| - | </code> | ||
| - | </solution> | ||
| - | |||
| - | ** 6. ** [5p] Din cauza sincronizării nu există conectivitate între Arcanine și Blastoise (de pe interfețele de loopback). Configurați o adiacență iBGP între Garchomp și Lucario folosind adresele de pe interfața direct conectată. | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | Leia(config)#router bgp 100 | ||
| - | Leia(config-router)#neighbor 172.4.0.1 remote-as 100 | ||
| - | |||
| - | LukeSkywalker(config)#router bgp 100 | ||
| - | LukeSkywalker(config-router)#neighbor 172.4.0.2 remote-as 100 | ||
| - | </code> | ||
| - | </solution> | ||
| - | |||
| - | ** 7. ** [15p] Verificați conectivitatea dintre Arcanine și Blastoise. Funcționează? Fără a crea noi adiacențe rezolvați acestă problemă. | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | Leia(config)#router bgp 100 | ||
| - | Leia(config-router)#neighbor 172.4.0.1 route-reflector-client | ||
| - | Leia(config-router)#neighbor 150.0.1.1 route-reflector-client | ||
| - | Leia(config-router)# neighbor 172.4.0.1 next-hop-self | ||
| - | </code> | ||
| - | </solution> | ||
| - | |||
| - | |||
| - | ** 8. ** [5p] Adăugați 4 interfețe de loopback din spațiul 192.180.0.0/16 pe ruterul Garchomp. Propagați aceste interfețe în BGP având originea internă (i). Verificați conectivitatea cu aceste interfețe de pe Arcanine și Blastoise. | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | LukeSkywalker(config)#int l0 | ||
| - | LukeSkywalker(config-if)#ip add 192.180.0.1 255.255.255.0 | ||
| - | LukeSkywalker(config-if)#int l1 | ||
| - | LukeSkywalker(config-if)#ip add 192.180.1.1 255.255.255.0 | ||
| - | LukeSkywalker(config-if)#int l2 | ||
| - | LukeSkywalker(config-if)#ip add 192.180.2.1 255.255.255.0 | ||
| - | LukeSkywalker(config-if)#int l3 | ||
| - | LukeSkywalker(config-if)#ip add 192.180.3.1 255.255.255.0 | ||
| - | |||
| - | LukeSkywalker(config)#router bgp 100 | ||
| - | LukeSkywalker(config-router)#network 192.180.0.0 mask 255.255.255.0 | ||
| - | LukeSkywalker(config-router)#network 192.180.1.0 mask 255.255.255.0 | ||
| - | LukeSkywalker(config-router)#network 192.180.2.0 mask 255.255.255.0 | ||
| - | LukeSkywalker(config-router)#network 192.180.3.0 mask 255.255.255.0 | ||
| - | </code> | ||
| - | </solution> | ||
| - | |||
| - | ** 9. ** [10p] Pe ruterele Eeevee și Lucario filtrați actualizările trimise folosind un route-map (neighbor IP route-map NUME), astfel încât doar primele două interfețe să fie promovate către vecinii eBGP. Pentru a vedea modificările resetați conexiunea eBGP (clear ip bgp NEIGHBOR). | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | Yoda(config)#ip access-list standard ACL_BGP_DARTHVADER_OUT | ||
| - | Yoda(config-std-nacl)#permit 192.180.0.0 0.0.0.255 | ||
| - | Yoda(config-std-nacl)#permit 192.180.1.0 0.0.0.255 | ||
| - | Yoda(config-std-nacl)#exit | ||
| - | Yoda(config)#route-map BGP_DARTHVADER_OUT | ||
| - | Yoda(config-route-map)#match ip add ACL_BGP_DARTHVADER_OUT | ||
| - | Yoda(config-route-map)#exit | ||
| - | Yoda(config)#router bgp 100 | ||
| - | Yoda(config-router)#neighbor 69.63.186.37 route-map BGP_DARTHVADER_OUT out | ||
| - | Yoda(config)#ip access-list standard ACL_BGP_DARTHVADER_OUT | ||
| - | Yoda(config-std-nacl)#25 permit 150.0.4.0 0.0.0.255 | ||
| - | </code> | ||
| - | |||
| - | Pe Leia asemănător. | ||
| - | </solution> | ||
| - | |||
| - | |||
| - | ** 10. ** [5p] Verificați conectivitatea între Arcanine și Blastoise (interfețele de loopback). La sfârșitul acestui exercițiu trebuie să aveți conectivitate. | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | Arcanine# ping 150.0.4.4 source lo0 | ||
| - | </code> | ||
| - | </solution> | ||
| - | |||
| - | |||
| - | ** 11. ** [10p] Creați două interfețe de loopback pe Arcanine și Blastoise (loopback1) folosind adresele 192.168.0.1/24, respectiv 192.168.1.1/24. Configurați o adiacență eBGP între Arcanine și Blastoise, folosind cele două interfețe create. Pentru conectivitate folosiți rute statice. | ||
| - | |||
| - | <solution -hidden> | ||
| - | |||
| - | <code> | ||
| - | DARTHVADER(config)#int l1 | ||
| - | DARTHVADER(config-if)#ip add 192.168.0.1 255.255.255.0 | ||
| - | DARTHVADER(config-if)#exit | ||
| - | DARTHVADER(config)#ip route 192.168.1.0 255.255.255.0 74.125.39.102 | ||
| - | DARTHVADER(config)#ip route 192.168.1.0 255.255.255.0 87.248.113.14 | ||
| - | DARTHVADER(config)#router bgp 200 | ||
| - | DARTHVADER(config-router)#neighbor 192.168.1.1 remote-as 300 | ||
| - | DARTHVADER(config-router)#neighbor 192.168.1.1 update-source l1 | ||
| - | DARTHVADER(config-router)#neighbor 192.168.1.1 ebgp-multihop 2 | ||
| - | |||
| - | BobaFett(config)#int l1 | ||
| - | BobaFett(config-if)#ip add 192.168.1.1 255.255.255.0 | ||
| - | BobaFett(config-if)#exit | ||
| - | BobaFett(config)#ip route 192.168.0.0 255.255.255.0 74.125.39.101 | ||
| - | BobaFett(config)#ip route 192.168.0.0 255.255.255.0 87.248.113.13 | ||
| - | BobaFett(config)#router bgp 300 | ||
| - | BobaFett(config-router)#neighbor 192.168.0.1 remote-as 200 | ||
| - | BobaFett(config-router)#neighbor 192.168.0.1 update-source l1 | ||
| - | BobaFett(config-router)#neighbor 192.168.0.1 ebgp-multihop 2 | ||
| - | </code> | ||
| - | </solution> | ||