Wszystko o BGP w sieciach ISP

Własny router BGP, adresy IP i dostęp do węzłów wymiany ruchu. Czyli jak zostać pełno(s)prawnym operatorem ISP 🙂

Transmisje do węzłów wymiany ruchu są coraz tańsze. Za kilkaset złotych można mieć już 1Gb. W punkcie wymiany ruchu dostęp do globalnego i polskiego Internetu można nabyć w bardzo atrakcyjnych cenach. Do tego prawie połowę swojego ruchu można mieć w cenie portu, korzystając z open peeringu w IXP. To wszystko jednak wymaga uruchomienia własnego routera BGP. Z czym to się wiąże i ile kosztuje? To wszystko postaram się wyjaśnić w tym wpisie. Cały przebieg zostanie opisany na przykładzie usług węzła wymiany ruchu EPIX, ponieważ jest mi najbliższy 🙂 Będzie wiele odwołań do strony epix.net.pl. Jeżeli chcecie mieć dostęp do cennika, to koniecznie się zarejestrujcie.

Zacznijmy od listy potrzebnych elementów:

  • Adresy IP
  • ASN
  • Transmisja
  • Usługi
  • Router BGP
  • DNS
  • Antyddos

Adresy IP

Zaczynam od adresów, bo to najistotniejszy element całej zabawy. Większość pewnie wie, ale przypomnę, że od września 2012 roku RIPE nie przyznaje już adresów IPv4 PI (Provider Independent). Komu udało się do tego czasu zdobyć adresy, ten powinien być z siebie dumny, bo to obecnie bardzo cenna rzecz. Dla tych którzy nie mają adresów, sytuacja na szczęście nie jest beznadziejna. Na chwilę obecną znam 3 sposoby na posiadanie adresów IPv4:

  • zakup adresacji od innego posiadacza – jest taka możliwość, dokonuje się wtedy transferu sporządzając odpowiednią umowę. Wzór jest dostępny na stronie RIPE. Procedurę wykonuje w całości Sponsor LIR, którego musicie sobie wcześniej znaleźć. Sponsor LIR będzie Wam też potrzebny do uzyskania ASN, ale o tym niżej.
  • rejestracja w RIPE jako LIR  i wnioskowanie o /22 PA (Provider Aggregatable). Nie wiadomo jeszcze jak długo to potrwa, ale obecnie będąc LIRem można wnioskować o /22 PA, które dostaje się w zasadzie od ręki. Istotne jednak są tutaj koszta. Rejestracja to 2000 euro, natomiast roczna opłata członkowska to 1400 euro. AKTUALIZACJA: obecnie (2021) można wnioskować już tylko o /24, a czas oczekiwania wynosi od kilku do kilkunastu miesięcy. Wciąż jest to jednak najbardziej opłacalna metoda pozyskania własnych IP. 
  • ostatnia znana mi metoda to coraz popularniejsza dzierżawa adresów IP. Jest kilka firm które oferują taką usługę. Za określoną opłatę miesięczną dzierżawią adresację IPv4, którą można rozgłosić pod swoim ASN. Zaletą tego rozwiązania jest brak wysokich kosztów do poniesienia na starcie w stosunku do dwóch poprzednich punktów. Wadą jest to, że te adresy wciąż nie są nasze. Uważam, że ta opcja jest dobra tylko by zacząć uruchamianie BGP w oczekiwaniu na własne adresy z RIPE.

Poniżej znane mi firmy świadczące usługę dzierżawy adresów IP:

http://www.ipaddress.pl
http://www.ip4isp.pl
http://lipowski.org

ASN

Aby rozgłosić naszą adresację IPv4 do Internetu potrzebujemy numer ASN. Uzyskamy go w RIPE na dwa sposoby:

  • poprzez Sponsor LIRa który zawnioskuje dla nas o ASN. Istotne jest jednak to, że chcąc wnioskować o ASN należy posiadać adresację IP która będzie pod tym ASN rozgłaszana. Jeżeli kupiliśmy już adresy IPv4, to nie ma problemu (z wyjątkiem dzierżawy, bo to nie jest zakup adresów na własność). Jeżeli nie posiadamy żadnych adresów, rozwiązaniem na ten moment jest wnioskowanie o adresację IPv6 PI, ewentualnie PA z puli Waszego Sponsor LIRa. Warto jednak zaznaczyć, że zgodnie z polityką RIPE, adresów IPv6 PI nie można używać do świadczenia usług ISP.
  • jeżeli zdecydowaliśmy się na rejestrację jako LIR i otrzymaliśmy /22 PA, to możemy samodzielnie zawnioskować o ASN dla siebie.

