❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

BGP filtry

Návody a problémy s konfigurací.
dantasik
Příspěvky: 409
Registrován: 17 years ago
Kontaktovat uživatele:

BGP filtry

Příspěvekod dantasik » 12 years ago

Nejak se me nedari nastavit bgp filtry tak abych si mohl vyspecifikovat aby na nektere cilove AS byla zvyhodnena backup linka.
napr aby se do AS 29208 dialtelecomu slo hlavne přes AS41824 a az v pripade vypadku linky to použilo cestu přes AS28755.
Na linuxu v quaqe se me to povedlo rozchodit ale na mikrotku nejak nevim jak specifikovat cestu..a z wikiny moc chytrej nejsem.
Prikladam aktualni nastaveni filtru.

0 chain=AS41824-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

1 chain=AS41824-bgp-out invert-match=no action=discard set-bgp-prepend-path=">

2 chain=AS41824-bgp-in prefix=10.0.0.0/8 invert-match=no action=discard
set-bgp-prepend-path=""

3 chain=AS41824-bgp-in prefix=169.254.0.0/16 invert-match=no action=discard
set-bgp-prepend-path=""

4 chain=AS41824-bgp-in prefix=192.168.0.0/16 invert-match=no action=discard
set-bgp-prepend-path=""

5 chain=AS41824-bgp-in prefix=172.16.0.0/12 invert-match=no action=discard
set-bgp-prepend-path=""

6 chain=AS41824-bgp-in prefix=224.0.0.0/4 invert-match=no action=discard
set-bgp-prepend-path=""

7 chain=AS41824-bgp-in prefix=240.0.0.0/4 invert-match=no action=discard
set-bgp-prepend-path=""
<
8 chain=AS41824-bgp-in prefix=127.0.0.0/8 invert-match=no action=discard
set-bgp-prepend-path=""

9 chain=AS41824-bgp-in prefix=91.229.252.0/22 invert-match=no action=discard
set-bgp-prepend-path=""

10 chain=AS41824-bgp-in invert-match=no action=accept set-bgp-prepend-path=""

11 chain=AS28755-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

12 chain=AS28755-bgp-out invert-match=no action=discard set-bgp-prepend-path=">

13 chain=AS28755-bgp-in prefix=10.0.0.0/8 invert-match=no action=discard
set-bgp-prepend-path=""

14 chain=AS28755-bgp-in prefix=169.254.0.0/16 invert-match=no action=discard
set-bgp-prepend-path=""

15 chain=AS28755-bgp-in prefix=192.168.0.0/16 invert-match=no action=discard
set-bgp-prepend-path=""

16 chain=AS28755-bgp-in prefix=172.16.0.0/12 invert-match=no action=discard
set-bgp-prepend-path=""

17 chain=AS28755-bgp-in prefix=224.0.0.0/4 invert-match=no action=discard
set-bgp-prepend-path=""

18 chain=AS28755-bgp-in prefix=240.0.0.0/4 invert-match=no action=discard
set-bgp-prepend-path=""

19 chain=AS28755-bgp-in prefix=127.0.0.0/8 invert-match=no action=discard
set-bgp-prepend-path=""

20 chain=AS28755-bgp-in prefix=91.229.252.0/22 invert-match=no action=discard
set-bgp-prepend-path=""
0 x
Daniel Tasáry

Dalibor Toman
Příspěvky: 1246
Registrován: 13 years ago

Příspěvekod Dalibor Toman » 12 years ago

dantasik píše:Nejak se me nedari nastavit bgp filtry tak abych si mohl vyspecifikovat aby na nektere cilove AS byla zvyhodnena backup linka.
napr aby se do AS 29208 dialtelecomu slo hlavne přes AS41824 a az v pripade vypadku linky to použilo cestu přes AS28755.
Na linuxu v quaqe se me to povedlo rozchodit ale na mikrotku nejak nevim jak specifikovat cestu..a z wikiny moc chytrej nejsem.
Prikladam aktualni nastaveni filtru.

0 chain=AS41824-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

