Router VPN na RaspberryPi? Nie koniecznie…

W skrócie i bez czytania całości:
Chcesz mieć wydajny router VPN o rozmiarach takich, jak RaspberryPi – nie rób tego na RaspberryPi. Zamiast tego wybierz NanoPi R5C z modułem WiFi. Ma dwa wydajne porty ethernet, kartę WiFi z zewnętrzną anteną, wydajny procesor, dobre pasywne chłodzenie.

Raspberry PiNanoPi R5C + WiFi
Wbudowana karta WiFi.
Antena wlutowana w płytkę PCB
Zasięg WiFi – taki sobe

Karta WiFi podłączona do złącza M.2
Dwie zewnętrzne anteny.
Zasięg WiFi – przyzwoity
Jeden port ethernetDwa porty ethernetowe
Brak wsparcia AES-NI.
Bez tego OpenVPN działa powoli.
Sprzętowe wsparcie dla AES (AES-NI)
Ogromna różnica przy VPN!
Brak eMMC!
Konieczność bootowania z kardy SD
Posiada eMMC.
Można bootować z eMMC lub karty SD

Raspberry Pi sprawdza się świetnie jako edukacyjna płytka hobbystyczna, ale w roli routera VPN szybko okazuje się wąskim gardłem: brak sprzętowego szyfrowania i ograniczona przepustowość potrafią mocno zdusić przepustowość łącza. W artykule pokażemy, jakie urządzenia poradzą sobie z VPN-em znacznie lepiej i bez kompromisów.

Moc obliczeniowa i szyfrowanie.

Nawet Raspberry Pi 4, które na pierwszy rzut oka oferuje solidne cztery rdzenie Cortex-A72 @ 1,5 GHz, nie ma dedykowanego silnika AES-NI ani sprzętowego akceleratora IPsec. Przy szyfrowaniu OpenVPN lub WireGuard ruch gigabitowy spada często do 150-250 Mb/s, a w miarę rosnącego obciążenia procesor wchodzi w thermal throttling, dodatkowo obniżając przepustowość. Nowsze Pi 5 z rdzeniami Cortex-A76 i instrukcjami kryptograficznymi poprawia sytuację, ale wciąż zostaje daleko w tyle za energooszczędnymi, pasywnie chłodzonymi Atomami czy dedykowanymi routerami z off-loadem szyfrowania.

Kto używał RaspberryPi jako router wie, że urządzenie się grzeje jak diabli, a to powoduje odczuwalne opóźnienia. Jeśli jeszcze nasze urządzenie działa jako lokalny serwer DHCP lub DNS praca staje się uciążliwa.

Dlaczego VPN-y są szczególnie wrażliwe?

Szyfrowanie ≈ 100 % CPU. W małej obudowie z pasywnym chłodzeniem łatwo kumuluje się ciepło. Po kilku minutach transferu Pi przekracza 80 °C. Rozpoczyna się kaskada throttlingowa: zbicie częstotliwości taktowania procesowa → dłuższy czas szyfrowania → więcej ciepła → kolejne zbicie częstotliwości → urządzenie zawiesza się na kilkanaście sekund.
Poradzić może obniżenie napięcia (undervolt) w config.txt oraz delikatny underclock (np. 1,3 GHz) – mniej ciepła kosztem już i tak skromnej wydajności.

Thermal throttling to mechanizm ochronny procesora: gdy rdzenie przekroczą zadaną temperaturę graniczną, układ obniża taktowanie (a czasem i napięcie), żeby nie dopuścić do przegrzania i fizycznego uszkodzenia krzemu. Skutek uboczny to natychmiastowy spadek wydajności.

Jeśli VPN ma obsługiwać więcej niż jedno-dwa połączenia na pełnej prędkości łącza, lepiej od razu sięgnąć po urządzenie z wbudowanym akceleratorem kryptograficznym – unikniesz zarówno throttlingu, jak i związanej z nim loterii wydajności.

Architektura sieciowa – jeden interfejs to za mało.

Płytka ma tylko jeden port Gigabit Ethernet (po PCIe 1 Gb/s) i brak wbudowanego drugiego NIC-a do wydzielenia sieci WAN/LAN, więc użytkownicy muszą ratować się donglami USB–Ethernet. To nie tylko ogranicza przepustowość i dodaje opóźnienia na magistrali USB, lecz także komplikuje izolację VLAN-ów i sprzętowe QoS. Brak sprzętowego NAT-u, port-switchingu i obsługi PoE oznacza konieczność dokładania kolejnych urządzeń, co szybko niweluje początkową „taniość” całej konstrukcji.

Niezawodność i ciągłość pracy.

Raspberry Pi korzysta z karty micro-SD jako głównego nośnika, a te przy intensywnym logowaniu i swapie zużywają się zdecydowanie szybciej niż eMMC czy SSD w sprzęcie klasy routerowej. Dodatkowa temperatura generowana przez nieustanne szyfrowanie i niewielki zapas mocy zasilacza potrafią prowadzić do niestabilności lub niekontrolowanych restartów – ryzykowne.

Co zamiat Raspberry?

NanoPi R5C – małe, ~6-cm urządzenie, które z miejsca rozwiązuje trzy największe bolączki Raspberry Pi w roli routera VPN. Po pierwsze, bazuje na Rockchipie RK3568 (A55 @ 2 GHz) z wbudowanym silnikiem kryptograficznym obsługującym AES-128/192/256, SHA-2 i RSA/ECC, więc szyfrowanie nie zjada całego CPU tak jak na Pi bez AES-NI. Po drugie, ma dwa natywne porty 2.5 GbE (Realtek RTL8125BG) przetestowane do ~2.3 Gb/s. Po trzecie, startuje z wlutowanego eMMC (8–32 GB) i przychodzi z FriendlyWrt 22.03 (zainstalowanym oprogramowaniem bazującym na OpenWRT).

NanoPi R5CNanoPi R5C + WiFi

Uwaga. Dostępna jest także wersja z zainstalowaną kartą sieciową WiFi, jednak oferowane przez producenta urządzenie ma niepoprawnie zainstalowane sterowniki i karta bezprzewodowa nie działa.
Zamiast tego można skorzystać z poprawionej wersji dostępnej w sklepie internetowym Darkvana – zainstalowano oprogramowanie OpenWRT oraz przywrócono działanie WiFi.

Jeśli więc potrzebujesz taniego, energooszczędnego pudełka, które realnie udźwignie ruch szyfrowany, NanoPi R5C jest znacznie lepszym kandydatem niż Raspberry Pi.

Router VPN na RaspberryPi? Nie koniecznie…

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewiń na górę