9 min czytania
GRE, VLAN L2, WireGuard i cross-connect: szczegóły podłączenia
Cztery sposoby dostarczenia czystego ruchu z ochrony DDoS do Twojej sieci: tunel GRE, WireGuard, VLAN po L2 i cross-connect (PNI). Narzut nagłówków, MTU, czas zestawienia, ruch symetryczny i to, który sposób wybrać.

Ochrona DDoS w modelu, w którym Twoje prefiksy są rozgłaszane z sieci dostawcy ochrony, składa się z dwóch połówek. Pierwsza jest prosta: cały ruch do Twoich adresów wchodzi do sieci SkyPass, bo to my rozgłaszamy je przez BGP z AS202520. Druga połówka to pytanie, jak czysty ruch ma do Ciebie wrócić. Są cztery odpowiedzi: tunel GRE, tunel WireGuard, VLAN po warstwie drugiej i fizyczny cross-connect w centrum danych. Różnią się czasem zestawienia, narzutem, wymaganiami i tym, komu się opłacają. Omawiamy każdą z nich ze szczegółami.

Dwa tunele przez internet, wirtualny kabel od operatora i fizyczny światłowód w centrum danych. Każdy sposób dostarcza czysty ruch z sieci SkyPass do Twojej sieci.
Tunel GRE
GRE (Generic Routing Encapsulation) to najprostszy sposób na „wirtualny kabel” przez internet. Pakiet IP, który ma trafić do Ciebie, zostaje opakowany w drugi pakiet IP z nagłówkiem GRE i wysłany na Twój publiczny adres. Twój router zdejmuje opakowanie i dalej routuje pakiet normalnie. GRE to protokół IP numer 47: nie używa portów, nie szyfruje i nie utrzymuje stanu połączenia.
Co jest potrzebne. Publiczny adres IP po Twojej stronie i router, który obsługuje GRE (praktycznie każdy: Linux, MikroTik, Juniper, Cisco, VyOS). Po zestawieniu tunelu ruch do Twoich prefiksów kierujemy do niego statycznie albo przez sesję BGP w tunelu, która daje Ci pełną kontrolę nad tym, co i kiedy jest rozgłaszane. Jeśli nie masz własnych prefiksów, możesz skorzystać z naszych adresów IPv4.
Narzut i MTU. Opakowanie kosztuje 24 bajty na pakiet: 20 bajtów zewnętrznego nagłówka IPv4 i 4 bajty nagłówka GRE. Przy MTU 1500 na łączu wewnątrz tunelu zostaje 1476 bajtów. Trzeba ustawić takie MTU na interfejsie tunelu i ograniczyć MSS dla TCP (zwykle do 1436), inaczej większe pakiety będą fragmentowane albo gubione, a użytkownicy zobaczą wiszące strony i zrywane pobierania.