1 chain=AS41824-bgp-out invert-match=no action=discard set-bgp-prepend-path=">

11 chain=AS28755-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

12 chain=AS28755-bgp-out invert-match=no action=discard set-bgp-prepend-path=">



BGP na MT neprovozuju ale v tech filtrech neni IMHO specifikovany ten prepend - cili nic neuprednostnujes. Proste pokud chces zvyhodnit datovy tok do Tve site jednim upstreamem pred druhym , musis tomu druhemu posilat delsi cestu ke svemu AS = v podani MT pouzijes set-bgp-prepend=3 (cislo rika kolikrat se objevi Tvuj AS na zacatku cesty). Ten druhy upstream BGP router musi dostat lepsi (= kratsi) cestu k Tve siti od jinud (pres prvni upstream) a nebude pak posilat data primo linkou k Tobe.

Aby se data z nejakeho obecneho AS k Tobe dostavala konkretni linkou IMHO nelze zaridit (bez nastaveni v tom AS). CIli pokud nejsi primo spojeny s Dialtelecomem tezko jej donutis aby tekl nejakou Tvou konkretni linkou. AS se proste rozhoduje podle delky cesty k Tve siti (a pokud jsou cesty stejne dlouhe tak pouzije tu novejsi = nekdy restart session zmeni pomery upstreamu) a tu nemuzes ovlivnit per obecny AS ale jen per kazdy upstream.

Pokud chces zvyhodnit nejaky upstream ve smeru z Tve site do Internetu, pak musis nastavit lepsi lokalni preferenci na routy naucene od toho BGP peera.
0 x

dantasik
Příspěvky: 409
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod dantasik » 12 years ago

Ad 1) Prepend není nastaveny schvalne jelikož chci aby to jelo vždy nejkratsi moznou trasou.
Ad 2) Jde mi hlavne o upload, provoz odemne do určitého AS a to si ovlivnit muzu jen nevim jak nastavit to pravidlo. Vim jen ze se pouze local-preference vyssi a pojede to.
0 x
Daniel Tasáry

Dalibor Toman
Příspěvky: 1246
Registrován: 13 years ago

Příspěvekod Dalibor Toman » 12 years ago

dantasik píše:Ad 1) Prepend není nastaveny schvalne jelikož chci aby to jelo vždy nejkratsi moznou trasou.
Ad 2) Jde mi hlavne o upload, provoz odemne do určitého AS a to si ovlivnit muzu jen nevim jak nastavit to pravidlo. Vim jen ze se pouze local-preference vyssi a pojede to.


no tak pro routy od toho souseda , ktere v path obsahujici konkretni AS (pripadne pro konkretni cizi IP rozsahy) zvedni local preference...
0 x

dantasik
Příspěvky: 409
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod dantasik » 12 years ago

To neni sousedni AS, ale nevim jak specifikovat pravidlo pro rozsahy z ASxx abych na nich nastavil local preference.
0 x
Daniel Tasáry

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 12 years ago

