BGP weight i local-preference Temat rozwiązany

Problemy związane z routingiem

Moderatorzy: mikrobi, aron, garfield, gangrena, Seba

Wiadomość
Autor
h33ren
member
member
Posty: 47
Rejestracja: 15 paź 2017, 13:46

BGP weight i local-preference

#1

#1 Post autor: h33ren » 05 gru 2017, 17:58

Siema,

Na okres migracji muszę mieć cztery uplinki do ISP. Migrujemy z Cisco do Junipera.

No i teraz tak. Będę miał iBGP gdzie będę rozgłaszał prefixy oraz pobierał prefixy od ISP. To będą 4 połączenia , 2 na Cisco i 2 na Juniperze. I wszędzie te same zestawy prefixów wymieniane.

Teraz tak, dotychczas na Cisco wybór "lepszego" linku do ISP był zrobiony poprzez komendę weight, ale przeczytałem że ta komenda działa tylko w obrębie lokalnego switcha i nie przejdzie przez iBGP.

Wobec tego że Juniper musi wiedzieć jakie są linki preferowane muszę dodać local-preference które przechodzi przez iBGP.

I teraz tak, czy będzie ok jak dodam local-preference po prostu globalnie w Cisco (np. wyższe żeby początkowo Cisco miało priorytet, a przy przełączaniu ruchu na Juniper zmienię na niską wartość wtedy obydwa linki z Cisco powinny przejść jakby w tryb standby) ?? I zostawić weight dla lokalnej decyzji switcha który link ważniejszy.
CCNA R&S | CCNA Sec

0rzech
rookie
rookie
Posty: 11
Rejestracja: 05 paź 2016, 10:59
Lokalizacja: Slask

Re: BGP weight i local-preference

#2

#2 Post autor: 0rzech » 05 gru 2017, 18:47

Weight to cisco-prioprietary atrybut brany jako pierwszy pod uwagę jeszcze przed local preference, ale tylko i wyłącznie na lokalnym routerze. Co za tym idzie, wysoki local preference na Jupku nie koniecznie sprawi, że Cisco przestanie Ci routować ruch w stronę outside.

Najlogiczniej będzie usunąć w ogóle atrybut weight na Cisco w zamian wstawiając wysoki LP. W kolejnym kroku robisz tak jak piszesz czyli niskie LP na Cisco, wysokie na Juniper dla wszystkich Twoich peerów na outside.

h33ren
member
member
Posty: 47
Rejestracja: 15 paź 2017, 13:46

Re: BGP weight i local-preference

#3

#3 Post autor: h33ren » 05 gru 2017, 20:00

Ale ja mogę dać local-preference w sekcji konfiguracji address-family ? Bo tak wygląda ta część konfiguracji u mnie obecnie.

Kod: Zaznacz cały

address-family ipv4 vrf outside
  redistribute static
  neighbor 8*.*.*.158 remote-as 1***0
  neighbor 8*.*.*.158 activate
  neighbor 8*.*.*.158 weight 500
  neighbor 8*.*.*.158 soft-reconfiguration inbound
  neighbor 8*.*.*.158 prefix-list FH->ATV in
  neighbor 8*.*.*.158 prefix-list ATV->ALL out
  neighbor 8*.*.*.161 remote-as 1***0
  neighbor 8*.*.*.161 activate
  neighbor 8*.*.*.161 weight 500
  neighbor 8*.*.*.161 soft-reconfiguration inbound
  neighbor 8*.*.*.161 prefix-list ATV->ALL out
  neighbor 8*.*.*.165 remote-as 1***0
  neighbor 8*.*.*.165 activate
  neighbor 8*.*.*.165 soft-reconfiguration inbound
  neighbor 8*.*.*.165 prefix-list FH->ATV in
  neighbor 8*.*.*.165 prefix-list ATV->ALL out
  neighbor 8*.*.*.169 remote-as 1***0
  neighbor 8*.*.*.169 activate
  neighbor 8*.*.*.169 soft-reconfiguration inbound
  neighbor 8*.*.*.169 prefix-list ATV->ALL out
  no synchronization
  network 8*.*.*.* mask 255.255.255.248
  network 8*.*.*.* mask 255.255.255.224
  network 8*.*.*.* mask 255.255.255.240
  network 8*.*.*.* mask 255.255.255.224
  network 8*.*.*.* mask 255.255.255.224
  network 1*.*.*.*
 exit-address-family
 
