Rozgłaszanie trasy domyślnej jeżeli nie ma innej w tablicy

Pytania dt. certyfikacji CCNP, CCDP, CCSP, CCIP oraz CCVP
Wiadomość
Autor
choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

Rozgłaszanie trasy domyślnej jeżeli nie ma innej w tablicy

#1

#1 Post autor: choyrack »

Witam

Czy można router Cisco zmusić do takiego działania aby rozgłaszał trasę domyślną do OSPFa tylko wtedy kiedy nie ma dostępnej żadnej innej trasy domyslnej? A może jest jakieś inne rozwiązanie...

Mam dwie lokalizacje z dostępem do Internetu, do których są spięte lokalizacje wewnętrzne (LAN). Jak zrealizować scenariusz w którym:
1. Jeżeli w lokalizacji A padnie łącze do Internetu to ruch wyjdzie łączem w lokalizacji B
2. Jeżeli łącze w lokalizacji A powraca to ruch wychodzi przez lokalizacje A
2. Wszystkie lokalizacje zawsze wychodzą jedną lokalizacją (np. Jeżeli działa lokalizacja A to ruch z lokalizacji B też wychodzi przez lokalizacje A)
3. Łącza pomiędzy lokalizacjami są różne (S2S VPN, MPLS, IPVPN)
W sieciach MPLS i IPVPN pomiędzy mną a operatorem jest OSPF i operator robi redystrybucje do swojego BGP i w drugą stronę z BGP do OSPF.

Poniżej schemat sieci:
Obrazek
W tunelach S2S działa OSPF
W tunelach MPLS i IPVPN działa BGP.


Jakieś pomysły? Wiem że stan mogę monitorować przez ip sla. Tylko jak zrobić, żeby w sieci nie pojawiły się dwie trasy domyślne z różnych lokalizacji?

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

Re: Rozgłaszanie trasy domyślnej jeżeli nie ma innej w tabli

#2

#2 Post autor: lbromirs »

choyrack pisze:Witam

Czy można router Cisco zmusić do takiego działania aby rozgłaszał trasę domyślną do OSPFa tylko wtedy kiedy nie ma dostępnej żadnej innej trasy domyslnej? A może jest jakieś inne rozwiązanie...
W OSPF też masz 'conditional advertisement' dla defaulta - dodajesz route-mapę z odpowiednimi, interesującymi Cię prefiksami.

Jak masz zorganizowany routing między lokalizacjami?

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#3

#3 Post autor: choyrack »

Wszystko OK, tylko 'conditional advertisement' dodaje trasę domyślną jeżeli prefiks zdefiniowany w route-mapie istnieje. A ja bym potrzebował rozwiązanie, które by działało odwrotnie, czyli dodawałoby defaulta wtedy kiedy jakiś prefiks nie istnieje w tablicy.

Routing pomiędzy A i B jest statycznie zdefiniowany i zmieniany przez 'ip sla'.

Coś takiego ma szanse poprawnie zadziałać:

Kod: Zaznacz cały

ip sla 1
 icmp-echo 1.1.1.1
 timeout 500
 frequency 3
ip sla schedule 1 life forever start-time now
!
track 2 rtr 1 reachability
!
track 1 list boolean and
 object 2 not

ip route 10.0.0.254 255.255.255.255 Null0 track 1
ip access-list standard TESTOWA_TRASA
 permit 10.0.0.254
route-map TEST permit 10
 match ip address TESTOWA_TRASA
I w OSPFie coś takiego:

Kod: Zaznacz cały

default-information originate always route-map TEST

Awatar użytkownika
gangrena
CCIE/CCDE
CCIE/CCDE
Posty: 2349
Rejestracja: 08 mar 2004, 12:17
Lokalizacja: Wawa

#4

#4 Post autor: gangrena »

Czy uważasz, że rozgłaszanie trasy domyślnej jeżeli prefiks nie istnieje jest naprawdę niezbędne? Przecież jeżeli prefiks się pojawia, to trasy domyślnej nie trzeba usuwać, gdyż i tak longer match wins. Poza tym można rozgłaszać trasy domyślne z różnymi preferencjami korzystając z typów metryk np. E1 z lok.A i E2 z lok.B lub samo E1 z odpowiednim kosztem. Jeżeli nie tak, to możesz rozgłosić 0/1 oraz 128/1 z lok.A, oraz 0/0 z lok.B. Szkoda czasu w tym przypadku na tracking.

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#5

#5 Post autor: choyrack »

gangrena pisze:Czy uważasz, że rozgłaszanie trasy domyślnej jeżeli prefiks nie istnieje jest naprawdę niezbędne? Przecież jeżeli prefiks się pojawia, to trasy domyślnej nie trzeba usuwać, gdyż i tak longer match wins. Poza tym można rozgłaszać trasy domyślne z różnymi preferencjami korzystając z typów metryk np. E1 z lok.A i E2 z lok.B lub samo E1 z odpowiednim kosztem.
Różne typy metryk nie przejdą, bo wewnątrz MPLSa i IPVPN działa BGP więc i tak jest to na sztywno dystrybuowane (metryka, typ metryki) z mojego OSPFa.
Jeżeli nie tak, to możesz rozgłosić 0/1 oraz 128/1 z lok.A, oraz 0/0 z lok.B. Szkoda czasu w tym przypadku na tracking
I to jest dobra myśl. Nie pomyślałem żeby to tak zrobić. Jutro to przetestuje.

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#6