Co tunel dokłada do każdego pakietu. GRE zabiera 24 bajty, WireGuard 60 bajtów, dlatego w środku tunelu zostaje odpowiednio 1476 i 1420 bajtów.
Zalety. Zestawienie w godziny, bez fizycznej instalacji i bez udziału innych operatorów. To dlatego od GRE zaczyna się większość wdrożeń awaryjnych: w przypadku NysaNet tunel postawił sieć operatora w weekend, w trakcie trwającego ataku.
Ograniczenia. Tunel nie dodaje pasma: czysty ruch wraca do Ciebie przez Twoje zwykłe łącze internetowe, więc musi się na nim zmieścić. Enkapsulacja obciąża CPU routera przy dużej liczbie pakietów na sekundę. Ruch nie jest szyfrowany, tak jak zwykły ruch w internecie. I wreszcie trasa tunelu zależy od tego, którędy internet poprowadzi pakiety między nami a Tobą, więc opóźnienia bywają wyższe niż na bezpośrednim łączu.
Minimalna konfiguracja po stronie Linuksa wygląda tak (adresy przykładowe):
ip tunnel add gre-skypass mode gre local 198.51.100.10 remote 203.0.113.1 ttl 255
ip link set gre-skypass mtu 1476 up
ip addr add 10.255.0.2/30 dev gre-skypass
iptables -t mangle -A FORWARD -o gre-skypass -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
WireGuard
WireGuard to nowoczesny tunel VPN działający na UDP. Każda strona ma parę kluczy, a ruch w tunelu jest szyfrowany i uwierzytelniany. Implementacja w jądrze Linuksa jest szybka i prosta w konfiguracji: jeden plik, kilka linii.
Co jest potrzebne. Router albo serwer z WireGuardem i port UDP osiągalny z internetu. WireGuard działa także zza NAT-u, więc po Twojej stronie nie jest konieczny publiczny adres.
Narzut i MTU. Tunel kosztuje 60 bajtów na pakiet przy IPv4: 20 bajtów nagłówka IP, 8 bajtów UDP i 32 bajty nagłówka WireGuard. Stąd domyślne MTU 1420 i konieczność ograniczenia MSS dla TCP do 1380.
Dla kogo. Dla hostingu i serwerów gier, które chcą, żeby ruch między siecią ochrony a serwerem był szyfrowany, albo które nie mają routera z GRE, ale mają serwer z Linuksem. W ochronie hostingu WireGuard jest jedną z trzech form podłączenia obok GRE i cross-connectu.
Ograniczenia. Szyfrowanie kosztuje CPU: przy dziesiątkach gigabitów to realne obciążenie. WireGuard sam z siebie nie przenosi dynamicznego routingu (sesję BGP da się puścić w tunelu, ale to dodatkowa konfiguracja), a niektóre sieci ograniczają ruch UDP.
VLAN po L2
Zamiast tunelować przez internet, można kupić od operatora usługę warstwy drugiej: połączenie Ethernet punkt-punkt (E-Line, EVPL) między Twoim routerem a naszą siecią. Ruch wchodzi do niego jako ramki Ethernet z tagiem 802.1Q, bez tunelu IP. Drugi wariant to prywatny VLAN na punkcie wymiany ruchu, jeśli oboje jesteśmy obecni na tym samym IX.
Co jest potrzebne. Operator, który ma zasięg u Ciebie i w jednym z centrów danych, w których jesteśmy obecni, albo port na wspólnym punkcie wymiany ruchu. Po zestawieniu VLAN-u uruchamiamy po nim sesję BGP.
Narzut i MTU. Tag VLAN to 4 bajty w ramce Ethernet, nie w pakiecie IP, więc MTU dla IP zostaje 1500. Jeśli operator wspiera ramki jumbo, można pójść wyżej. Brak enkapsulacji oznacza brak dodatkowego obciążenia routera.
Zalety. Pełna prędkość usługi, przewidywalne opóźnienia i stabilność. To łącze dedykowane, więc nie dzieli pasma z Twoim ruchem internetowym. Ruch naturalnie biegnie symetrycznie.
Ograniczenia. Czas: zestawienie usługi L2 u operatora to zwykle dni lub tygodnie, a usługa ma miesięczny koszt. W przypadku NysaNet VLAN zestawiony przez operatora z Warszawy do Katowic zastąpił tunel GRE po kilku dniach i sieć pracowała od tej pory na stabilniejszym łączu.
Cross-connect (PNI)
Cross-connect to fizyczny światłowód między Twoją szafą (albo szafą Twojego operatora) a naszym portem w tym samym centrum danych. W żargonie operatorskim takie bezpośrednie połączenie dwóch sieci to PNI, private network interconnect, w odróżnieniu od peeringu przez punkt wymiany ruchu, gdzie port jest współdzielony.
Gdzie. W centrach danych, w których obecna jest sieć AS202520: w Warszawie LIM DC, Equinix WA3, ATMAN WAW-1, ATMAN WAW-2 i Datahouse, we Wrocławiu Korbank Data Center. Aktualną listę znajdziesz na stronie sieci i peeringu. Jeśli nie masz sprzętu w żadnym z nich, możesz go postawić u nas w kolokacji.
Co jest potrzebne. Sprzęt w tym samym obiekcie, zlecenie cross-connectu w centrum danych i wkładki optyczne po obu stronach. Dalej jak zwykle: sesja BGP na łączu.
Zalety. Najniższe opóźnienia, pełna przepustowość portu i najstabilniejsze działanie usługi. Żadnych tuneli, żadnego MTU do pilnowania, możliwe ramki jumbo. Dla ruchu liczonego w dziesiątkach i setkach gigabitów to jedyne rozsądne rozwiązanie.
Ograniczenia. Trzeba być w tym samym centrum danych. Zlecenie i montaż w DC trwają zwykle kilka dni, a centrum danych nalicza za cross-connect opłatę.
Cross-connect kończy się na porcie w szafie: kabel między dwiema szafami w tym samym obiekcie zamiast tunelu przez internet.