Cože? Od kdy "AS se proste rozhoduje podle delky cesty k Tve siti"? BGP je snad praktická ukázka pletichaření, politikaření, podrazů chtěných/nechtěných, blbosti adminů, ... (technicky vyjádřeno ukázka manipulace pomocí weight, local pref, ne/akceptování MED, comunit stringů, prependů, ...) a když teprve tohle všechno selže, tak se to laskavě pošle dál na základě AS PATH. :-)
Asi si na sobě vyzkoušel každý, kdo má BGP a peeruje s víc jak jedním dalším AS. :-(

Jinak:
/routing filter add chain=AS41824-bgp-in bgp-as-path=".*,29208$" set-bgp-local-pref=666 action=accept place-before=0

Pokud mám jen jeden BGP router a z něj ty dvě linky, tak vedle local pref jde použít i weight (ten platí jen v rámci jednoho BGP routeru): set-bgp-weight=6666.
A jinak, ty blokovací filtry, tak jak jsou uvedeny v tom výpisy, tak považuji za ne zcela vhodně napsané.
0 x

Dalibor Toman
Příspěvky: 1246
Registrován: 13 years ago

Příspěvekod Dalibor Toman » 12 years ago

Majklik píše:Cože? Od kdy "AS se proste rozhoduje podle delky cesty k Tve siti"? BGP je snad praktická ukázka pletichaření, politikaření, podrazů chtěných/nechtěných, blbosti adminů, ... (technicky vyjádřeno ukázka manipulace pomocí weight, local pref, ne/akceptování MED, comunit stringů, prependů, ...) a když teprve tohle všechno selže, tak se to laskavě pošle dál na základě AS PATH. :-)
Asi si na sobě vyzkoušel každý, kdo má BGP a peeruje s víc jak jedním dalším AS. :-(

hmm a kterypak asi z tech parametru podle kterych se rozhoduje cizi AS (ke kteremu ani nejsem primo pripojen) muzu ovlivnit ja ze sve site? Samozrejme pokud ma spravce toho AS nejaky vlastni nazor kudy to potece, tak to je jeho vec a ja s timn nic nenadelam.
0 x

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 12 years ago

Parametry, které se předávají do sousedních AS je ta cesta poprzněná prependy (případně vyfiltrovaná), MED, comunity. Samozřejmě je zcela na libovůli těch dalších AS, jak se k tomu postaví a ne/použijí to (pokud to nemám s přímými sousedy patřičně domluveno). Dál samozřejmě cestuje už jen cesta a comunity (které může každý po cestě dle svého uvážení doprznit).
Říkám tím, že nejsem schopen ovlivnit podle čeho se vzdálené AS rozdohují, kolikrát je nutno přesvědčovat sousedín AS, že když s ním přímo peeruji, že by fakt mohli posílat moje prefixy přímo mě a ne někomu třetímu. Jen mohu očekávat, že to snad dělají také na základě as path kde můžou moje prependy akceptovat nebo je vyfiltrovat a ignorovat().
0 x

dantasik
Příspěvky: 409
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod dantasik » 12 years ago

Majklik píše:Jinak:
/routing filter add chain=AS41824-bgp-in bgp-as-path=".*,29208$" set-bgp-local-pref=666 action=accept place-before=0

Pokud mám jen jeden BGP router a z něj ty dvě linky, tak vedle local pref jde použít i weight (ten platí jen v rámci jednoho BGP routeru): set-bgp-weight=6666.
A jinak, ty blokovací filtry, tak jak jsou uvedeny v tom výpisy, tak považuji za ne zcela vhodně napsané.


Toto bylo ono, je to sice pouze na odchod od nas pryc ale tim ze dialtelecom nejak nechce peerovat s ha-vel tak nam jde provoz dovnitř stejne linkou od IH a od nas sel přes havla > kaiglobal. Tak to dame aspoň stejnou cestou..
Jinak sem musel smazat ten $ u AS dialu u ros v5 to nebralo.
0 x
Daniel Tasáry

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 12 years ago

Au, bez toho dolaru to dělá něco úplně jiného. Musí tam být. Pamatuj - za ruble je v Moskvě k mání hodně, za dolary vše. :-)

Akorát se to musí při mlácení z command lajny eskejpovat, v klikátku ne. Takže vhodnější a korektnější zápis:
/routing filter add chain=AS41824-bgp-in bgp-as-path=",29208\$" set-bgp-local-pref=666 action=passthrough place-before=0

Zmizelo ".*", to znamená cokoliv a je tam zbytečné. Přehozeni accept na passthrough udělá, že případně routy z AS29208 jen označkuje a pustí dál do filtrační části, předtím natvrdo akceptoval, což nemuselo být OK.

Bez toho $ ti to označkuje tou local pref nejen routy, co do BGP se injektovali v AS29208, ale taký ty, které jen tím AS prošly, prřípadně routy prošlé/vzniklé v dalších AS, jejich označení začíná 29208 (OK, zatím jich moc kolizních nebude).

Potom si také oprav ty filtrační zápisy tak, aby efektivně něco filtrovaly a nebyly jen na okrasu. Chybí ti tam všude prefix-length. Když např vezmu:
dantasik píše: 2 chain=AS41824-bgp-in prefix=10.0.0.0/8 invert-match=no action=discard
set-bgp-prepend-path=""

