BGP – atrybuty Local Preference i MED

Cele:

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:

BGP - atrybuty Local Preference i MED

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.

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Obraz CAPTCHY

*