Kolejny raz pojawia się pojecie Sponsor LIR. Kto to taki? Jest to najczęściej firma która jest zarejestrowanym członkiem RIPE i posiada status LIR. LIR to pośrednik między RIPE, a użytkownikiem/operatorem (End User). Zasoby IPv4/IPv6 czy ASN muszą mieć Sponsor LIRa. Tak więc jeżeli nie zdecydujecie się na samodzielną rejestrację jako LIR, to musicie sobie takiego Sponsor LIRa poszukać, który będzie utrzymywał Wasze zasoby. Oczywiście utrzymanie zasobów wiąże się z kosztami. Z reguły jest to od 100 Euro rocznie od każdego zasobu przyznanego w jednym dniu. Jako, że to mój blog i mogę reklamować kogo chcę, to wspomnę, że ART-COM świadczy takie usługi 🙂 Jeżeli szukacie Sponsor LIRa z najlepszymi cenami na rynku, to koniecznie napiszcie na lir@artcom.pl.

Transmisja

Jeżeli przebrnęliśmy już przez pozyskanie ASN i IP, to możemy zająć się techniką. Na początek potrzebujemy dostać się do węzła wymiany ruchu w którym zakupimy usługi. Potrzebujemy do tego transmisji (no chyba, że możemy sobie pozwolić na własny kabel/włókno, to gratuluję – sporo zaoszczędzicie). Nie jestem specjalistą w tej dziedzinie więc nie będę się rozpisywał. Pomoc kim, jak i za ile dojść do węzła, możecie uzyskać w EPIX. Więcej informacji na stronie epix.net.pl.

Będąc przy transmisji muszę wspomnieć o ważnym elemencie jakim jest przełącznik. W Waszej sieci, między routerem, a węzłem wymianu ruchu powinien stać switch. Nie terminujemy łącza bezpośrednio do routerów. Komplikuje i ogranicza nam to możliwości jakie daje węzeł wymiany ruchu. Mając switcha możemy odebrać wiele usług na vlanach, których nie musimy terminować na routerach (np IPTV). Switch to także lepsza diagnostyka i bezpieczeństwo. Możemy zabezpieczyć się przed ewentualnym floodem, pętlą czy za pomocą mirror portu analizować ruch na potrzeby systemu antyddos. Dobór przełącznika uzależniony jest od wielkości naszej sieci i portów jakie potrzebujemy.  Nie oszczędzamy na switchach. Nie bójmy się jednak używanych przełączników. Już za kilkaset złotych można kupić używany, markowy przełącznik, który na potrzeby małego ISP będzie wystarczający do uruchomienia usług.

Usługi

Mamy transmisję, dotarliśmy do punktu wymiany ruchu, zamawiamy usługi. Zaczynamy od portu. W zależności od potrzeb w EPIX można zamówić port 1G, 10G, 40G, a już niebawem 100G. Mając port, zamawiacie usługi IP. Tutaj też nie będę się jakoś przesadnie rozpisywał, bo wszystkie informacje na temat portów i usług IP znajdziecie na stronie EPIX. Dodam tylko, że podstawową usługą jest open peering czyli wymiana ruch IP miedzy uczestnikami węzła EPIX. Poza tym w usłudze open peeringu dostajemy dostęp do wielu CDN w tym Google i Akamai. Realnie pozwala to na zapewnienie sobie ponad połowy ruchu. Dla niewtajemniczonych dodam, że w usługach IXP nie płaci się za ilość ruchu. Jedyną opłata jest utrzymanie sesji i portu.

Poza open peeringiem warto dobrać usługę Polmix która zapewnia nam dostęp do całego Polskiego Internetu. Do kompletu dobieramy jeszcze globalny internet i tym sposobem zamykamy podstawowy pakiet usług potrzebny nam do świadczenia dostępu do Internetu naszym abonentom. Cennik jak już wspominałem poznacie po zarejestrowaniu się na stronie EPIX. Znając już koszta adresów, ASN, transmisji i usług możecie sobie to porównać do swojego aktualnego MIXa. Różnica powinna być widoczna na korzyść EPIX.

