This shows you the differences between two versions of the page.
pr:labs:07 [2019/09/16 13:51] octavian.grigorescu [Cerinţe] |
pr:labs:07 [2019/11/11 13:10] (current) octavian.grigorescu [Setup] |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~SHOWSOLUTION~~ | ~~SHOWSOLUTION~~ | ||
- | ===== Laboratorul 07. BGP (1) ===== | + | ====== Laboratorul 07. BGP (1) ====== |
- | ==== Motivație ==== | ||
- | Pentru conectarea noii rețele la Internet se vor folosi 2 provideri (SpiderMan și IronMan). 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:labs:bgp.png?600|}} | ||
- | 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 ===== |
- | ==== Topologie ==== | + | * Descărcați configurațiile inițiale de {{:pr:labs:bgp1_initial_configs.zip|aici}} |
+ | * Descărcați fisierul de configurare de {{:pr:labs:bgp1.net|aici}} | ||
+ | * Arhivă imagine OS {{:pr:labs:c3640-js.bin.zip|}} | ||
- | {{:pr:laboratoare:7_bgp_topologie.png?700|}} | ||
- | ==== Cerinţe ==== | ||
- | === Setup === | + | ===== AS-uri ===== |
- | <note important> Descărcați configurațiile inițiale de {{:pr:labs:7_bgp_initial_configs.zip|aici}}</note> | + | * **R1** - AS 200 |
+ | * **R2** - AS 300 | ||
+ | * **R3** - AS 100 | ||
+ | * **R4** - AS 100 | ||
+ | * **R5** - AS 100 | ||
- | === Exercitii === | + | ===== Navigare ===== |
+ | **[[:pr:labs:07|Laboratorul 7]]** | ||
+ | {{page>:pr:labs:07:meta:nav&nofooter&noeditbutton}} | ||
- | ** 1. ** [10p] Configurați OSPF area 0 pentru tot sistemul autonom 100 (CaptainAmerica, Drax și Hulk). Introduceți în OSPF și interfețele de loopback de pe CaptainAmerica și Hulk. | + | ===== Exercitii ===== |
+ | {{namespace>:pr:labs:07:contents&nofooter&noeditbutton}} | ||
- | <solution -hidden> | + | ===== Navigare ===== |
- | Pe toate: | + | **[[:pr:labs:07|Laboratorul 7]]** |
- | <code> | + | {{page>:pr:labs:07:meta:nav&nofooter&noeditbutton}} |
- | router ospf 1 | + | |
- | </code> | + | |
- | Pe interfețele dorite: | ||
- | <code> | ||
- | ip ospf 1 area 0 | ||
- | </code> | ||
- | </solution> | ||
- | ** 2. ** [10p] Configurați adiacențe eBGP între SpiderMan și CaptainAmerica și între IronMan și Hulk. Folosiți adresele IP ale interfețelor direct conectate. | ||
- | <solution -hidden> | ||
- | Pe SpiderMan: | ||
- | <code> | ||
- | router bgp 200 | ||
- | neighbor 69.63.186.38 remote-as 100 | ||
- | </code> | ||
- | |||
- | Pe CaptainAmerica: | ||
- | <code> | ||
- | router bgp 100 | ||
- | neighbor 69.63.186.37 remote-as 200 | ||
- | </code> | ||
- | |||
- | Similar pe IronMan și Hulk. | ||
- | </solution> | ||
- | |||
- | ** 3. ** [10p] Configurați adiacență iBGP între CaptainAmerica și Hulk. Folosiți interfețele de loopback pentru stabilirea adiacențelor. Verificați tabelele BGP de pe cele 4 rutere. | ||
- | |||
- | <solution -hidden> | ||
- | <code> | ||
- | CaptainAmerica(config)#router bgp 100 | ||
- | CaptainAmerica(config-router)#neighbor 150.0.3.3 remote-as 100 | ||
- | CaptainAmerica(config-router)#neighbor 150.0.3.3 update-source lo0 | ||
- | |||
- | Hulk(config)#router bgp 100 | ||
- | Hulk(config-router)#neighbor 150.0.1.1 remote-as 100 | ||
- | Hulk(config-router)#neighbor 150.0.1.1 update-source l0 | ||
- | </code> | ||
- | |||
- | Nu ar trebui să apară nimic în tabelele de rutare. | ||
- | </solution> | ||
- | |||
- | ** 4. ** [10p] Propagați interfața Lo0 de pe SpiderMan în BGP cu originea internă (i). Propagați doar interfața Lo0 de pe IronMan în BGP cu originea necunoscută (?). Verificați propagarea corectă a măștii. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | SpiderMan(config)#router bgp 200 | ||
- | SpiderMan(config-router)#network 150.0.5.0 mask 255.255.255.0 | ||
- | |||
- | IronMan(config)#ip access-list standard ACL_BGP_RDST | ||
- | IronMan(config-std-nacl)#permit 150.0.4.4 0.0.255.255 | ||
- | IronMan(config-std-nacl)#exit | ||
- | IronMan(config)#route-map BGP_RDST | ||
- | IronMan(config-route-map)#match ip add ACL_BGP_RDST | ||
- | IronMan(config-route-map)#exit | ||
- | IronMan(config)#router bgp 300 | ||
- | IronMan(config-router)#redistribute connected route-map BGP_RDST | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | ** 5. ** [10p] Configurați protocolul BGP astfel încât Lo0 de pe IronMan să apară în tabela de rutare de pe CaptainAmerica , respectiv Lo0 de pe SpiderMan să apară în tabela de rutare de pe Hulk. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | CaptainAmerica(config)#router bgp 100 | ||
- | CaptainAmerica(config-router)#neighbor 150.0.3.3 next-hop-self | ||
- | |||
- | Hulk(config)#router bgp 100 | ||
- | Hulk(config-router)#neighbor 150.0.1.1 next-hop-self | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | ** 6. ** [5p] Din cauza sincronizării nu există conectivitate între SpiderMan și IronMan (de pe interfețele de loopback). Configurați o adiacență iBGP între Drax și Hulk folosind adresele de pe interfața direct conectată. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | Hulk(config)#router bgp 100 | ||
- | Hulk(config-router)#neighbor 172.4.0.1 remote-as 100 | ||
- | |||
- | Drax(config)#router bgp 100 | ||
- | Drax(config-router)#neighbor 172.4.0.2 remote-as 100 | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | ** 7. ** [15p] Verificați conectivitatea dintre SpiderMan și IronMan. Funcționează? Fără a crea noi adiacențe rezolvați acestă problemă. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | Hulk(config)#router bgp 100 | ||
- | Hulk(config-router)#neighbor 172.4.0.1 route-reflector-client | ||
- | Hulk(config-router)#neighbor 150.0.1.1 route-reflector-client | ||
- | Hulk(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 Drax. Propagați aceste interfețe în BGP având originea internă (i). Verificați conectivitatea cu aceste interfețe de pe SpiderMan și IronMan. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | Drax(config)#int l0 | ||
- | Drax(config-if)#ip add 192.180.0.1 255.255.255.0 | ||
- | Drax(config-if)#int l1 | ||
- | Drax(config-if)#ip add 192.180.1.1 255.255.255.0 | ||
- | Drax(config-if)#int l2 | ||
- | Drax(config-if)#ip add 192.180.2.1 255.255.255.0 | ||
- | Drax(config-if)#int l3 | ||
- | Drax(config-if)#ip add 192.180.3.1 255.255.255.0 | ||
- | |||
- | Drax(config)#router bgp 100 | ||
- | Drax(config-router)#network 192.180.0.0 mask 255.255.255.0 | ||
- | Drax(config-router)#network 192.180.1.0 mask 255.255.255.0 | ||
- | Drax(config-router)#network 192.180.2.0 mask 255.255.255.0 | ||
- | Drax(config-router)#network 192.180.3.0 mask 255.255.255.0 | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | ** 9. ** [10p] Pe ruterele CaptainAmerica și Hulk 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> | ||
- | CaptainAmerica(config)#ip access-list standard ACL_BGP_SpiderMan_OUT | ||
- | CaptainAmerica(config-std-nacl)#permit 192.180.0.0 0.0.0.255 | ||
- | CaptainAmerica(config-std-nacl)#permit 192.180.1.0 0.0.0.255 | ||
- | CaptainAmerica(config-std-nacl)#exit | ||
- | CaptainAmerica(config)#route-map BGP_SpiderMan_OUT | ||
- | CaptainAmerica(config-route-map)#match ip add ACL_BGP_SpiderMan_OUT | ||
- | CaptainAmerica(config-route-map)#exit | ||
- | CaptainAmerica(config)#router bgp 100 | ||
- | CaptainAmerica(config-router)#neighbor 69.63.186.37 route-map BGP_SpiderMan_OUT out | ||
- | CaptainAmerica(config)#ip access-list standard ACL_BGP_SpiderMan_OUT | ||
- | CaptainAmerica(config-std-nacl)#25 permit 150.0.4.0 0.0.0.255 | ||
- | </code> | ||
- | |||
- | Pe Hulk asemănător. | ||
- | </solution> | ||
- | |||
- | |||
- | ** 10. ** [5p] Verificați conectivitatea între SpiderMan și IronMan (interfețele de loopback). La sfârșitul acestui exercițiu trebuie să aveți conectivitate. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | SpiderMan# ping 150.0.4.4 source lo0 | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | |||
- | ** 11. ** [10p] Creați două interfețe de loopback pe SpiderMan și IronMan (loopback1) folosind adresele 192.168.0.1/24, respectiv 192.168.1.1/24. Configurați o adiacență eBGP între SpiderMan și IronMan, folosind cele două interfețe create. Pentru conectivitate folosiți rute statice. | ||
- | |||
- | <solution -hidden> | ||
- | |||
- | <code> | ||
- | SpiderMan(config)#int l1 | ||
- | SpiderMan(config-if)#ip add 192.168.0.1 255.255.255.0 | ||
- | SpiderMan(config-if)#exit | ||
- | SpiderMan(config)#ip route 192.168.1.0 255.255.255.0 74.125.39.102 | ||
- | SpiderMan(config)#ip route 192.168.1.0 255.255.255.0 87.248.113.14 | ||
- | SpiderMan(config)#router bgp 200 | ||
- | SpiderMan(config-router)#neighbor 192.168.1.1 remote-as 300 | ||
- | SpiderMan(config-router)#neighbor 192.168.1.1 update-source l1 | ||
- | SpiderMan(config-router)#neighbor 192.168.1.1 ebgp-multihop 2 | ||
- | |||
- | IronMan(config)#int l1 | ||
- | IronMan(config-if)#ip add 192.168.1.1 255.255.255.0 | ||
- | IronMan(config-if)#exit | ||
- | IronMan(config)#ip route 192.168.0.0 255.255.255.0 74.125.39.101 | ||
- | IronMan(config)#ip route 192.168.0.0 255.255.255.0 87.248.113.13 | ||
- | IronMan(config)#router bgp 300 | ||
- | IronMan(config-router)#neighbor 192.168.0.1 remote-as 200 | ||
- | IronMan(config-router)#neighbor 192.168.0.1 update-source l1 | ||
- | IronMan(config-router)#neighbor 192.168.0.1 ebgp-multihop 2 | ||
- | </code> | ||
- | </solution> |