abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:22 | Komunita

    Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout

    … více »
    bkralik | Komentářů: 3
    5.4. 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    5.4. 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 7
    5.4. 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 16
    5.4. 04:11 | Zajímavý software

    Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.

    Ladislav Hagara | Komentářů: 1
    4.4. 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).

    Ladislav Hagara | Komentářů: 21
    3.4. 16:44 | Nová verze

    ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.4. 12:33 | Nová verze

    DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.

    NUKE GAZA! 🎆 | Komentářů: 13
    3.4. 03:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (23%)
    Celkem 1231 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    BGP – dynamické routování – 3 (pokročilá konfigurace)

    20. 5. 2009 | Dušan Hokův | Sítě | 8141×

    Nyní nastal čas nahodit druhý peer a vylepšit konfiguraci routeru. Je také třeba provést další administrativu na RIPE.

    Delegace reverzních DNS

    Protože již běží první peer a vaše nové IP adresy jsou již dostupné ze světa, je třeba vydelegovat reverzní DNS zóny vašeho adresního rozsahu. Jakmile budete mít připraveny reverzní zóny v konfiguraci vašich nameserverů, je třeba zajistit přes RIPE vydelegování do světa. K tomuto účelu je vhodné použít web delegation checker.

    Záznam v RIPE databázi pro reverzní zónu 232.112.62.in-addr.arpa (256 adres) může vypadat nějak takto:

    domain:          232.112.62.in-addr.arpa
    descr:           MY Network
    admin-c:         IP5941-RIPE
    tech-c:          IP5941-RIPE
    zone-c:          IP5941-RIPE
    mnt-by:          MY-CZ-MNT
    changed:         mujmail@mojedomena.cz
    source:          RIPE
    nserver:         ns2.mojesit.net
    nserver:         ns1.mojesit.net
    

    Navázání dalšího peeru

    Abyste mohli splnit svůj cíl nezávislosti na jednom poskytovateli, je třeba navázat další peer po samostatné lince a odděleném rozhraní k dalšímu poskytovateli. Od něj rovněž dostanete tranzitní síť (/30) a dohodnete se na peeringu. Je dobré si promyslet, jak budete chtít dva uplinky využívat, což samozřejmě závisí i na velikosti poskytované konektivity od obou poskytovatelů. Můžete například nakonfigurovat, že veškerý traffic poteče přes prvního providera, druhý bude sloužit jen jako záloha a v normálním stavu zde poteče jen vzájemný provoz mezi oběma autonomními systémy, případně i autonomní systémy, které mají kratší as-path přes tento autonomní systém nebo jsou přímo a jen za ním. Můžete (musíte) rovněž rozvažovat traffic rovnoměrně mezi oběma peery, abyste například na jedné straně nepřetěžovali jednu linku a druhou nenechali ladem. BGP protokol umožňuje řídit, kudy poteče traffic jak příchozí, tak odchozí. Pro tyto účely existuje několik bgp atributů a metod.

    Pro nakonfigurování druhého peeru nejprve připravíme route-mapy a filtry přímo z konzole Quaggy, protože nám již jeden peer běží a nechceme způsobit žádný výpadek. Nakonec nakonfigurujeme druhý peer a aplikujeme na něj vytvořená pravidla.

    my-bgp# configure terminal 
    my-bgp(config)# route-map prov2-out permit 10
    my-bgp(config-route-map)# match as-path  my-as
    my-bgp(config-route-map)# set as-path prepend 57131 57131 57131
    my-bgp(config-route-map)#      
    

    Tím připravíme route mapu pro odchozí směr k druhému providerovi a nastavíme prepend, čímž uměle prodloužíme cestu vlastního AS přes tohoto providera. Výsledkem bude, že as-path přes prvního providera bude ve většině případů kratší a tím tedy příchozí traffic do vašeho AS půjde primárně přes prvního providera. Prepend tedy ovládá příchozí směr do vašeho AS.

    K ovládání odchozího trafficu slouží například atribut local-preference.

    route-map prov-in permit 10
     set metric 0
     set local-preference 90
    
    route-map prov2-in permit 10
     set metric 0
     set local-preference 80
    

    Vyšší hodnota tohoto bgp atributu znamená vyšší preferenci a tedy upřednostněný směr. Výchozí hodnota pro tento atribut je rovna 100.

    Nyní je je potřeba nadefinovat novou peer-group pro druhého providera a přiřadit vytvořené route-mapy a filtry.

    my-bgp# configure terminal 
    my-bgp(config)# router bgp 57131
    my-bgp(config-router)# neighbor PROVIDER2 peer-group
    my-bgp(config-router)# neighbor PROVIDER2 description Provider2
    my-bgp(config-router)# neighbor PROVIDER2 route-map prov2-in in
    my-bgp(config-router)# neighbor PROVIDER2 route-map prov2-out out
    my-bgp(config-router)# neighbor PROVIDER2 filter-list my-as out
    my-bgp(config-router)# neighbor PROVIDER2 soft-reconfiguration inbound
    my-bgp(config-router)# neighbor 77.124.15.2 remote-as 29113
    my-bgp(config-router)# neighbor 77.124.15.2 peer-group PROVIDER2
    

    Po změnách v route mapách je potřeba resetovat peer(y).

    clear ip bgp 177.104.215.242 soft

    To soft na konci je důležité; pokud by tam nebylo, jednalo by se o tvrdý reset BGP session a za každý tento reset dostává náš router penalty a pokud je to velmi často, router na druhé straně s vaším na nějakou dobu může přestat úplně komunikovat. Router dále dostává penalty i za flapování rout. Tomu, jak se má router zachovat, se říká BGP Dampening. Quagga zatím umí pouze bgp dampening <penalty>.

    Další možností pro řízení příchozího trafficu je atribut MED (Multi-Exit Discriminator). MED je jeden z mála parametrů přenášejících se mezi ebgp peery a umožňujících řídit routovací politiku mezi sousedními AS (kromě "oblíbeného" prodlužování as-path; sousedních proto, že jde o netranzitivní atribut). Nastavuje se v route-map pomocí set metric. Menší vítězí; v případě, že není nastaveno, bere se metric = 0 (a je konfigurovatelné, zda je to v takovém případě nejlepší, či nejhorší metrika). Match pravidly v route-map určíte, pro co konkrétně (pokud není match, aplikuje se route-mapa na všechny prefixy; matchovat je možné různé parametry jako as-path, prefix). Route-map se aplikuje na peer, případně na peer-group (pro MED typicky na out).

    route-map zzz permit 10
     match as-path neco
     set metric 200
    

    BGP atributy

    • 1 - ORIGIN - známý povinný
    • 2 - AS_PATH - známý povinný
    • 3 - NEXT_HOP - známý povinný
    • 4 - MULTI_EXIT_DISC - volitelný netranzitivní
    • 5 - LOCAL_PREF - známý volitelný
    • 6 - ATOMIC_AGGREGATE - známý volitelný
    • 7 - AGGREGATOR - známý volitelný
    • 8 - COMMUNITY - volitelný tranzitivní (Cisco)
    • 9 - ORIGINATOR_ID - volitelný netranzitivní (Cisco)
    • 10 - Cluster List - volitelný netranzitivní (Cisco)
    • ...
    • 255 - Rezervováno

    Využívají se i další atributy, například ve vztahu k 32bitovým číslům AS. Úplný výčet se nachází na iana.org.

    Pořadí, váha atributů

    Je-li více cest ven z vašeho AS, do routovací tabulky se umístí ta nejvhodnější. O výběru rozhodují následující atributy v uvedeném pořadí (rozhoduje se podle prvního atributu, podle kterého se dá jednoznačně rozhodnout, jinak se zkouší následující):

    1. vyšší hodnota atributu WEIGHT - parametr lokální pro router, kde je nakonfigurováno
    2. vyšší hodnota atributu LOCAL_PREFERENCE - parametr přenášený mezi peery v rámci téhož AS
    3. preference cesty generovaná routerem samotným (a pocházející z jeho AS) - získaná např. redistribucí z IGP nebo z network/aggregate deklarací
    4. menší délka AS_PATH (menší počet čísel AS v hodnotě AS_PATH)
    5. preferovanější hodnota atributu ORIGIN (nejpreferovanější IGP, následuje EGP a INCOMPLETE)
    6. nižší hodnota atributu MED
      • porovnává se pouze u cest z téhož sousedního AS
      • pomocí bgp always-compare-med v sekci router bgp docílíme porovnávání i v případech, kdy máme stejné cesty z různých sousedních AS
    7. cesty získané z EBGP preferovány před cestami z IBGP
    8. next_hop dostupný přes kratší cestu vnitřkem AS (např. nižší metrika v OSPF)
    9. preferována cesta, která se naučila dříve (starší)
    10. preferována cesta z routeru s nižším ROUTER_ID
    11. preferována cesta přijatá z peeru s nejnižší IP

    Regulární výrazy pro as-path filtry

    Občas potřebujeme vědět, kudy se můžeme dostat do určitého AS, nebo které routy jsou z daného AS. Abyste nemuseli procházet celý výpis show ip bgp, je vhodné použít regulární výrazy. Tyto regulární výrazy se navíc hodí při vytváření filtrů. Můžete použít všechny regulární výrazy dle POSIX, napíši zde alespoň základní:

    • . jeden znak
    • * žádný nebo více výskytů vzorku
    • + jeden nebo více výskytů vzorku
    • ? žádný nebo jeden výskyt vzorku
    • ^ začátek řádky
    • $ konec řádky
    • _ speciální znak pro as-path - vzorku vyhovuje mezera, čárka, oddělovač as-setu, oddělovač konfederací a také odpovídá začátku i konci řádky

    Chcete-li tedy zobrazit např. routy pocházející z AS 7520, použijte:

    show ip bgp regexp _7520$

    Filtry

    Při EBGP peeru je dobré mít u sousedů zakázanou propagaci privátních AS (64512-65535). Toho dosáhnete pomocí řádku:

    neighbor POSKYTOVATEL remove-private-AS

    Dalším dobrým nápadem je zákaz exportu/importu privátních prefixů, default routy a multicastů. Toho dosáhnete např. pomocí následující sady filtrů:

     ip prefix-list transit-in seq 5 deny 0.0.0.0/0
     ip prefix-list transit-in seq 10 deny 10.0.0.0/8 le 32
     ip prefix-list transit-in seq 15 deny 127.0.0.0/8 le 32
     ip prefix-list transit-in seq 20 deny 169.254.0.0/16 le 32
     ip prefix-list transit-in seq 25 deny 172.16.0.0/12 le 32
     ip prefix-list transit-in seq 30 deny 192.168.0.0/16 le 32
     ip prefix-list transit-in seq 35 deny 224.0.0.0/3 le 32
     ip prefix-list transit-in seq 99 permit 0.0.0.0/0 le 24
    

    a nezapomeňte aplikovat na neighbora (případně na peer-group).

    Nedávné problémy s příliš dlouhým as-path

    Omezení délky AS path na 30 ASNs:

     ip as-path access-list maxas-path deny ( [0-9]+){30}$
     ip as-path access-list maxas-path permit .*
    

    Aplikujeme na příchozí prefixy:

     neighbor POSKYTOVATEL filter-list maxas-path in
    

    Příště

    Komunity, IBGP, NIX a IPv6.

           

    Hodnocení: 82 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.