#6 Post autor: choyrack »

Witam ponownie.

Otóż jest pewien problem przy próbie rozgłaszania tras 0.0.0.0/1 i 128.0.0.0/1.
Z trasą 128/1 nie ma żadnego problem wszystko przechodzi bez problemu.
Ale z trasą 0/1 jest problem na styku moich urządzeń z urządzeniami operatorów sieci MPLS i IPVPN.
Otóż trasa przeze mnie rozgłoszona z lok A. Jest widoczna w ich BGP ale nie daje się rozdystrybuować dalej do mojego OSPFa w lokalizacji zdalnej. Ktoś wie na co zwrócić uwagę?
Operator w bazie OSPFa na swoim routerze w lokalizacji zdalnej nie ma trasy 0/1.

W zależności co operator nakombinuje to albo nie dostaje w ogóle trasy 0/1 albo dostaje trasę domyślną 0/0.
Schemat:
Obrazek


Po mojej stronie jest wszystko OK bo te same urządzenia bez problemu dostają trasy 0/1 i 128/1 przez zwykły tunel IPSec (bez redystrybucji tylko bezpośrednio z OSPFa)

Operator twierdzi, że ma taka konfigurację:

Kod: Zaznacz cały

router ospf 200
redistribute bgp 65000 metric 200 metric-type 1 subnets route-map BGP-TO-OSPF
passive-interface default
no passive-interface GigabitEthernet0/1
network 10.10.100.4 0.0.0.3 area 200
                                                                                                                               
route-map BGP-TO-OSPF permit 10
match ip address prefix-list BGP-TO-OSPF

ip prefix-list BGP-TO-OSPF seq 10 deny 57.0.0.0/8 le 32
ip prefix-list BGP-TO-OSPF seq 20 deny 10.230.0.0/24 le 32
ip prefix-list BGP-TO-OSPF seq 30 deny 10.236.0.0/24 le 32
ip prefix-list BGP-TO-OSPF seq 40 deny 194.6.245.0/24 le 32
ip prefix-list BGP-TO-OSPF seq 43 permit 0.0.0.0/1
ip prefix-list BGP-TO-OSPF seq 50 permit 0.0.0.0/0 le 32
Po mojej stronie w lokalizacji zdalnej:

Kod: Zaznacz cały

router ospf 200
log-adjacency-changes
redistribute connected metric 1 metric-type 1 subnets
passive-interface Vlan3
passive-interface Vlan30
passive-interface Vlan100
passive-interface Vlan20
network 10.10.100.0 0.0.0.255 area 200

Awatar użytkownika
gangrena
CCIE/CCDE
CCIE/CCDE
Posty: 2349
Rejestracja: 08 mar 2004, 12:17
Lokalizacja: Wawa

#7

#7 Post autor: gangrena »

Kwestia rozgłaszania default route. W OSPF dokonuje się tego np. poprzez default-information originate. Przy czym nie ma generowania trasy domyślnej z maską /1. Są IMHO dwie opcje:
1. Operator wprowadza static 0/1 na Null z AD 250 i redystrybuuje go do Twojego OSPF.
2. Skorzystasz z E1/E2. Mimo tego, co napisałeś, da się to wykorzystać. Trzeba tylko na wejściu do sieci operatorskiej ustawić tag lub dodatkowe community i na jego podstawie rozpoznawać preferowany default. Na wyjściu do Twojej sieci operator musi rozpoznać ten tag/community i ustawić preferowane wartości E1 i E2 lub metryki dla E1. Jest to opcja bardziej czasochłonna, ale też możliwa i w pewnych warunkach bardziej akceptowalna przez ISP, niż opcja 1.

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#8

#8 Post autor: choyrack »

Kwestia rozgłaszania default route. W OSPF dokonuje się tego np. poprzez default-information originate. Przy czym nie ma generowania trasy domyślnej z maską /1.
Na ten moment ja w ogóle nigdzie nie rozgłaszam trasy domyślnej tylko dwie trasy jedna 0/1 druga 128/1. Dlatego dziwi mnie, że w ogóle pojawia mi się trasa domyślna.
1. Operator wprowadza static 0/1 na Null z AD 250 i redystrybuuje go do Twojego OSPF.
Słabo to widzę w momencie kiedy przestaje rozgłaszać trasy 0/1 i 128/1 bo np. łącze do lokalizacji A pada, skąd rozgłaszam te trasy. Pomimo tego, że w BGP ich nie będzie to od operatora dalej będę dostawał trasę 0/1...
2. Skorzystasz z E1/E2. Mimo tego, co napisałeś, da się to wykorzystać. Trzeba tylko na wejściu do sieci operatorskiej ustawić tag lub dodatkowe community i na jego podstawie rozpoznawać preferowany default. Na wyjściu do Twojej sieci operator musi rozpoznać ten tag/community i ustawić preferowane wartości E1 i E2 lub metryki dla E1. Jest to opcja bardziej czasochłonna, ale też możliwa i w pewnych warunkach bardziej akceptowalna przez ISP, niż opcja 1.
Nie wiem czy któryś z ISP się tego podejmie bo to właściwie po ich stronie leży cała konfiguracja.

