Podmíněná propagace cest do protokolu BGP Vicher M., Vojáček L. Abstrakt: Tento dokument popisuje ověření technologie podmíněné propagarace cest do BGP protokolu. Klíčová slova: bgp injection-map, BGP
Obsah: 1.
ÚVOD ................................................................................................................................................................. 1
2.
ZAPOJENÍ............................................................................................................................................................ 1 2.1. 2.2. 2.3. 2.4.
POUŽITÁ TOPOLOGIE ............................................................................................................................................... 1 ZÁKLADNÍ KONFIGURACE .......................................................................................................................................... 2 KONFIGURACE PODMÍNĚNÉ PROPAGACE CEST ............................................................................................................... 3 OVĚŘENÍ SPRÁVNÉ KONFIGURACE .............................................................................................................................. 4
3.
ZÁVĚR ................................................................................................................................................................. 5
4.
POUŽITÁ LITERATURA ......................................................................................................................................... 5
1
1. Úvod Podmíněná propagace cest je jednou z významných novinek uvedených v IOS 12.0. Pomocí podmíněné propagace cest můžeme vkládat na základě existence jiné cesty specifické cesty BGP tabulky. Většina cest v aktuálních internetových BGP tabulkách se skládá z agregovaných cest. To je použito k minimalizaci velikosti tabulek a počtu cest v globálních BGP směrovacích tabulkách. Agregace cest může někdy zatemnit specifičtější a preciznější směrovací informace. Podmíněná propagace cest nám umožní řídit a neseskupovat tyto cesty. Umožňuje nám vytvořit specifický prefix, založený na existující agregované cestě, v BGP směrovací tabulce.
2. Zapojení 2.1. Použitá topologie
R1:
Fa0/0 - 10.0.4.1/24 L0 – 10.0.1.129/25 L1 – 10.0.1.1/25
R2:
Fa0/0 – 10.0.5.1/24 Fa0/1 – 10.0.4.2/24 L0 – 10.0.2.1/24
R3:
Fa0/0 – 10.0.5.2/24 L0 – 10.0.3.1/24
Na začátku si propojíme tři routery mezi sebou Fast Ethernetem, jak je možno vidět na výše uvedeném obrázku. Poté připojíme k routerům jejich sítě. Dalším krokem je nastavení jednotlivých připojených rozhraní a to podle výše uvedených IP adres. Po úspěšném nastavení rozhraní je nutné nastavit BGP protokol na jednotlivých routerech. Tím je myšleno např. nastavení sousedů, kteří spolu komunikují nebo sítě které se budou propagovat. Router R1 jsme si vybrali, že bude propagovat sumarizovanou routu 10.0.1.0, se kterou dále budeme pracovat na routeru R2. Pro lepší přehlednost routery R2 a R3 nebudou propagovat svoje připojené sítě. Celková konfigurace jednotlivých routerů je zobrazena v další kapitole. 1
2.2. Základní konfigurace R1: hostname R1 interface Loopback0 ip address 10.0.1.1 255.255.255.128 interface Loopback1 ip address 10.0.1.129 255.255.255.128 interface FastEthernet0/0 ip address 10.0.4.1 255.255.255.0 router bgp 1 no synchronization bgp log-neighbor-changes network 10.0.1.0 mask 255.255.255.128 network 10.0.1.128 mask 255.255.255.128 aggregate-address 10.0.1.0 255.255.255.0 summary-only neighbor 10.0.4.2 remote-as 2 no auto-summary
R2: hostname R2 interface Loopback0 ip address 10.0.2.1 255.255.255.0 interface FastEthernet0/1 ip address 10.0.4.2 255.255.255.0 duplex auto speed auto interface FastEthernet0/0 ip address 10.0.5.1 255.255.255.0 duplex auto speed auto router bgp 2 no synchronization bgp log-neighbor-changes neighbor 10.0.4.1 remote-as 1 neighbor 10.0.5.2 remote-as 3 no auto-summary
R3: hostname R3 interface Loopback0 ip address 10.0.3.1 255.255.255.0 interface FastEthernet0/0 ip address 10.0.5.2 255.255.255.0 duplex auto speed auto router bgp 3 no synchronization bgp log-neighbor-changes neighbor 10.0.5.1 remote-as 2 no auto-summary
2
Po této konfiguraci budeme propagovat, v rámci BGP protokolu, přímo připojené sítě k routeru R1, 10.0.1.0/25 a 10.0.1.128/25, jako jedinou síť s adresou 10.0.1.0/24. R2 a R3 nebudou schopny vidět konkrétní cesty, ale pouze agregovanou cestu. Pro ověření výpisy „sh ip bgp“ jednotlivých routerů: R1: sh ip bgp BGP table version is 6, local router ID is 10.0.1.129 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path s> 10.0.1.0/25 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 32768 i s> 10.0.1.128/25 0.0.0.0 0 32768 i
R2: sh ip bgp BGP table version is 2, local router ID is 10.0.2.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.1.0/24 10.0.4.1 0 0 1 i
R3: sh ip bgp BGP table version is 4, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.1.0/24 10.0.5.1 0 2 1 i
2.3. Konfigurace podmíněné propagace cest Použijeme příkaz „bgp injection-map“ k propagaci cest, které byli původně propagovány pod jedinou agregovanou adresou. Nakonfigurujeme router R2, tak že existuje-li agregovaná cesta 10.0.1.0/24 v jeho BGP tabulce, tak přidá do své BGP tabulky tyto neagregované cesty. R2 bude testovat, jestli přijímá agregovanou adresu z R1, předtím než bude propagovat specifičtější cesty. R2: ip prefix-list ROUTE seq 5 permit 10.0.1.0/24 ip prefix-list ROUTE_SOURCE seq 5 permit 10.0.4.1/32 route-map LEARNED_ROUTE permit 10 match ip address prefix-list ROUTE match ip route-source prefix-list ROUTE_SOURCE
3
Nejprve musíme definovat cestu, kterou chceme porovnávat, použitím prefix-listu ROUTE a zdroj (adresu zdrojového směrovače) tohoto prefixu, použitím jiného prefix-listu ROUTE_SOURCE. Cesta, v prefix-listu ROUTE, musí přesně odpovídat prefixu, hledanému v BGP tabulce. Adresa zdrojového směrovače, v prefix-listu ROUTE_SOURCE musí být s maskou /32. Oba prefix-listy použijeme v route-map LEARNED_ROUTE. Route-map porovnává obojí, cestu a odkud byla naučena. R2: ip prefix-list UNAGGREGATED_ROUTES seq 5 permit 10.0.1.0/25 ip prefix-list UNAGGREGATED_ROUTES seq 10 permit 10.0.1.128/25 route-map ORIGINATE permit 10 set ip address prefix-list UNAGGREGATED_ROUTES
Vytvořili jsme prefix-list nazvaný UNAGGREGATED_ROUTES, který definuje konkrétní cesty, jež chceme propagovat. Můžeme propagovat každou cestu, která je podsítí agregované adresy. Oba prefix-listy použijeme v route-map ORIGINATE. To nám nastaví ip prefixy, které chceme propagovat. R2: router bgp 2 bgp inject-map ORIGINATE exist-map LEARNED_ROUTE
Nakonec použijeme příkaz „bgp inject-map“. Tento příkaz má dva parametry. Prvním je route-map obsahující prefixy které chceme propagovat. Druhým je route-map obsahující podmínku která musí být splněna předtím, než budeme propagovat prefixy definované v první route-map.
2.4. Ověření správné konfigurace Nejprve je třeba zkontrolovat, zda jsou neagregované cesty v bgp tabulce routeru R2. R2#sh ip bgp BGP table version is 4, local router ID is 10.0.2.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.1.0/25 10.0.4.1 0 ? *> 10.0.1.0/24 10.0.4.1 0 0 1 i *> 10.0.1.128/25 10.0.4.1 0 ?
Příkazem „show ip bgp injection-path“ zjistíme jaké bgp cesty byly vloženy R2#sh ip bgp injected-paths BGP table version is 4, local router ID is 10.0.2.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.1.0/25 10.0.4.1 0 ? *> 10.0.1.128/25 10.0.4.1 0 ?
4
Nakonec zkontrolujeme, zda se tyto cesty naučil i router R3. R3#sh ip bgp BGP table version is 4, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.1.0/25 10.0.5.1 0 2 ? *> 10.0.1.0/24 10.0.5.1 0 2 1 i *> 10.0.1.128/25 10.0.5.1 0 2 ?
3. Závěr Jak je vidět ve výpisu bgp tabulky na routru R3, tak se cesty, které jsme uměle přidali na router R2 úspěšně napropagovali na router R3. Z tohoto můžeme usoudit, že tato technika úspěšně funguje a její použití je jednoduché a účinné.
4. Použitá literatura 1. PACKEER, Arden. Tutorial: BGP Conditional Route Injection with inject-map [online]. Poslední aktualizace 2.8.2008[cit. 19. 4. 2008]. Dostupné z URL:
5