Tak tohle ti dropne jen pokud ti přijde tou linkou přesně routa pro prefix 10.0.0.0/8, ale pokud ti někdo pošle třeba 10.10.0.0/16, tak se propustí. Stejně jako dalších cca 16 mega možností. To stejné platí pro další prefixy.
Takže by mělo by tam být:
prefix=10.0.0.0/8 prefix-length=8-32 action=discard
prefix=172.16.0.0/12 prefix-length=12-32 action=discard
prefix=192.168.0.0/16 prefix-length=16-32 action=discard
prefix=91.229.252.0/22 prefix-length=22-32 action=discard
atd.
0 x

dantasik
Příspěvky: 409
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod dantasik » 12 years ago

0 chain=AS41824-bgp-in bgp-as-path=,29208$ invert-match=no action=passthrough
set-bgp-local-pref=666 set-bgp-prepend-path=""

1 chain=AS41824-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

2 chain=AS41824-bgp-out invert-match=no action=discard set-bgp-prepend-path=">

3 chain=AS41824-bgp-in prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no
action=discard set-bgp-prepend-path=""

4 chain=AS41824-bgp-in prefix=169.254.0.0/16 prefix-length=16-32
invert-match=no action=discard set-bgp-prepend-path=""

5 chain=AS41824-bgp-in prefix=192.168.0.0/16 prefix-length=16-32
invert-match=no action=discard set-bgp-prepend-path=""

6 chain=AS41824-bgp-in prefix=172.16.0.0/12 prefix-length=12-32
invert-match=no action=discard set-bgp-prepend-path=""

7 chain=AS41824-bgp-in prefix=224.0.0.0/4 prefix-length=4-32 invert-match=no
action=discard set-bgp-prepend-path=""

8 chain=AS41824-bgp-in prefix=240.0.0.0/4 prefix-length=4-32 invert-match=no
action=discard set-bgp-prepend-path=""

9 chain=AS41824-bgp-in prefix=127.0.0.0/8 prefix-length=8-32 invert-match=no
action=discard set-bgp-prepend-path=""

10 chain=AS41824-bgp-in prefix=91.229.252.0/22 prefix-length=22-32
invert-match=no action=discard set-bgp-prepend-path=""

11 chain=AS41824-bgp-in invert-match=no action=accept set-bgp-prepend-path=""

12 chain=AS28755-bgp-out prefix=91.229.252.0/22 invert-match=no action=accept
set-bgp-prepend-path=""

13 chain=AS28755-bgp-out invert-match=no action=discard set-bgp-prepend-path=">

14 chain=AS28755-bgp-in prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no
action=discard set-bgp-prepend-path=""

15 chain=AS28755-bgp-in prefix=169.254.0.0/16 prefix-length=16-32
invert-match=no action=discard set-bgp-prepend-path=""

16 chain=AS28755-bgp-in prefix=192.168.0.0/16 prefix-length=16-32
invert-match=no action=discard set-bgp-prepend-path=""

17 chain=AS28755-bgp-in prefix=172.16.0.0/12 prefix-length=12-32
invert-match=no action=discard set-bgp-prepend-path=""

18 chain=AS28755-bgp-in prefix=224.0.0.0/4 prefix-length=4-32 invert-match=no
action=discard set-bgp-prepend-path=""

19 chain=AS28755-bgp-in prefix=240.0.0.0/4 prefix-length=4-32 invert-match=no
action=discard set-bgp-prepend-path=""

20 chain=AS28755-bgp-in prefix=127.0.0.0/8 prefix-length=8-32 invert-match=no
action=discard set-bgp-prepend-path=""

21 chain=AS28755-bgp-in prefix=91.229.252.0/22 prefix-length=22-32
invert-match=no action=discard set-bgp-prepend-path=""

22 chain=AS28755-bgp-in invert-match=no action=accept set-bgp-prepend-path=""

Tak doplneno diky za rady.
0 x
Daniel Tasáry