Cisco - BGP failover nem működik jól

Sziasztok!

Küzdök már egy ideje ezzel a problémával, és lehet valami tök bagatel dolog, de nem jövök rá egyszerűen a probléma okára.

Helyzet a következő:

AS 1: az én routerem
AS 2: uplink1
AS 3: uplink2

Hírdetek egy /20 tartományt. A megvalósítás az lenne, hogy _minden_ forgalom uplink1 felé megy, uplink2 felé akkor, de _csak akkor_ forgalmazunk ha uplink1 halott. Látni fogjátok már elég agresszív as path prependingel is próbálkozok, de eredménytelen. A forgalom majdnem fele, UPLINK2 felé megy.

Az ide tartozó config a következő:

router bgp "AS1"
no synchronization
bgp log-neighbor-changes
network "hirdetetttartomany" mask 255.255.240.0
neighbor "UPLINK2_IP" remote-as "AS3"
neighbor "UPLINK2_IP" description UPLINK2
neighbor "UPLINK2_IP" route-map setweightin in
neighbor "UPLINK2_IP" route-map UPLINK2-OUT out
neighbor "UPLINK1_IP" remote-as "AS2"
neighbor "UPLINK1_IP" description UPLINK1
neighbor "UPLINK1_IP" password iszonyatmódtitkosjelszó
neighbor "UPLINK1_IP" route-map setweightin2 in
neighbor "UPLINK1_IP" route-map UPLINK1 out

&

ip route "tartomanyom" 255.255.240.0 Null0

&
route-map setweightin permit 10
match as-path 30
set weight 200

&

route-map uplink2-out permit 10
match as-path 10
set as-path prepend AS1 AS1 AS1 AS1 AS1 AS1 AS1 AS1 AS1 AS1

&

route-map setweightin2 permit 10
match as-path 20
set weight 300

Ötlet esetleg valakinek?

Hozzászólások

"már elég agresszív as path prependingel is próbálkozok, de eredménytelen. A forgalom majdnem fele, UPLINK2 felé megy."
AS prepend és felé megy? Itt inkább a felől jön kifejezés lehetne helyénvaló - ha így van.

És talán ez a legidegesítőbb, hogy a bix looking glass, ripe looking glass stb mind uplink1-et tartják a legjobbnak a sok uplink2-re fűzött as path prepending miatt. De mégis a forgalom fele uplink2 felől jön. De milyen forgalom???? Egy traceroute se jön uplink2 felől.
--
Nem az erős, aki sosem esik el, hanem az, aki mindig fel tud állni!

Nem értem, hogy ezt hogyan gondolod.
Minden egyes szolgáltató maga dönti el, hogy neki melyik hirdetésed szimpatikusabb.

Akiknek ügyfelei vannak, azok az ügyfeleiktől (ügyfeleiken keresztül) hallott hirdetéseket mindig preferálják a nem ügyfeleiktől hallott hirdetésekkel szemben.

Ennek az egyik oka, hogy a szolgáltató ezeket a hirdetéseket magán keresztül tovább kell hirdesse (ha nem tenné, nem nyújtaná a szolgáltatást), viszont csak azt a hirdetést tudja továbbhirdetni, amit maga is használ. Az internet felől, vagy peering partnerek felől hallott hirdetést viszont alapvetően nem tudhat/akarhat felfelé hirdetni a szolgáltató. Pl. BIX policy szerint az internet felől jövő packetokat nem küldheti ki senki a BIX-en keresztül (a szolgáltató csak valamelyik ügyfele IP címéről érkező csomagokat engedheti be a BIX-re).

Azért, hogy ilyen tranzit policy-k a helyi ügyfeleket (akik nem BGP-s ügyfelek, és a szolgáltató rendes PA tartományaiból kapják a címüket) ne érintsék, sok nagy szolgáltató külön AS-t üzemeltet a tranzit ügyfeleinek.

A backup-os linkedre 0-ás weight-et tegyél és rontsd le a local preference-ét 100-nál kisebbre.
A main linkedre meg nem is kell semmilyen weight, hagyd ezeket nyugodtan default értéteken.
Kifelé meg elég 2-3 prepend, ne röhögtesd ki magad... :)