This is an old revision of the document!
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).
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!
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.
router ospf 1
Pe interfețele dorite:
ip ospf 1 area 0
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.
router bgp 200 neighbor 69.63.186.38 remote-as 100
Pe CaptainAmerica:
router bgp 100 neighbor 69.63.186.37 remote-as 200
Similar pe IronMan și Hulk.
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.
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
Nu ar trebui să apară nimic în tabelele de rutare.
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.
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
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.
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
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ă.
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
7. [15p] Verificați conectivitatea dintre SpiderMan și IronMan. Funcționează? Fără a crea noi adiacențe rezolvați acestă problemă.
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.
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
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).
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
Pe Hulk asemănător.
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.
SpiderMan# ping 150.0.4.4 source lo0
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.
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