Polityki Routingu
Filtrowanie tras, redystrybucja i implementacja routingu opartego na politykach.
Wprowadzenie: Dlaczego Sieci Potrzebuj膮 Praw
Wyobra藕 sobie 艣wiat z drogami, ale bez praw ruchu, znak贸w stopu czy kontroli granicznej. Panowa艂by chaos. Kierowcy zawsze wybieraliby pozornie najkr贸tsz膮 drog臋, co prowadzi艂oby do ogromnych kork贸w na g艂贸wnych arteriach, podczas gdy inne pozosta艂yby puste. Niekt贸rzy kierowcy wje偶d偶aliby na tereny prywatne, a kontrolowanie, kto wje偶d偶a i opuszcza dany kraj, by艂oby niemo偶liwe.
Internet, globalna sie膰 niezale偶nych sieci znanych jako , stoi przed podobnym wyzwaniem. Protoko艂y takie jak OSPF doskonale radz膮 sobie ze znalezieniem matematycznie najkr贸tszej 艣cie偶ki wewn膮trz jednej sieci, ale internet to nie jest jedna sie膰. To zbi贸r konkuruj膮cych ze sob膮 firm, instytucji akademickich i agencji rz膮dowych, z kt贸rych ka偶da ma w艂asne interesy. Najkr贸tsza 艣cie偶ka mo偶e prowadzi膰 przez sie膰 konkurenta, co jest niepo偶膮dane, przez niezabezpieczon膮 艣cie偶k臋 lub przez po艂膮czenie, kt贸re generuje wysokie koszty.
Tu w艂a艣nie wkraczaj膮 Polityki Routingu. S膮 one prawami ruchu drogowego dla internetu. Polityka routingu to zestaw regu艂 skonfigurowanych przez administratora sieci, kt贸re daj膮 mu szczeg贸艂ow膮 kontrol臋 nad tym, jak jego router uczy si臋, og艂asza i wybiera trasy. Zamiast 艣lepo akceptowa膰 ka偶d膮 informacj臋 routingow膮, router z politykami mo偶e dzia艂a膰 jak wnikliwy stra偶nik graniczny, sprawdzaj膮c paszport ka偶dej trasy i decyduj膮c, czy j膮 wpu艣ci膰, dok膮d wys艂a膰 i jak膮 piecz膮tk臋 na niej postawi膰 przed przekazaniem dalej. Ta kontrola jest kamieniem w臋gielnym protoko艂u BGP i kluczem do utrzymania stabilnego, bezpiecznego i ekonomicznie op艂acalnego globalnego internetu.
Trzy Filary Polityki Routingu
Administrator sieci ma do dyspozycji trzy g艂贸wne narz臋dzia do implementacji polityk routingu. Mechanizmy te wsp贸艂pracuj膮, aby kszta艂towa膰 przep艂yw ruchu.
- Filtrowanie Tras:
Jest to najbardziej fundamentalne narz臋dzie polityki. Polega na tworzeniu list dozwolonych i zabronionych dla aktualizacji routingu. Podobnie jak zapora sieciowa (firewall) filtruje pakiety danych, filtry tras decyduj膮, kt贸re og艂oszenia routingowe s膮 akceptowane od s膮siad贸w, a kt贸re s膮 im og艂aszane. To kontroluje, jakie informacje w og贸le wchodz膮 do procesu decyzyjnego routera.
- Manipulacja Atrybutami:
Je艣li trasa zostanie zaakceptowana, administrator mo偶e nast臋pnie zmodyfikowa膰 jej w艂a艣ciwo艣ci, czyli atrybuty BGP. Zmieniaj膮c atrybuty takie jak LOCAL_PREF, MED czy AS_PATH, administrator mo偶e sprawi膰, 偶e trasa b臋dzie wydawa膰 si臋 bardziej lub mniej po偶膮dana dla jego w艂asnych router贸w (wp艂ywaj膮c na ruch wychodz膮cy) lub dla router贸w jego s膮siad贸w (wp艂ywaj膮c na ruch przychodz膮cy).
- Redystrybucja:
Jest to proces pobierania tras poznanych z jednego 藕r贸d艂a (np. z protoko艂u IGP takiego jak OSPF lub tras statycznych) i wstrzykiwania ich do innego protoko艂u routingu (np. BGP). Jest to brama mi臋dzy sieci膮 wewn臋trzn膮 a 艣wiatem zewn臋trznym. Polityki w tym miejscu s膮 kluczowe, aby kontrolowa膰, kt贸re dok艂adnie sieci wewn臋trzne s膮 og艂aszane do internetu.
Filtrowanie Tras: Sieciowy Selekcjoner
Filtrowanie tras to pierwsza linia obrony. Zanim router w og贸le rozwa偶y dan膮 tras臋, sprawdza j膮 w filtrze. Odbywa si臋 to w dw贸ch kierunkach:
Filtrowanie Przychodz膮ce (Inbound)
Jest stosowane do aktualizacji routingowych otrzymywanych od s膮siada. To jest kontrola graniczna sieci sprawdzaj膮ca paszporty przychodz膮ce. Administrator decyduje, kt贸re trasy ze 艣wiata zewn臋trznego s膮 na tyle godne zaufania, by wpu艣ci膰 je do swojej sieci.
Filtrowanie Wychodz膮ce (Outbound)
Jest stosowane do aktualizacji routingowych wysy艂anych do s膮siada. To sie膰 decyduj膮ca, kto mo偶e j膮 opu艣ci膰 i co mo偶e powiedzie膰. Administrator decyduje, kt贸re z jego wewn臋trznych tras powinny by膰 og艂oszone 艣wiatu zewn臋trznemu.
Dlaczego Filtrowanie Jest Kluczowe?
- Bezpiecze艅stwo: Najwa偶niejszy pow贸d. Bez filtrowania przychodz膮cego, 藕le skonfigurowany lub z艂o艣liwy s膮siad m贸g艂by og艂osi膰 tras臋 do du偶ej strony internetowej, przechwytuj膮c ruch. Filtrowanie zapobiega r贸wnie偶 og艂aszaniu wewn臋trznych, prywatnych adres贸w do globalnego internetu.
- Egzekwowanie Polityki: Firma mo偶e mie膰 umow臋 biznesow膮 na przenoszenie tylko ruchu przeznaczonego dla jej w艂asnych klient贸w. Filtry wychodz膮ce zapewniaj膮, 偶e nie stanie si臋 przypadkowo 艣cie偶k膮 tranzytow膮 dla swoich s膮siad贸w.
- Stabilno艣膰: Filtrowanie mo偶e zapobiec, aby niestabilne lub szybko zmieniaj膮ce si臋 trasy od s膮siada powodowa艂y ci膮g艂e przeliczenia w naszej w艂asnej sieci.
- Zarz膮dzanie Zasobami: Globalna tablica routingu BGP jest ogromna. Filtruj膮c niepotrzebne trasy, administratorzy mog膮 zmniejszy膰 obci膮偶enie pami臋ci i procesora na swoich routerach.
Manipulacja Atrybutami: Sztuka Perswazji
Gdy trasa przejdzie przez filtr, wchodzi do procesu decyzyjnego BGP. Tutaj administratorzy mog膮 manipulowa膰 atrybutami BGP trasy, aby wp艂yn膮膰 na to, kt贸ra 艣cie偶ka zostanie wybrana jako najlepsza. W ten spos贸b realizuje si臋 in偶ynieri臋 ruchu w BGP.
Kontrolowanie Ruchu Wychodz膮cego za pomoc膮 LOCAL_PREF
AS z wieloma po艂膮czeniami z internetem potrzebuje sposobu na zdecydowanie, z kt贸rego po艂膮czenia powinni korzysta膰 jego u偶ytkownicy do wysy艂ania ruchu wychodz膮cego. G艂贸wnym narz臋dziem do tego jest atrybut LOCAL_PREFERENCE.
Zasada jest prosta: trasa z wy偶szym LOCAL_PREF jest zawsze preferowana. Ten atrybut jest wymieniany tylko mi臋dzy routerami iBGP wewn膮trz tego samego AS, wi臋c jest to narz臋dzie wy艂膮cznie do podejmowania decyzji wewn臋trznych.
Przyk艂ad: Wyb贸r G艂贸wnego Dostawcy Internetu
Twoja firma (AS 65001) ma szybkie, drogie 艂膮cze 艣wiat艂owodowe do ISP-A (AS 65002) oraz wolniejsze, ta艅sze 艂膮cze zapasowe do ISP-B (AS 65003). Chcesz, aby ca艂y ruch wychodz膮cy domy艣lnie korzysta艂 z ISP-A.
- Na routerze brzegowym po艂膮czonym z ISP-A stosujesz polityk臋 przychodz膮c膮, kt贸ra ustawia `LOCAL_PREF` dla wszystkich poznanych od niego tras na `200`.
- Trasy poznane od ISP-B pozostaj膮 z domy艣lnym `LOCAL_PREF` wynosz膮cym `100`.
- Gdy te trasy s膮 og艂aszane przez iBGP do innych router贸w w Twoim AS, wszystkie wewn臋trzne routery zobacz膮, 偶e trasy przez ISP-A maj膮 wy偶sz膮 preferencj臋 i b臋d膮 je wy艂膮cznie wybiera膰 do wysy艂ania ruchu wychodz膮cego.
- Je艣li po艂膮czenie z ISP-A ulegnie awarii, jego trasy znikn膮, a routery automatycznie zaczn膮 u偶ywa膰 tras przez ISP-B.
Wp艂ywanie na Ruch Przychodz膮cy za pomoc膮 MED i AS_PATH Prepending
Kontrolowanie, jak inni wysy艂aj膮 do Ciebie ruch, jest znacznie trudniejsze, poniewa偶 ostateczn膮 decyzj臋 podejmuj膮 ich routery. Mo偶esz jednak wysy艂a膰 im wskaz贸wki lub sugestie za pomoc膮 okre艣lonych atrybut贸w.
- Multi-Exit Discriminator (MED): MED to atrybut, kt贸ry wysy艂asz do pojedynczego s膮siedniego AS, aby wskaza膰 preferowany przez Ciebie punkt wej艣cia. Zasada jest taka, 偶e ni偶sza warto艣膰 MED jest preferowana. W naszym przyk艂adzie m贸g艂by艣 wysy艂a膰 trasy z `MED 100` do ISP-A przez 艂膮cze g艂贸wne i `MED 200` przez 艂膮cze zapasowe. Je艣li polityka ISP-A zak艂ada honorowanie MED, b臋d膮 oni preferowa膰 wysy艂anie ruchu do Ciebie przez 艂膮cze g艂贸wne.
- AS_PATH Prepending: Jest to szerzej stosowana i bardziej niezawodna metoda. Poniewa偶 BGP preferuje kr贸tsze AS_PATH, mo偶esz celowo sprawi膰, 偶e 艣cie偶ka b臋dzie wygl膮da膰 na d艂u偶sz膮 i mniej atrakcyjn膮, sztucznie dodaj膮c wielokrotnie sw贸j w艂asny numer ASN. Aby uczyni膰 艂膮cze zapasowe mniej atrakcyjnym dla ca艂ego internetu, m贸g艂by艣 og艂asza膰 swoje trasy do ISP-B z przed艂u偶on膮 艣cie偶k膮, tak膮 jak `(65001, 65001, 65001)`. Routery na ca艂ym 艣wiecie zobacz膮 t臋 d艂ug膮 艣cie偶k臋 i naturalnie b臋d膮 preferowa膰 kr贸tsz膮 艣cie偶k臋 przez ISP-A.
Redystrybucja: Brama Mi臋dzy 艢wiatami
to pot臋偶ny, ale niebezpieczny mechanizm. To proces, kt贸ry pozwala routerowi BGP og艂asza膰 sieci wewn臋trzne: te poznane przez IGP jak OSPF lub trasy statyczne, swoim zewn臋trznym partnerom BGP.
Proces Konieczny, ale Wymagaj膮cy Ostro偶no艣ci
Dzi臋ki temu procesowi serwer WWW Twojej firmy, kt贸ry ma wewn臋trzny adres IP, staje si臋 osi膮galny z globalnego internetu. Router brzegowy uczy si臋 o sieci serwera z wewn臋trznego OSPF, a polityka redystrybucji m贸wi BGP, 偶e mo偶na t臋 sie膰 og艂osi膰 艣wiatu.
Jednak偶e redystrybucj膮 nale偶y zarz膮dza膰 z najwy偶sz膮 ostro偶no艣ci膮. Bez odpowiedniego filtrowania, router m贸g艂by przypadkowo og艂osi膰 do internetu ca艂y Tw贸j prywatny, wewn臋trzny schemat adresacji, powoduj膮c powa偶ne luki w bezpiecze艅stwie i niestabilno艣膰 routingu. Podstawowa zasada bezpiecznego routingu brzmi: domy艣lnie filtruj wszystko i zezwalaj na redystrybucj臋 tylko tych prefiks贸w, kt贸re zamierzasz upubliczni膰.
Mapy Tras (Route Maps): Ostateczne Narz臋dzie Polityki
Na wi臋kszo艣ci platform routingowych, takich jak Cisco IOS, narz臋dziem, kt贸re 艂膮czy wszystkie te mechanizmy, jest mapa tras (ang. route map). Mapa tras to zaawansowane narz臋dzie skryptowe, kt贸re pozwala administratorowi na tworzenie z艂o偶onych, warunkowych polityk.
Mapa tras to zasadniczo instrukcja warunkowa "Je艣li-To" dla tras. Sk艂ada si臋 z serii ponumerowanych wpis贸w. Gdy trasa jest przetwarzana przez map臋 tras, router sprawdza ka偶dy wpis w kolejno艣ci:
- Klauzula Dopasowania (MATCH - "Je艣li"): Router najpierw sprawdza, czy trasa spe艂nia okre艣lone kryteria. Cz臋sto robi si臋 to za pomoc膮 do identyfikacji okre艣lonych sieci.
- Klauzula Ustawienia (SET - "To"): Je艣li nast膮pi dopasowanie, router stosuje seri臋 dzia艂a艅. Dzia艂ania te to zazwyczaj om贸wione przez nas manipulacje atrybutami, takie jak ustawienie LOCAL_PREF, MED lub przed艂u偶enie AS_PATH.
- Zezwolenie/Odmowa (Permit/Deny): Na koniec ka偶dy wpis ko艅czy si臋 albo zezwoleniem (pozw贸l trasie przej艣膰), albo odmow膮 (odfiltruj tras臋). Je艣li trasa pasuje do wpisu, przetwarzanie si臋 zatrzymuje. Je艣li nie pasuje, router przechodzi do nast臋pnego wpisu w mapie. Na ko艅cu ka偶dej mapy tras znajduje si臋 ukryta zasada "odm贸w wszystkiemu".
Pseudokod Polityki Opartej na Mapie Tras
MAPA-TRAS "ISP-A-PRZYCHODZACE" ZEZWOL 10
DOPASUJ adres ip lista-prefiksow "TRASY-KLIENTOW"
USTAW local-preference 150
MAPA-TRAS "ISP-A-PRZYCHODZACE" ZEZWOL 20
DOPASUJ adres ip lista-prefiksow "TRASY-PARTNEROW"
USTAW local-preference 100
MAPA-TRAS "ISP-A-PRZYCHODZACE" ODMOW 30
DOPASUJ adres ip lista-prefiksow "SIECI-BOGON"Ten przyk艂ad polityki ustawia wysok膮 preferencj臋 dla tras poznanych od zaufanych klient贸w, normaln膮 dla tras od partner贸w i jawnie odrzuca znane fa艂szywe sieci. Mapy tras s膮 stosowane do s膮siad贸w BGP w kierunku przychodz膮cym lub wychodz膮cym w celu egzekwowania tych polityk.