Cele:
- Skonfiguruj EBGP na wszystkich routerach. Rozgłoś interfejsy Loopback na R1 i R5. Upewnij się, że mają ze sobą łączność.
- Upewnij się, że pakiety pomiędzy R1 i R5 przesyłane są przez łącza FastEthernet, a nie przez Serial.
Adresy IP routerów:
R1
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.12.1/28 |
Serial 1/0 | 10.0.14.1/28 |
Loopback 0 | 1.1.1.1/24 |
R2
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.12.2/28 |
FastEthernet 1/0 | 10.0.23.2/28 |
R3
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.23.3/28 |
FastEthernet 1/0 | 10.0.35.3/28 |
R4
Interfejs | IP |
---|---|
Serial 0/0 | 10.0.14.4/28 |
Serial 1/0 | 10.0.45.4/28 |
R5
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.35.5/28 |
Serial 1/0 | 10.0.45.5/28 |
Loopback 0 | 5.5.5.5/24 |
Schemat sieci:
Router: 3640
IOS: c3640-jk9o3s-mz.124-16a.bin
Rozwiązanie
Skonfiguruj EBGP na wszystkich routerach. Rozgłoś interfejsy Loopback na R1 i R5. Upewnij się, że mają ze sobą łączność.
Uruchamiamy i konfigurujemy proces BGP na wszystkich routerach. Każdy z nich należy do innego systemu autonomicznego. Dodatkowo na R1 i R5 rozgłaszamy w BGP sieci z interfejsów Loopback:
R1(config)#router bgp 100 R1(config-router)#neighbor 10.0.12.2 remote-as 200 R1(config-router)#neighbor 10.0.14.4 remote-as 400 R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 200 R2(config-router)#neighbor 10.0.12.1 remote-as 100 R2(config-router)#neighbor 10.0.23.3 remote-as 300
R3(config)#router bgp 300 R3(config-router)#neighbor 10.0.23.2 remote-as 200 R3(config-router)#neighbor 10.0.35.5 remote-as 500
R4(config)#router bgp 400 R4(config-router)#neighbor 10.0.14.1 remote-as 100 R4(config-router)#neighbor 10.0.45.5 remote-as 500
R5(config)#router bgp 100 R5(config-router)#neighbor 10.0.35.3 remote-as 300 R5(config-router)#neighbor 10.0.45.4 remote-as 400 R5(config-router)#network 5.5.5.0 mask 255.255.255.0
Po chwili w tablicach routingu naszych routerów pojawią się nowe wpisy dotyczące sieci 1.1.1.0/24 oraz 5.5.5.0/24:
R1#show ip route bgp 5.0.0.0/24 is subnetted, 1 subnets B 5.5.5.0 [20/0] via 10.0.14.4, 00:00:08
R5#show ip route bgp 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/0] via 10.0.45.4, 00:00:18
Testujemy łączność z R1 do R5:
R1#ping 5.5.5.5 source loopback 0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds: Packet sent with a source address of 1.1.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 36/49/64 ms
Upewnij się, że pakiety pomiędzy R1 i R5 przesyłane są przez łącza FastEthernet, a nie przez Serial.
Wiemy, że R1 i R5 mają ze sobą pełną łączność, ale nie do końca odpowiada nam wybrana prze BGP trasa. Zobaczmy jeszcze raz:
R1#show ip route bgp 5.0.0.0/24 is subnetted, 1 subnets B 5.5.5.0 [20/0] via 10.0.14.4, 00:05:14
Jak widzimy zamiast skorzystać z szybszego łącza FastEthernet router R1 wysyła pakiety do R4 korzystając z łącza szeregowego. Zgodnie z algorytmem wyboru najlepszej ścieżki BGP preferuje trasę o najkrótszym AS_PATH, czyli tą, która prowadzi przez mniejszą ilość systemów autonomicznych. Patrząc na schemat sieci widzimy dwie możliwości: górna trasa prowadzi przez AS 200, AS 300 i AS 500, natomiast dolna przez AS 400 i AS 500. Wybrana zostaje „dolna”, ponieważ jest krótsza o jeden AS.
R1#show ip bgp | begin Network Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i * 5.5.5.0/24 10.0.12.2 0 200 300 500 i *> 10.0.14.4 0 400 500 i
Korzystając z polecenia show ip bgp
widzimy dokładne ścieżki do sieci 5.5.5.0/24.
Problem rozwiążemy przez sztuczne wydłużenie „dolnej” ścieżki korzystając z tzw. Path Prepending. Na routerze R1 do ścieżki „400 500 i” dodamy dwa razy jego AS, przez co AS_PATH będzie miał postać „100 100 400 500 i„. Resztę zrobi już algorytm wyboru tras w BGP, który wybierze trasę przez R2 i R3 jako bardziej korzystną.
Na R1 utworzymy route-map o nazwie AS_PATH i użyjemy jej w BGP z 10.0.14.4 dla tras przychodzących oraz wychodzących:
R1(config)#route-map AS_PATH permit 10 R1(config-route-map)# set as-path prepend 100 100 R1(config-route-map)#exit R1(config)#route-map AS_PATH permit 20 R1(config-route-map)#exit
R1(config)#router bgp 100 R1(config-router)#neighbor 10.0.14.4 route-map AS_PATH in R1(config-router)#neighbor 10.0.14.4 route-map AS_PATH out
Restart procesu BGP na R1:
R1#clear ip bgp * soft
Zobaczmy rezultat:
R1#show ip bgp | begin Network Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *> 5.5.5.0/24 10.0.12.2 0 200 300 500 i * 10.0.14.4 0 100 100 400 500 i
Trasa przez R4 została sztucznie wydłużona, dlatego pakiety do sieci 5.5.5.0/24 są kierowane teraz do routera R2.
R6(config)#router bgp 6 R6(config-router)#neighbor 10.0.56.5 remote-as 25 R6(config-router)#network 6.6.6.0 mask 255.255.255.0
Sytuacja na R6:
R5#show ip bgp | begin Network Network Next Hop Metric LocPrf Weight Path * 1.1.1.0/24 10.0.45.4 0 400 100 100 100 i *> 10.0.35.3 0 300 200 100 i *> 5.5.5.0/24 0.0.0.0 0 32768 i
Wszystko dobrze. R1 rozgłasza dłuższą ścieżkę w kierunku R4, dlatego R6 wybrał trasę przez AS 300.
Mam nadzieję, że zadanie się podobało, czekamy na Wasze komentarze. Zapraszamy też do przejrzenie innych zadań z działu Cisco Labs.
0 Komentarze.