Cele:
- Skonfiguruj OSPF na R1, R2, R3 i R4. Rozgłoś interfejsy FastEthernet i Loopback.
- Skonfiguruj IBGP w AS 100. Do wysyłania aktualizacji użyj interfejsów Loopback.
- Skonfiguruj EBGP pomiędzy R3 – R5 oraz R4 – R5. Upewnij się, że R5 może pingować interfejsy Loopback w AS 100.
- R5 – trasa do 1.1.1.1 musi prowadzić przez R3, a trasa do 2.2.2.2 przez R4. Ustaw odpowiednio atrybut MED na R3 i R4.
- R5 – dodaj interfejs Loopback 0 o adresie 5.5.5.5/26 i rozgłoś go w BGP. R1 i R2 – trasa do 5.5.5.5 ma prowadzić przez R4. Ustaw odpowiednio atrybut Local Preference.
Adresy IP routerów:
R1
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.100.12.1/24 |
FastEthernet 1/0 | 10.100.13.1/24 |
Loopback 0 | 1.1.1.1/24 |
R2
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.100.12.2/24 |
FastEthernet 1/0 | 10.100.24.2/24 |
Loopback 0 | 2.2.2.2/24 |
R3
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.100.13.3/24 |
FastEthernet 1/0 | 10.100.34.3/24 |
Serial 2/0 | 20.20.35.3/29 |
Loopback 0 | 3.3.3.3/24 |
R4
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.100.24.4/24 |
FastEthernet 1/0 | 10.100.34.4/24 |
Serial 2/0 | 20.20.45.4/29 |
Loopback 0 | 4.4.4.4/24 |
R5
Interfejs | IP |
---|---|
Serial 0/0 | 20.20.35.5/29 |
Serial 0/1 | 20.20.45.5/29 |
Schemat sieci:
Router: 3640
IOS: c3640-jk9o3s-mz.124-16a.bin
Rozwiązanie
Skonfiguruj OSPF na R1, R2, R3 i R4. Rozgłoś interfejsy FastEthernet i Loopback.
Na wszystkich routerach w AS 100 uruchomimy proces OSPF i rozgłosimy niezbędne podsieci. Dodatkowo nie chcemy wysyłać aktualizacji OSPF w kierunku routera R5:
R1(config)#router ospf 1 R1(config-router)#network 10.100.13.0 0.0.0.255 area 0 R1(config-router)#network 10.100.12.0 0.0.0.255 area 0 R1(config-router)#network 1.1.1.0 0.0.0.255 area 0
R2(config)#router ospf 1 R2(config-router)#network 10.100.12.0 0.0.0.255 area 0 R2(config-router)#network 10.100.24.0 0.0.0.255 area 0 R2(config-router)#network 2.2.2.0 0.0.0.255 area 0
R3(config)#router ospf 1 R3(config-router)#network 10.100.13.0 0.0.0.255 area 0 R3(config-router)#network 10.100.34.0 0.0.0.255 area 0 R3(config-router)#network 3.3.3.0 0.0.0.255 area 0 R3(config-router)#passive-interface serial 2/0
R4(config)#router ospf 1 R4(config-router)#network 10.100.24.0 0.0.0.255 area 0 R4(config-router)#network 10.100.34.0 0.0.0.255 area 0 R4(config-router)#network 4.4.4.0 0.0.0.255 area 0 R4(config-router)#passive-interface serial 2/0
Po krótkiej chwili wszystkie relacje sąsiedztwa zostają nawiązane, a routery mają ze sobą pełną łączność wewnątrz obszaru. Zobaczmy nowe trasy na R4:
R4#show ip route ospf 1.0.0.0/32 is subnetted, 1 subnets O 1.1.1.1 [110/3] via 10.100.34.3, 00:00:54, FastEthernet1/0 [110/3] via 10.100.24.2, 00:00:54, FastEthernet0/0 2.0.0.0/32 is subnetted, 1 subnets O 2.2.2.2 [110/2] via 10.100.24.2, 00:00:54, FastEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 10.100.34.3, 00:00:54, FastEthernet1/0 10.0.0.0/24 is subnetted, 4 subnets O 10.100.12.0 [110/2] via 10.100.24.2, 00:00:54, FastEthernet0/0 O 10.100.13.0 [110/2] via 10.100.34.3, 00:00:54, FastEthernet1/0
Poprzez protokół OSPF router nauczył się tras do trzech interfejsów Loopback oraz do sieci pomiędzy R1 – R3 i R1 – R2. Przechodzimy do następnego punktu.
Skonfiguruj IBGP w AS 100. Do wysyłania aktualizacji użyj interfejsów Loopback.
Krok drugi to konfiguracja IBGP wewnątrz AS 100. Wszystkie routery wymieniać będą informacje korzystając z interfejsów Loopback (neighbor x.x.x.x update-source loopback 0
). Pamiętajmy też, że każdy router musi mieć logiczne połączenie z każdym (full-mesh), co oznacza że definiujemy zasze po 3 sąsiadów.
R1(config)#router bgp 100 R1(config-router)#neighbor 2.2.2.2 remote-as 100 R1(config-router)#neighbor 3.3.3.3 remote-as 100 R1(config-router)#neighbor 4.4.4.4 remote-as 100 R1(config-router)#neighbor 2.2.2.2 update-source loopback 0 R1(config-router)#neighbor 3.3.3.3 update-source loopback 0 R1(config-router)#neighbor 4.4.4.4 update-source loopback 0
R2(config)#router bgp 100 R2(config-router)#neighbor 1.1.1.1 remote-as 100 R2(config-router)#neighbor 3.3.3.3 remote-as 100 R2(config-router)#neighbor 4.4.4.4 remote-as 100 R2(config-router)#neighbor 1.1.1.1 update-source loopback 0 R2(config-router)#neighbor 3.3.3.3 update-source loopback 0 R2(config-router)#neighbor 4.4.4.4 update-source loopback 0
R3(config)#router bgp 100 R3(config-router)#neighbor 1.1.1.1 remote-as 100 R3(config-router)#neighbor 2.2.2.2 remote-as 100 R3(config-router)#neighbor 4.4.4.4 remote-as 100 R3(config-router)#neighbor 1.1.1.1 update-source loopback 0 R3(config-router)#neighbor 2.2.2.2 update-source loopback 0 R3(config-router)#neighbor 4.4.4.4 update-source loopback 0
R4(config)#router bgp 100 R4(config-router)#neighbor 1.1.1.1 remote-as 100 R4(config-router)#neighbor 2.2.2.2 remote-as 100 R4(config-router)#neighbor 3.3.3.3 remote-as 100 R4(config-router)#neighbor 1.1.1.1 update-source loopback 0 R4(config-router)#neighbor 2.2.2.2 update-source loopback 0 R4(config-router)#neighbor 3.3.3.3 update-source loopback 0
Po chwili sesją BGP pomiędzy routerami zostaje nawiązana. Każdy z nich ma po 3 sąsiadów. Na razie jednak nie rozgłaszamy żadnych sieci w BGP. Wynik polecenia show ip bgp summary
na R4 i R2:
R4#show ip bgp summary BGP router identifier 4.4.4.4, local AS number 100 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 1.1.1.1 4 100 4 2 0 0 0 00:00:12 0 2.2.2.2 4 100 4 2 0 0 0 00:00:09 0 3.3.3.3 4 100 2 2 0 0 0 00:00:24 0
R2#show ip bgp summary BGP router identifier 2.2.2.2, local AS number 100 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 1.1.1.1 4 100 5 5 1 0 0 00:02:07 0 3.3.3.3 4 100 4 4 1 0 0 00:01:57 0 4.4.4.4 4 100 5 5 1 0 0 00:01:23 0
Skonfiguruj EBGP pomiędzy R3 – R5 oraz R4 – R5. Upewnij się, że R5 może pingować interfejsy Loopback w AS 100.
Skonfigurujemy teraz sesję BGP pomiędzy routerami R3 i R5 oraz R4 i R5. Router R5 należy do innego AS, więc mamy tutaj do czynienia z EBGP (Exterior BGP):
R3(config)#router bgp 100 R3(config-router)#neighbor 20.20.35.5 remote-as 20
R4(config)#router bgp 100 R4(config-router)#neighbor 20.20.45.5 remote-as 20
R5(config)#router bgp 20 R5(config-router)#neighbor 20.20.35.3 remote-as 100 R5(config-router)#neighbor 20.20.45.4 remote-as 100
Sprawdzamy sesję BGP na R5:
R5#show ip bgp summary BGP router identifier 20.20.45.5, local AS number 20 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 20.20.35.3 4 100 4 4 1 0 0 00:00:24 0 20.20.45.4 4 100 4 4 1 0 0 00:00:03 0
Wygląda dobrze, dwóch sąsiadów z AS 100. Naszym kolejnym celem to zapewnienie łączności R5 z interfejsami Loopback w AS 100. Rozgłosimy je w BGP:
R1(config)#router bgp 100 R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 100 R2(config-router)#network 2.2.2.0 mask 255.255.255.0
R3(config)#router bgp 100 R3(config-router)#network 3.3.3.0 mask 255.255.255.0
R4(config)#router bgp 100 R4(config-router)#network 4.4.4.0 mask 255.255.255.0
Zobaczmy jak wygląda teraz status BGP na R5:
R5#show ip bgp summary | begin Neig Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 20.20.35.3 4 100 12 12 5 0 0 00:04:54 4 20.20.45.4 4 100 12 12 5 0 0 00:04:32 4
Każdy z jego sąsiadów rozgłasza 4 prefiksy (State/PfxRcd).
R5#show ip bgp BGP table version is 9, local router ID is 20.20.45.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 1.1.1.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 100 i * 2.2.2.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 100 i * 3.3.3.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 0 100 i * 4.4.4.0/24 20.20.45.4 0 0 100 i *> 20.20.35.3 0 100 i
Mamy też już trasy do tych sieci, zobaczmy tablicę routingu:
R5#show ip route bgp 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/0] via 20.20.35.3, 00:01:35 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 20.20.35.3, 00:01:35 3.0.0.0/24 is subnetted, 1 subnets B 3.3.3.0 [20/0] via 20.20.35.3, 00:01:35 4.0.0.0/24 is subnetted, 1 subnets B 4.4.4.0 [20/0] via 20.20.35.3, 00:01:35
Spróbujmy pingować R1 i R2:
R5#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R5#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
Nie mamy łączności. Problemem musimy rozwiązać w AS 100. Routery R1 i R2 nie wiedzą jak dostać się do sieci 20.20.35.0/29 oraz 20.20.45.0/29, dlatego R5 nie dostaje pakietów icmp echo reply. Rozgłosimy je w IBGP:
R3(config)#router bgp 100 R3(config-router)#network 20.20.35.0 mask 255.255.255.248
R4(config)#router bgp 100 R4(config-router)#network 20.20.45.0 mask 255.255.255.248
R5(config)#router bgp 20 R5(config-router)#network 20.20.35.0 mask 255.255.255.248 R5(config-router)#network 20.20.45.0 mask 255.255.255.248
Przechodzimy teraz do R1
R1#show ip bgp BGP table version is 7, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *>i2.2.2.0/24 2.2.2.2 0 100 0 i *>i3.3.3.0/24 3.3.3.3 0 100 0 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i *>i20.20.35.0/29 3.3.3.3 0 100 0 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i
Świetnie, wie już jak połączyć się z R5, spróbujmy jeszcze raz polecenia ping
z routera R5:
R5#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 24/34/44 ms R5#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 36/41/52 ms
Mamy pełną łaczność.
R5 – trasa do 1.1.1.1 musi prowadzić przez R3, a trasa do 2.2.2.2 przez R4. Ustaw odpowiednio atrybut MED na R3 i R4.
Patrząc na tablicę routingu na R5 widzimy, że wszystkie trasy prowadzą przez router R3:
R5#show ip route bgp 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/0] via 20.20.35.3, 00:04:19 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 20.20.35.3, 00:04:19 3.0.0.0/24 is subnetted, 1 subnets B 3.3.3.0 [20/0] via 20.20.35.3, 00:04:19 4.0.0.0/24 is subnetted, 1 subnets B 4.4.4.0 [20/0] via 20.20.35.3, 00:04:19
Nawet połączenie z interfejs Loopback 0 od R4 prowadzi przez mniej optymalną trasę.
R5#show ip bgp BGP table version is 11, local router ID is 20.20.45.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 1.1.1.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 100 i * 2.2.2.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 100 i * 3.3.3.0/24 20.20.45.4 0 100 i *> 20.20.35.3 0 0 100 i * 4.4.4.0/24 20.20.45.4 0 0 100 i *> 20.20.35.3 0 100 i *> 20.20.35.0/29 0.0.0.0 0 32768 i * 20.20.45.4 0 100 i * 20.20.35.3 0 0 100 i *> 20.20.45.0/29 0.0.0.0 0 32768 i * 20.20.45.4 0 0 100 i * 20.20.35.3 0 100 i
Powodem tego jest to, że dla BGP wszystkie te trasy są takie same (równe). Ścieżka AS Path jest zawsze taka sama (100 i), podobnie atrybuty Weight, Local Preference i MED. Wpłyniemy na dezyzję algorytmu poprzez zmianę parametru MED (Multi-Exit Discriminator). Preferowana jest niższa wartość, domyślnie ustawiona jest ona na 0.
W tym celu na R3 i R4 utworzymy route-map, które następnie przypiszą odpowiednie wartości MED dla sieci 1.1.1.0/24 i 2.2.2.0/24.
R3(config)#ip access-list extended LO_R1 R3(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 any R3(config-ext-nacl)#exit R3(config)#ip access-list extended LO_R2 R3(config-ext-nacl)#permit ip 2.2.2.0 0.0.0.255 any
Na samym początku tworzymy dwie rozszerzone listy dostępu: LO_R1 oraz LO_R2, które łapią tylko sieci z interfejsów Loopback routerów R1 i R2. Następnie korzystając z route-map zmienimy odpowiednio atrybut MED. Niższa wartość jest preferowana, tak więc dla listy LO_R1 ustawimy metrykę na 50, a dla LO_R2 na 100. Na samym końcu ustawiamy domyślną metrykę na 10 (w przeciwnym razie wszystkie trasy, które nie pasują do list LO_R1 lub LO_R2 zostałyby odrzucone):
R3(config)#route-map R3_MED R3(config-route-map)#match ip address LO_R1 R3(config-route-map)#set metric 50 R3(config-route-map)#exit R3(config)#route-map R3_MED permit 20 R3(config-route-map)#match ip address LO_R2 R3(config-route-map)#set metric 100 R3(config-route-map)#exit R3(config)#route-map R3_MED permit 30 R3(config-route-map)#set metric 10
Na koniec w trybie konfiguracji BGP przypisujemy mapę R3_MED do 20.20.35.5 dla ruchu wychodzącego (out).
R3(config)#router bgp 100 R3(config-router)#neighbor 20.20.35.5 route-map R3_MED out
Teraz podobna konfiguracja na R4:
R4(config)#ip access-list extended LO_R1 R4(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 any R4(config-ext-nacl)#exit R4(config)#ip access-list extended LO_R2 R4(config-ext-nacl)#permit ip 2.2.2.0 0.0.0.255 any
R4(config)#route-map R4_MED R4(config-route-map)#match ip address LO_R1 R4(config-route-map)#set metric 100 R4(config-route-map)#exit R4(config)#route-map R4_MED permit 20 R4(config-route-map)#match ip address LO_R2 R4(config-route-map)#set metric 50 R4(config)#route-map R4_MED permit 30 R4(config-route-map)#set metric 10
Pamiętamy, żeby ustawić odwrotnie metryki w route-map (100 dla listy LO_R1 i 50 dla LO_R2). Przypisujemy nowo utworzoną mapę do 20.20.45.5 w trybie konfiguracji BGP:
R4(config)#router bgp 100 R4(config-router)#neighbor 20.20.45.5 route-map R4_MED out
Przechodzimy do R5. Po pewnym czasie powinniśmy widzieć nowe metryki (można też przyspieszyć ten proces resetując BGP poleceniem clear ip bgp *
).
R5#show ip bgp BGP table version is 11, local router ID is 20.20.45.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 20.20.35.3 50 0 100 i * 20.20.45.4 100 0 100 i * 2.2.2.0/24 20.20.35.3 100 0 100 i *> 20.20.45.4 50 0 100 i *> 3.3.3.0/24 20.20.35.3 10 0 100 i * 20.20.45.4 10 0 100 i *> 4.4.4.0/24 20.20.35.3 10 0 100 i * 20.20.45.4 10 0 100 i *> 20.20.35.0/29 0.0.0.0 0 32768 i * 20.20.35.3 10 0 100 i * 20.20.45.4 10 0 100 i *> 20.20.45.0/29 0.0.0.0 0 32768 i * 20.20.35.3 10 0 100 i * 20.20.45.4 10 0 100 i
Wygląda bardzo dobrze. Widzimy, że metryki zostały ustawione prawidłowo. Preferowana trasa do 1.1.1.0/24 prowadzi przez 20.20.35.3, natomiast do 2.2.2.0/24 przez 20.20.45.4. Na koniec tablica routingu od R5:
R5#show ip route bgp 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/50] via 20.20.35.3, 00:10:51 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/50] via 20.20.45.4, 00:10:51 3.0.0.0/24 is subnetted, 1 subnets B 3.3.3.0 [20/10] via 20.20.35.3, 00:10:51 4.0.0.0/24 is subnetted, 1 subnets B 4.4.4.0 [20/10] via 20.20.35.3, 00:10:51
Oraz polecenie traceroute
:
R5#traceroute 1.1.1.1 Type escape sequence to abort. Tracing the route to 1.1.1.1 1 20.20.35.3 12 msec 16 msec 20 msec 2 10.100.13.1 44 msec * 12 msec
R5#traceroute 2.2.2.2 Type escape sequence to abort. Tracing the route to 2.2.2.2 1 20.20.45.4 28 msec 16 msec 24 msec 2 10.100.24.2 44 msec * 28 msec
R5 – dodaj interfejs Loopback 0 o adresie 5.5.5.5/26 i rozgłoś go w BGP. R1 i R2 – trasa do 5.5.5.5 ma prowadzić przez R4. Ustaw odpowiednio atrybut Local Preference.
Dodajemy nowy interfejs logiczny do routera R5:
R5#conf t R5(config)#interface loopback 0 R5(config-if)#ip address 5.5.5.5 255.255.255.192 R5(config-if)#exit
Następnie rozgłaszamy sieć 5.5.5.0/26 w BGP:
R5(config)#router bgp 20 R5(config-router)#network 5.5.5.0 mask 255.255.255.192
Zobaczmy czy routery w AS 100 nauczyły się nowej trasy:
R1#show ip bgp BGP table version is 8, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *>i2.2.2.0/24 2.2.2.2 0 100 0 i *>i3.3.3.0/24 3.3.3.3 0 100 0 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i * i5.5.5.0/26 20.20.45.5 0 100 0 20 i *>i 20.20.35.5 0 100 0 20 i *>i20.20.35.0/29 3.3.3.3 0 100 0 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i
Oraz wyjście dla R2:
R2#show ip bgp BGP table version is 8, local router ID is 2.2.2.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i1.1.1.0/24 1.1.1.1 0 100 0 i *> 2.2.2.0/24 0.0.0.0 0 32768 i *>i3.3.3.0/24 3.3.3.3 0 100 0 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i * i5.5.5.0/26 20.20.35.5 0 100 0 20 i *>i 20.20.45.5 0 100 0 20 i *>i20.20.35.0/29 3.3.3.3 0 100 0 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i
Jak widzimy R1 wysyła pakiety w kierunku R3, natomiast R2 w kierunku R4. Atrybut Local Preference ma wartość 100. Zmodyfikujemy jego wartość tak aby trasa przez R4 była bardziej korzystna, nawet dla R1. Wyższa wartość oznacza lepszą trasę, więc wystarczy że zmodyfikujemy go na jednym z routerów (R3 lub R4). Wybierzemy R4 i dla prefiksu 5.5.5.0/26 ustawimy ją na 120.
R4(config)#ip access-list extended LO_R5 R4(config-ext-nacl)#permit ip 5.5.5.0 0.0.0.63 R4(config-ext-nacl)#permit ip 5.5.5.0 0.0.0.63 any
R4(config)#route-map SET_LOCAL_PREF R4(config-route-map)#match ip address LO_R5 R4(config-route-map)#set local-preference 120 R4(config-route-map)#exit R4(config)#route-map SET_LOCAL_PREF permit 20 R4(config-route-map)#set local-preference 100
Podobnie jak w poprzednim punkcie, tworzymy rozszerzoną listę kontroli dostępu LO_R5, następnie łączymy ją z route-map i dla pakietów, które pasują do listy ustawiamy atrybut local-preference na wartość 120. Następnie dla „całej reszty” ustawiamy go domyślnie na 100.
Teraz w trybie konfiguracji BGP przypisujemy mapę SET_LOCAL_PREF do 1.1.1.1 i 2.2.2.2 dla ruchu wychodzącego
R4(config)#router bgp 100 R4(config-router)#neighbor 1.1.1.1 route-map SET_LOCAL_PREF out R4(config-router)#neighbor 2.2.2.2 route-map SET_LOCAL_PREF out
Moglibyśmy też przypisać mapę do 20.20.45.5 dla pakietów przychodzących, ale wtedy R4 wpłynąłby na wartość Local preference od R3 i wysyłałby on pakiety do 5.5.5.5 przez router R4. Dlatego zostajemy przy pierwszej opcji.
Zobaczmy rezultaty (wpierw clear ip bgp *
na R4). Najpierw router R1:
R1#show ip bgp BGP table version is 27, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *>i2.2.2.0/24 2.2.2.2 0 100 0 i *>i3.3.3.0/24 3.3.3.3 0 100 0 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i * i5.5.5.0/26 20.20.35.5 0 100 0 20 i *>i 20.20.45.5 0 120 0 20 i *>i20.20.35.0/29 3.3.3.3 0 100 0 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i
Trasa do 5.5.5.0/26 prowadzi przez 20.20.45.5, widzimy zmieniony atrybut LocPrf na 120. Podobna sytuacja ma miejsce na R2:
R2#show ip bgp BGP table version is 8, local router ID is 2.2.2.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i1.1.1.0/24 1.1.1.1 0 100 0 i *> 2.2.2.0/24 0.0.0.0 0 32768 i *>i3.3.3.0/24 3.3.3.3 0 100 0 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i * i5.5.5.0/26 20.20.35.5 0 100 0 20 i *>i 20.20.45.5 0 120 0 20 i *>i20.20.35.0/29 3.3.3.3 0 100 0 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i
Tak jak wspomnieliśmy wcześniej route-map od R4 nie modyfikuje atrybutów na R3:
R3#show ip bgp Network Next Hop Metric LocPrf Weight Path *>i1.1.1.0/24 1.1.1.1 0 100 0 i *>i2.2.2.0/24 2.2.2.2 0 100 0 i *> 3.3.3.0/24 0.0.0.0 0 32768 i *>i4.4.4.0/24 4.4.4.4 0 100 0 i * i5.5.5.0/26 20.20.45.5 0 100 0 20 i *> 20.20.35.5 0 0 20 i *> 20.20.35.0/29 0.0.0.0 0 32768 i * 20.20.35.5 0 0 20 i *>i20.20.45.0/29 4.4.4.4 0 100 0 i * 20.20.35.5 0 0 20 i
Zadanie wykonane!
Zapraszamy do innych zadań z sekcji Cisco Labs oraz czekamy na Wasze pomysły i komentarze.
0 Komentarze.