Bo jak dam w ogólnej konfiguracji, to switch lokalnie nie będzie wiedział który link faworyzować.
CCNA R&S | CCNA Sec

lbromirs
CCIE
CCIE
Posty: 3931
Rejestracja: 30 lis 2006, 08:44

Re: BGP weight i local-preference

#4

#4 Post autor: lbromirs » 05 gru 2017, 22:53

Skonfiguruj route-mapę i prefix-listę przenieś do route-mapy per sąsiad. Tam gdzie będziesz miał 'match ip prefix-list' dodaj po prostu 'set local-preference X'.

0rzech
rookie
rookie
Posty: 11
Rejestracja: 05 paź 2016, 10:59
Lokalizacja: Slask

Re: BGP weight i local-preference

#5

#5 Post autor: 0rzech » 06 gru 2017, 06:56

Który z tych 4 peerów ma być preferowany ? W tej chwili masz weight 500 dla 2 linków.

h33ren
member
member
Posty: 47
Rejestracja: 15 paź 2017, 13:46

Re: BGP weight i local-preference

#6

#6 Post autor: h33ren » 06 gru 2017, 10:08

Tzn tak to co tu jest to jest konfig Cisco który mam obecnie i tam faktycznie są już 4 linki bo 2 z nich to specjalne dedykowane łącza i one także będą migrowane, ale ponieważ tam po stronie ISP będzie fizyczne przełączanie kabli to generalnie tam nie będzie "przejściowego" okresu, chyba że umówię się z ISP że najpierw przepną te łącze rezerwowe, przerzucimy ruch na rezerwowe i przepną fizycznie dopiero podstawowe.

Co do kwestii route-map.

To jest obecnie mój prefix-list który ja eksportuję do ISP

Kod: Zaznacz cały

ip prefix-list ATV->ALL seq 5 permit 1*.*.*.0/24
ip prefix-list ATV->ALL seq 10 permit 8*.*.*.192/27
ip prefix-list ATV->ALL seq 15 permit 8*.*.*.32/27
ip prefix-list ATV->ALL seq 20 permit 8*.*.*.8/29
ip prefix-list ATV->ALL seq 25 permit 8*.*.*.160/27
ip prefix-list ATV->ALL seq 30 permit 8*.*.*.128/28
Czy wobec tego mogę to przerobić na taki route-map ?

Kod: Zaznacz cały

route-map MY-EXPORT-PRIMARY permit 10
  match ip address prefix-list ATV->ALL
  set local-preference 200
  
route-map MY-EXPORT-BACKUP permit 10
  match ip address prefix-list ATV->ALL
  set local-preference 90
  
route-map MY-IMPORT-PRIMARY permit 10
  match ip address prefix-list FH->ATV
  set local-preference 200
  
route-map MY-IMPORT-BACKUP permit 10
  match ip address prefix-list FH->ATV
  set local-preference 90
I teraz zmiany w samej konfiguracji address-family

Najpierw usuwam te linie (czyli te które nie mają komendy weight, więc są pasywne obecnie)

Kod: Zaznacz cały

  neighbor 8*.*.*.165 prefix-list FH->ATV in
  neighbor 8*.*.*.165 prefix-list ATV->ALL out
  
  neighbor 8*.*.*.169 prefix-list ATV->ALL out
Następnie dodaję