Router BGP

Przechodzimy w końcu do głównego punktu naszego tematu – do routera BGP. Poznacie tajemnicę tego 3 literowego skrótu, który kojarzony jest zwykle z ogromnymi kosztami, niepojętą wiedzą i czarną magią 🙂 BGP to tak naprawdę skrót od protokołu routingu, który jest właściwie podstawą działania Internetu na świecie –  Border Gateway Protocol. BGP nazywamy też sam router który będzie te usługę świadczył. Co nam potrzebne? Sam router,  trochę wiedzy lub ogarnięty administrator 🙂

Na czym pierwszy router BGP? Zacznijmy od tego ile mamy ruchu w sieci. Strzelam, że osoby niemające jeszcze BGP zwykle mają grubo poniżej 1Gb. Do takiego ruchu wbrew pozorom wcale nie potrzebujecie drogiego sprzętu. Najpopularniejsze rozwiązania w tym segmencie oparte są o komputery z linuxem i jakimś demonem BGP. Przyzwoitość jednak nakazuje, by nie był to desktop, a jakaś platforma serwerowa. Osobiście mam doświadczenie ze sprzętem Supermicro i ten będę polecał, ale równie dobry sprzęt na router znajdziecie w poleasingowych Dellach czy HP. Dodam tylko, że nie warto pchać się w serwery na starych Xeonach. Kuszą niską ceną, ale z reguły są głośne i prądożerne. Do ruchu na poziomie kilkuset megabit wystarczy nawet Intel Atom, ale powiedzmy że komfort i zapas na przyszłość da nam np. E3. Platformy serwerowe mają też zwykle dobre karty sieciowe co jest kluczowe w roli routera BGP. Najpopularniejsze w starszych maszynach to e1000, a w nowszych I210 – chipsety Intela.

Sam sprzęt to za mało, potrzebujemy jeszcze oprogramowania. Najpopularniejszy dzisiaj demon BGP to Quagga i Bird. Quagga dlatego, że prawie każdy ją zna, nawet jeżeli jeszcze tego nie wie 🙂 Quagga to w zasadzie kombajn protokołów routingu oparty na nierozwijanej już GNU Zebra. Zawiera m.in demona BGP który w obsłudze niemal do złudzenia przypomina routery Cisco i system IOS. Dlatego każdy admin znający się na IOS powinien sobie poradzić z konfiguracją. Ja się jednak przyznaję, że od kilku tygodni stałem się fanem Birda. Może ma nieco bardziej pokręconą konfigurację, ale jego elastyczność i bardzo małe zużycie zasobów w porównaniu do Quaggi, przekonała mnie do sukcesywnego migrowania na Birda routery które obsługuję.

Pisząc o Birdzie chciałbym jeszcze wspomnieć o ciekawej propozycji na tani router BGP. Jest nim Ubiquiti Edge Router Pro. EdgeOS który się tam znajduje to nic innego jak debian, na którym możemy z powodzeniem zainstalować Birda. Po wyłączeniu wszystkich zbędnych usług otrzymujemy tani, energooszczędny i wydajny router BGP. Mam od niedawna jeden taki pod opieką i działa naprawdę w porządku. Używa ich też z powodzeniem dwóch znajomych ISP.

A może Mikrotik? Znam ISP którzy z powodzeniem wykorzystują Mikrotika do BGP. Wspomnę tylko, ze Mikrotik ma pewne ograniczenia jeżeli chodzi o proces BGP – wykorzystuje tylko jeden rdzeń procesora. Jest to szczególnie uciążliwe na platformach CCR. Przy małej ilości sesji, z jednym globalem i odpowiedniej konfiguracji może to jednak nie być dużym problemem i taki router ma prawo dobrze działać. Osobiście nie przepadam za Mikrotikiem w roli BGP. Diagnostyka i sposób budowania filtrów są trochę uciążliwe. Jeżeli koniecznie chcesz spróbować, bo znasz Mikrotika, to istotne jest abyś wiedział co robisz. Szczególnie dotyczy to filtrów BGP.