Najdziwniejsze jest to, że w jednej (tak w jednej!) lokalizacji zdalnej MPLS dostaje poprawnie obie trasy tj. 0/1 i 128/1 w pozostałych (ponad 10) jest problem jak wyżej.

Awatar użytkownika
gangrena
CCIE/CCDE
CCIE/CCDE
Posty: 2349
Rejestracja: 08 mar 2004, 12:17
Lokalizacja: Wawa

#9

#9 Post autor: gangrena »

choyrack pisze:Na ten moment ja w ogóle nigdzie nie rozgłaszam trasy domyślnej tylko dwie trasy jedna 0/1 druga 128/1. Dlatego dziwi mnie, że w ogóle pojawia mi się trasa domyślna.
Może operator ma niejednolitą konfigurację lub np. zrobił już static+redystrybucję.
choyrack pisze:Słabo to widzę w momencie kiedy przestaje rozgłaszać trasy 0/1 i 128/1 bo np. łącze do lokalizacji A pada, skąd rozgłaszam te trasy. Pomimo tego, że w BGP ich nie będzie to od operatora dalej będę dostawał trasę 0/1...
Jeżeli lokalizacja lub link do A pada, to jest jeszcze lokalizacja B. Dlatego default może być rozgłaszany. Chyba, że jest dwóch operatorów w ramach jednej usługi transportowej.

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#10

#10 Post autor: choyrack »

choyrack pisze:Na ten moment ja w ogóle nigdzie nie rozgłaszam trasy domyślnej tylko dwie trasy jedna 0/1 druga 128/1. Dlatego dziwi mnie, że w ogóle pojawia mi się trasa domyślna.
Może operator ma niejednolitą konfigurację lub np. zrobił już static+redystrybucję.
To się wyjaśnia już u operatora, jak zwykle twierdzą, że mają wszystko dobrze ale pewnie coś znajdą i to poprawią.
choyrack pisze:Słabo to widzę w momencie kiedy przestaje rozgłaszać trasy 0/1 i 128/1 bo np. łącze do lokalizacji A pada, skąd rozgłaszam te trasy. Pomimo tego, że w BGP ich nie będzie to od operatora dalej będę dostawał trasę 0/1...
Jeżeli lokalizacja lub link do A pada, to jest jeszcze lokalizacja B. Dlatego default może być rozgłaszany. Chyba, że jest dwóch operatorów w ramach jednej usługi transportowej.
Jeden operator to segment oznaczony jako MPLS, drugi operator to segment oznaczony jako IPVPN na rysunku z pierwszego postu. Sprawę trochę komplikuje fakt, że każda z lokalizacji zdalnych (inna niż A i B) jest przypięta do dwóch sieci (np. do MPLS i IPVPN, lub MPLS i ma tunel S2S na innym łączu) - ale to już jest pikuś jak cała reszta ruszy zgodnie z oczekiwaniem. A chce osiągnąć efekt, że jeżeli lokalizacja A żyje i rozgłasza trasy to ruch ma iść przez tą lokalizacje.
Najprostsze wydawało się rozgłaszanie w lokalizacji A tras 0/1 i 128/1 (tak jak zasugerowałeś) a w lokalizacji B trasy domyślnej.[/quote]

choyrack
wannabe
wannabe
Posty: 62
Rejestracja: 10 wrz 2013, 17:25

#11

#11 Post autor: choyrack »

Operator się ogarną. Trasa 0/1 jest redystrybuowana poprawnie ale moje Cisco dalej stroi fochy. W debugu mam coś takiego jak niżej ale w routingu mam 0/0...

Kod: Zaznacz cały

Jan 14 10:45:14.664: OSPF: Started Building Type 5 External Routes
Jan 14 10:45:14.664: OSPF: Start processing Type 5 External LSA 0.0.0.0, mask 128.0.0.0, adv 10.10.10.2, age 2367, seq 0x80000005, metric 20, metric-type 2
Jan 14 10:45:14.664:    Add better path to LSA ID 0.0.0.0, gateway 10.10.10.2, dist 20
Jan 14 10:45:14.664:    Add path: next-hop 10.10.10.2, interface FastEthernet0
Jan 14 10:45:14.668:  network update dest_addr 0.0.0.0 mask 128.0.0.0 gateway 10.10.10.2
Jan 14 10:45:14.668: OSPF: Add External Route to 0.0.0.0 Metric: 20, Next Hop: 10.10.10.2

ODPOWIEDZ