Turbodoładowanie połączenia internetowego

Cloudflare słynie z tego, że jest drugim Google i udostępnia nam wysokiej jakości usługi, z czego dużą ich część można używać za darmo bez żadnych kompromisów. Od zarządzania twojej domeny, poprzez certyfikat SSL dla twojej strony www, bezpieczny i szybki DNS, poprzez turbodoładowanie połączenia internetowego z WARP (lub WARP+ dla tych, którzy chcą więcej).

WARP jest czymś w rodzaju serwera VPN mającego na celu przyśpieszenie serfowania w internecie. Nie jest on jednak prawdziwym VPN’em takim jak NordVPN czy inne. Nie pozwala on ukryć naszego oryginalnego adresu IP czy kraju, z którego przeglądamy internet. WARP skupia się na kierowaniu ruchu w taki sposób, aby był on szybki i bezpieczny.

WARP w połączeniu z serwerem nazw (DNS) 1.1.1.1 szyfruje ruch nie tylko DNS, ale również ten pomiędzy tobą (twoim urządzeniem) a serwerami Cloudflare. Dzięki temu tylko ty (i Cloudflare) wie, co odwiedzasz w internecie, a nie twój usługodawca internetowy oraz służby wywiadowcze danego kraju, które aktywnie podsłuchują nieszyfrowany ruch w sieci.

Już sam serwer nazw (1.1.1.1) spowodował niemałe zamieszanie i “przyspieszył” internet. W momencie, gdy dołączono do niego szyfrowanie naszych zapytań DNS, tworząc tak zwany bezpieczny DNS (DNS przez HTTPS lub DNS przez TLS). WARP dołożył swoje, szyfrując dodatkowo ruch wychodzący z naszego urządzenia.

Obecnie WARP dostępny jest na urządzenia mobilne przez oficjalną aplikację już od jakiegoś czasu. Aplikacje na platformy stacjonarne (Windows i macOS) jest w trakcie tworzenia, ale już teraz można go wykorzystać przy pomocy odpowiedniej konfiguracji aplikacji WireGuard. Tak, Cloudflare wykorzystuje protokół bazujący na WireGuard. W ostatnich tygodniach większość dużych dostawców usługi VPN zauważyły pozytywną stronę tego rozwiązania i dodają je do swojej sieci (tak jak NordVPN z ich NordLynx).

W moim wpisie opisywałem jak dodać serwer VPN bazujący na WireGuard z poziomu routera OpenWrt.

W związku z tym, że Cloudflare WARP wykorzystuje WireGuard do komunikacji, można też wykorzystać nasz router jako klienta VPN. Po co? Już tłumaczę.

Otóż WARP to nie tylko szyfrowanie i prędkość, to również obsługa IPv6. Jeżeli twój usługodawca internetowy (tak jak mój) nie oferuje połączenia z internetem za pomocą IPv6, łącząc się z WARP, automatycznie zyskujemy tą możliwość.

Niedawno opisałem, jak dodać tunel IPv6 do naszego połączenia internetowego w celu uzyskania wyjścia na świat po IPv6. Tego typu rozwiązanie jednak ma kilka negatywnych stron, jeżeli twój dostawca internetowy (Virgin Media w UK), postanowi wprowadzić niepisane filtrowanie i spowalnianie ruchu odbywającego się właśnie w tego typu połączeniach. W moim przypadku wpis, który stworzyłem, jest idealny, ale dla mnie osobiście nieużyteczny, w związku z tym cały czas szukam innego rozwiązania.

Ostatnio, znudzony czekaniem na wypuszczenie oficjalnej aplikacji na macOS postanowiłem wykorzystać aplikację WireGuard i dodać WARP do mojego komputera. Oczywiście, udało się dzięki GitHub.

To dało mi do myślenia.

Utworzony przeze mnie tunel IPv6 (6in4) wg mojego wpisu nie jest przydatny na moim aktualnym połączeniu (w związku z ograniczeniem prędkości do 10% pełnej prędkości mojego łącza), natomiast łączność z IPv6 przez WARP nie posiada tego typu problemów, pomyślałem, że skoro wykorzystuje WireGuard jako serwer VPN, dlaczego nie wykorzystać go jako klient na moim routerze?

Posiadanie klienta i serwera na jednym urządzeniu jest poniekąd dziwne, ale czy niemożliwe? Nie.

Serwer WireGuard używam, aby połączyć się z moją siecią lokalną, gdy jestem poza domem. Gdzie klienta używałbym, aby dodać szyfrowanie ruchu internetowego oraz obsługa IPv6 za pomocą Cloudflare WARP.

Oczywiście, połączenie się z WARP po stronie routera to jedno, ale dodanie obsługi WARP do urządzeń w sieci lokalnej to drugie, szczególnie jeżeli chodzi o IPv6 (co nie jest takie oczywiste).

Dodanie WARP do routera odbywa się przez dodanie nowego interfejsu oraz jego konfiguracji. Nie jest to nadzwyczaj trudne i pozwoli nam korzystać z internetu po IPv4 poprzez połączenie Cloudflare.

Inna sprawa jest z IPv6. Cloudflare nie przypisuje nam zewnętrznego adresu a jedynie lokalny pojedynczy adres (w masce /128), który później odpowiednimi regułami kierowany jest dalej. W przypadku posiadania zewnętrznego adresu do obsługi IPv6 w sieci lokalnej (tak jak opisałem tutaj), wystarczy dodać odpowiednią regułę (route6) po stronie routera OpenWrt (Network > Static Routes > Static IPv6 Routes), wskazując interfejs, przez który ma być kierowany ruch (Interface) oraz zakres adresów (Target) - w tym przypadku ::/0 (wszystkie IPv6).

W moim przypadku potrzebowałem również dodać regułę do zapory sieciowej (Firewall) w Network > Firewall > Custom Rules

ip6tables -t nat -A POSTROUTING -o Cloudflare -j MASQUERADE

Lub poniższej

ip6tables -t nat -A POSTROUTING -o Cloudflare -j SNAT --to-source fd01:{ipv6_address_otrzymany_cloudflare_warp}

I mimo tego, że tylko nasz router będzie miał połączenie IPv6 przez WARP, to teoretyczne rozwiązanie otwiera możliwość na wykorzystanie innych usług do tego celu. Jeżeli masz wykupioną usługę VPN, która działa na WireGuard a dodatkowo oferuje dostęp do internetu po IPv6, warto pogłówkować tą metodą i zobaczyć, jak wykorzystać tego typu rozwiązanie w sieci.

Mimo tego, że nie wszystko można wykorzystać, tak jak byśmy chcieli, to nadal WARP jest jednym z lepszych darmowych rozwiązań. Osobiście używam go na telefonie. W momencie wyjścia z zasięgu mojej sieci WiFi (która domyślnie oferuje bezpieczny DNS przez Cloudflare) automatycznie łączę się z WARP i cały czas mój ruch jest zabezpieczony przez wścibskimi służbami.

Jeżeli chcesz zainstalować aplikację Cloudflare, wystarczy, że przejdziesz na stronę 1.1.1.1 i naciśniesz na odpowiedni odnośnik.

Pozdrawiam

Komentarze
Kategorie