OK, a co na BGP dla dużej sieci? Mam doświadczenie tylko z jednym urządzeniem. Jest to Cisco ASR-1001-X. Co można napisać? Po prostu działa 🙂 Obecnie przewala u nas ponad 4Gb ruchu i nie wygląda na to, by ten ruch robił na nim jakieś wrażenie. Cena nie jest tak atrakcyjna jak serwer z linuxem, ale dzięki częstym promocjom dla członków EPIX, naprawdę wielu ISP może sobie na taki router pozwolić.

Oczywiście temat routerów BGP poruszyłem bardzo ogólnie. Może w następnych wpisach napiszę coś więcej o samej konfiguracji. Zachęcam jednak wszystkich zainteresowanych administratorów do samodzielnych testów i wyboru najlepszego dla Was rozwiązania. Jeżeli rozważacie Quaggę to warto spojrzeć na projekt FRRouting. Projekt wydaje się być znacznie lepiej rozwijany niż Quagga. Po testach mogę powiedzieć, że demon BGP na FRR zużywa nieco mniej zasobów niż w przypadku Quaggi. Polecam sprawdzić też Birda. Początkowo może zniechęcać, ale po chwili obycia naprawdę może się podobać. Posiada wszystko co potrzeba i w połączeniu z dobrym sprzętem będzie w pełnim wystarczającym routerem BGP dla większości ISP.

DNS

Posiadając BGP warto pomyśleć o własnych DNS. Pozwoli nam to na samodzielną edycję revDNS oraz pomoże zrealizować wymogi ustawy antyhazardowej, która nas obowiązuje od lipca 2017r. Osobiście najczęściej korzystam z Binda, ostatnio trochę z PowerDNS. Blokadę stron hazardowych zrealizujemy za pomocą udostępnionego przez EPIX rozwiązania, dostępnego na githubie. Ciekawe skrypty do blokowania domen znajdziemy też na stronie kazuko.pl m.in. pod Binda, Mikrotika i Dnsmasq.

W EPIX również dostępne są dwa DNS resolvery które posiadają już mechanizm blokowania domen hazardowych oraz malware. Jeżeli nie chcecie bawić się konfiguracje własnych skryptów, to możecie użyć ich jako forwarderów dla swoich DNS.

Własne DNS mają też spore znaczenie dla działania CDN – istotne jest by IP DNS były rozgłaszane z tego samego ASN co adresy klientów. Polecam również skonfigurować EDNS na naszych serwerach.

Antyddos

Ostatnim elementem układanki jest system do wykrywania ataków DDoS. Ataki DDoS prędzej czy później spotkają każdego ISP. Warto się wcześniej do tego przygotować. W warunkach ISP najprostszą ochroną sieci przed atakami jest BGP Blackholing. Polega to na wycięciu atakowanego adresu IP z Internetu na określony czas. Można to robić ręcznie lub automatycznie za pomocą systemu do wykrywania takich ataków. Z polecanych rozwiązań mamy płatnego Wanguarda, którego mogę polecić ze względu na bardzo dużą elastyczność w konfiguracji i możliwości dostosowania do dowolnego ruchu. Z darmowych rozwiązań bardzo miło zaskoczył mnie Mikrotik. Tak, właśnie mikrotik świetnie sprawdza się jako analizator ruchu i automat do blackholingu. Działa nie gorzej od Wanguarda, a przynajmniej mnie jeszcze nie zawiódł. Ciekawy skrypt do obsługi blackholingu znajdziecie na ISPForum. Warto wspomnieć, że EPIX wspiera BGP Blackholing na wszystkich usługach. Wystarczy tylko odpowiednio skonfigurować swój router, uruchomić system do wykrywania i możemy spać spokojnie. Więcej szczegółów w FAQ EPIX.

Podsumowanie

Zdaję sobie sprawę, że jest trochę tych punktów do zrealizowania. Wymagać to będzie czasu, wiedzy i pewnych inwestycji. Mimo wszystko warto się nad tym pochylić. Osobiście uważam, że przy pewnej skali nieposiadanie BGP jest niepoważne. Posiadając BGP i własną adresację stajemy się niezależnym operatorem. Zapewniamy sobie redundancję usług zaczynając od routerów, przez transmisję, a kończąc na wielu sesjach BGP. Nie osiągniemy tego posiadając MIXa nawet od dwóch różnych operatorów. Dodatkowo będąc już podłączonym do węzła wymiany ruchu zyskujemy dostęp do innych usług, np. IPTV które możemy odebrać kolejnym vlanem. W razie pytań zapraszam do kontaktu.