Ile z 1500 bajtów zostaje na dane. Tunele zabierają 24 albo 60 bajtów z każdego pakietu, dlatego wymagają ustawienia MTU i MSS.
Porównanie
| Tunel GRE | WireGuard | VLAN po L2 | Cross-connect | |
|---|---|---|---|---|
| Czas zestawienia | Godziny | Godziny | Dni lub tygodnie | Dni (zlecenie w DC) |
| Co potrzebujesz | Publiczny IP i router z GRE | Serwer lub router z WireGuardem | Operatora z zasięgiem w obu miejscach albo wspólny IX | Sprzęt w tym samym centrum danych |
| Narzut na pakiet | 24 B, MTU 1476 | 60 B, MTU 1420 | 0 B w IP, MTU 1500 | 0 B, MTU 1500 lub jumbo |
| Szyfrowanie | Nie | Tak | Nie (łącze dedykowane) | Nie (łącze dedykowane) |
| Opóźnienia | Zależne od trasy w internecie | Zależne od trasy w internecie | Stałe, niskie | Najniższe |
| Obciążenie routera | Enkapsulacja | Enkapsulacja i szyfrowanie | Brak | Brak |
| Dla kogo | Szybki start, wdrożenia awaryjne | Hosting, serwery gier | Operatorzy ISP, większy ruch | Duży ruch, sprzęt w DC |
Ruch symetryczny i asymetryczny
Ruch do Twoich adresów zawsze wchodzi przez sieć SkyPass, bo to my rozgłaszamy prefiksy. Ruch wychodzący możesz poprowadzić dwojako:
- symetrycznie, czyli z powrotem przez tunel, VLAN albo cross-connect do naszej sieci i dalej do internetu,
- asymetrycznie, czyli bezpośrednio Twoim dotychczasowym łączem, z pominięciem naszej sieci.
Wariant asymetryczny oszczędza pasmo połączenia z nami, ale filtry stanowe widzą wtedy tylko połowę każdej sesji, co ogranicza ich skuteczność i utrudnia strojenie. Dlatego zalecamy ruch symetryczny, a asymetrię traktujemy jako rozwiązanie na start albo dla szczególnych przypadków. Przy VLAN-ie i cross-connecie symetria jest naturalna: domyślna trasa biegnie po prostu przez to łącze.

Symetria ruchu. Przy ruchu asymetrycznym filtry widzą tylko połowę każdej sesji.
Niezależnie od wariantu pamiętaj o MTU i MSS. Większość dziwnych problemów po uruchomieniu tunelu (część stron się ładuje, część nie; SSH działa, a pobieranie plików staje) to źle ustawione MTU.
Jak wybrać
- Potrzebujesz ochrony dziś albo nie masz jeszcze żadnej infrastruktury pod nią: tunel GRE.
- Chcesz szyfrowania albo łączysz pojedynczy serwer z Linuksem: WireGuard.
- Jesteś operatorem z dostępem do usług L2 i ruchem, który nie zmieści się w tunelu: VLAN po L2.
- Masz sprzęt w jednym z centrów danych w Warszawie lub we Wrocławiu albo ruch liczony w dziesiątkach gigabitów: cross-connect.
Te sposoby można łączyć i zmieniać w czasie. Typowa droga wygląda tak: start na tunelu GRE w kilka godzin, potem przejście na VLAN albo cross-connect, a tunel zostaje jako łącze zapasowe.
Najczęstsze pytania
Czy muszę mieć własny AS i własne prefiksy? Nie. Jeśli je masz, rozgłaszamy je z AS202520 i uruchamiamy sesję BGP. Jeśli nie, dostaniesz od nas adresy IPv4 i podłączysz się tunelem.
Czy mogę mieć dwa sposoby podłączenia naraz? Tak, to zalecana konfiguracja dla usług, które nie mogą stanąć: na przykład cross-connect jako łącze główne i tunel GRE jako zapasowe, z sesjami BGP na obu.
Jakie MTU ustawić? GRE: 1476 na interfejsie tunelu i MSS 1436 dla TCP. WireGuard: 1420 i MSS 1380. VLAN i cross-connect: 1500 albo więcej, jeśli obie strony wspierają ramki jumbo.
Czy tunel spowalnia ruch? Dodaje narzut na pakiet i, przy dużej liczbie pakietów na sekundę, obciążenie routera. Opóźnienie zależy głównie od trasy w internecie między Twoim łączem a naszą siecią. Jeśli opóźnienia są krytyczne, wybierz VLAN albo cross-connect.
Nie wiesz, który wariant pasuje do Twojej sieci? Opisz nam swoją topologię. Przygotujemy architekturę z tunelami, rozgłaszaniem BGP albo cross-connectem, zależnie od tego, co masz i czego potrzebujesz.