Kod: Zaznacz cały

  neighbor 8*.*.*.165 route-map MY-IMPORT-BACKUP in
  neighbor 8*.*.*.165 route-map MY-EXPORT-BACKUP out
  
  neighbor 8*.*.*.169 route-map MY-EXPORT-BACKUP out
Czy to jest poprawnie ?

Następnie po wykonaniu tego likwiduję linie z weight oraz zamieniam "aktywne" linie z prefix-list na route-map z PRIMARY.

Przy usuwaniu konfigu z "aktywnych" sesji BGP powinno nastąpić przełączenie na "zapas".

Oczywiście będę robił to podczas maintenance, ale chciał bym to tak zaplanować żeby był jak najkrótszy downtime.
CCNA R&S | CCNA Sec

0rzech
rookie
rookie
Posty: 11
Rejestracja: 05 paź 2016, 10:59
Lokalizacja: Slask

Re: BGP weight i local-preference  Temat rozwiązany

#7

#7 Post autor: 0rzech » 06 gru 2017, 12:02

h33ren pisze:
06 gru 2017, 10:08
To jest obecnie mój prefix-list który ja eksportuję do ISP
Nie eksportujesz prefix-listy do ISP tylko filtrujesz ruch wychodzący od siebie do ISP.
Da się wypchnąć prefix-listę do ISP przy pomocy ORF feature, ale w zupełnie innym celu - po to żebyś "zdalnie" zakładał ACL-kę na urządzeniu operatora dla prefixów jakie chcesz od niego otrzymać z tym, że raczej nie o to Ci chodzi.
https://www.cisco.com/c/en/us/td/docs/i ... gporf.html

Generalnie nie rób nic z prefix-listami 'out'. Dodawanie tutaj LP nie ma sensu. Ten atrybut nie jest wysyłany w ramach sesji eBGP jaką masz z operatorem. Local preference zakładasz zawsze jako 'in' czyli nadajesz wysokie/niskie LP dla prefixów jakie otrzymujesz od operatorów tym samym sterując ruchem wychodzącym z Twojego AS.


Pierwszy krok - przejście z atrybutu weight na local-pref bez zmiany logiki wyboru trasy jaką masz w tej chwili (2x to samo weight).

WYRZUCASZ

Kod: Zaznacz cały

  no neighbor 8*.*.*.158 weight 500
  no neighbor 8*.*.*.158 prefix-list FH->ATV in
DODAJESZ

Kod: Zaznacz cały

route-map RM_1 permit 10
	 match ip address prefix-list prefix-list FH->ATV
	 set local-preference 150 
neighbor 8*.*.*.158 route-map RM_1 in
WYRZUCASZ

Kod: Zaznacz cały

  no neighbor 8*.*.*.161 weight 500
DODAJESZ

Kod: Zaznacz cały

route-map RM_2 permit 10
	 set local-preference 150 
neighbor 8*.*.*.161 route-map RM_2 in

Drugi krok - przepięcie na 2 łącza zapasowe czyli .165 i .169 (?).

Kod: Zaznacz cały

route-map RM_3 permit 10
	set local-preference 200 
	neighbor 8*.*.*.165  route-map RM_3 in
	 
route-map RM_4 permit 10
	set local-preference 200 
	neighbor 8*.*.*.169  route-map RM_4 in
	 
Możesz też zrobić tylko jedną RM i przypiąć do obu peerów, ale wtedy zmiana LP wpływa na oba sąsiedztwa, wiadomo.
Jak zrobisz 4 osobne RM to w trakcie przepięcia możesz sobie dowolnie żonglować LP i wybierać operatorów.

h33ren
member
member
Posty: 47
Rejestracja: 15 paź 2017, 13:46

Re: BGP weight i local-preference

#8

#8 Post autor: h33ren » 06 gru 2017, 13:08

Dzięki wiele, to mi wiele rozjaśniło. To wyjaśnia mój problem.

Ja z BGP dopiero raczkuję stąd te zapewne proste błędy z mojej strony myślenia.
CCNA R&S | CCNA Sec

ODPOWIEDZ