Temat: Perfekcyjny router podróżny
Perfekcyjny router podróżny
Poniższy opis (który należy traktować jako "poradnik podróżnika") będzie dotyczył stworzenia własnego routera podróżnego - uniwersalnego, wyposażonego w szeroki zakres funkcji i możliwości. Jako system operacyjny zostanie wykorzystany OpenWrt z odpowiednim doborem pakietów. Celem takiego oprogramowania jest przygotowanie sprzętu na wiele możliwych sposobów połączenia z internetem, uniwersalność zastosowania oraz komfort pracy z routerem w czasie podróży.
Oczywiście nie jest wymagana realizacja wszystkich zaprezentowanych funkcji, czytelnik może wybrać sobie wymagane przez siebie elementy. Jednakże zalecam zbudowane ostatecznego obrazu z wykorzystaniem firmware-selectora lub ASU, dzięki czemu nawet jeżeli doprowadzimy do przywrócenia routera do ustawień domyślnych to zachowamy wszystkie wymagane do działania pakiety. Lista niezbędnych pakietów będzie podana przy opisie danej funkcjonalności a także zbiorowo na końcu tego opisu.
Poniższe "kompendium" będzie zgromadzonym zbiorem różnych ustawień i konfiguracji, które mogą przydać się w podróży jak i zwykłym codziennym życiu, które były już opisywane w poradnikach lub na forum.
Po do nam taki towarzysz podróży? Zamiast podłączać się bezpośrednio z każdego urządzenia które mamy (smartfon, tablet, laptop) to łączymy tylko router z internetm, zaś sami łączy się do naszego routera. Takie rozwiązanie może jest trochę bardziej skompilowane ale z siecią łączymy się tylko jednym urządzeniem - routerem, co ma to znaczenie jeżeli np. w hotelu płacimy za ilość podłączonych urządzeń do Wi-Fi. Na routerze możemy mieć także zainstalowane nasze VPNy, blokady domen/reklam czy własne DNSy, usługi które mogą dodatkowo zabezpieczyć nas przed różnymi zagrożeniami. Posiadanie VPN'a może także wprowadzać warstwę zabezpieczenia danych a także ukrywania naszej fizycznej lokalizacji (w internecie można poczytać różne historie np. o możliwości nabycia tańszych biletów lotniczych jeżeli strona wykrywała że jesteśmy w innym lub tym samym kraju do którego chcemy nabyć bilet).
Sprzęt
Sprzęt powinien spełniać parę wymagań:
- powinien być zasilany z USB-C
- ma być mały
- ma posiadać Wi-Fi
- powinien posiadać co najmniej jeden port ethernetowy
oraz opcjonalnie może posiadać
- co najmniej jeden port USB
- wbudowany modem komórkowy
- co najmniej jeden przycisk do uniwersalnego zastosowania
Dwa pierwsze wymagania wynikają z jego przeznaczenia - powinien być na tyle mały aby można go było schować w bagażu podręcznym czy nawet w kieszeni, tak aby zawsze był dostępny w razie potrzeby. Zaś jeżeli chodzi o zasilanie - standaryzujmy kable, dzięki czemu nie trzeba będzie nosić i używać dedykowanej ładowarki do niego, bo raczej na pewno będziemy mieli przy sobie ładowarkę do telefonu z USB-C. Taki sposób zasilania umożliwia też zasilanie go z powerbanku, co zwiększa jego mobilność i możliwość używania np. na lotnisku, w poczekalni czy na kempingu bez dostępu do energii elektrycznej. Reszta wymagań wynika z planowanych funkcji, co będzie omówione w dalszej części artykułu.
Propozycje routerów
- najtańsza: Cudy TR1200

Mały, energooszczędny, prosty router na starszej wersji Mediateka. Nie będzie zużywał dużo prądu, ale ma tylko minimalne wymagane ilości pamięci RAM i flash, interfejsy ethernetowe 100Mbps oraz Wi-Fi w standardzie Wi-Fi 5 (AC).
- korzystny cenowo jednocześnie większe możliwości sprzętowe: Cudy TR3000

Bardziej rozbudowany niż poprzednik (więcej pamięci RAM i flash, nowsza generacja Wi-Fi 6 - AX, USB 3.0, port ethernetowe 2.5Gbps i 1Gbps), ale tym samym wykazuje się trochę większym zapotrzebowaniem na energię, trochę więcej się grzeje.
- trochę droższe o różnej konfiguracji sprzętowej - GL-iNet modele z rodziny Opal, Slate czy Beryl.



Tu mamy szeroki wybór różnych modeli, w różnej konfiguracji sprzętowej, z różnymi wersjami Wi-Fi. Niestety sprzęt tej firmy nie należy do najtańszych na naszym rynku, ale jest szeroko dostępny i wiele z tych modeli jest wspierane natywne przez OpenWrt.
Przedstawiłem najpraktyczniejsze moim zdaniem modele routerów do wykonania zakładanego projektu, ale użytkownik może oczywiście zastosować dowolny sprzęt który będzie spełniał jego wymagania. Mimo że wspomniane routery mają już w oprogramowaniu producenta część niezbędnych funkcji, to jednakże zakładamy że wgrywamy na sprzęt czysty OpenWrt i sami tworzymy odpowiednią konfigurację. Zastosowanie określonego typu urządzenia oczywiście związane jest także z potrzebami użytkownika - np. niektórym potrzebny będzie slot kart SD czy złącze USB w określonym formacie żeby nie trzeba było stosować dodatkowych adapterów. Można także używać innych routerów oraz płytek np. Raspberry PI w niewielkiej obudowie.
Kilka(naście) lat temu były dostępne bardzo popularne modele TP-LINKa typu MR3020, MR3040, WR703 czy analogiczne odpowiedniki starszych modeli routerów od GL.iNet. Niestety są one wyposażone w minimalne ilości pamięci Flash i RAM, co obecnie praktycznie uniemożliwia działania współczesnych wersji OpenWrt, więc nie będą tu wspominane.
Oprogramowanie
Na sprzęcie musi znaleźć się OpenWrt. Korzystamy z wyszukiwarki obrazów (ew można skorzystać bezpośrednio z firmware-selectora z OpenWrt, w tym projekcie nie będzie rzeczy specyficznych robionych przeze mnie więc źródło obrazów nie ma znaczenia), wyszukujemy swój model urządzenia i wybieramy wersję OpenWrt (zalecam wersje 25.12, jako że opisane konfigurację będą bazowały na tej wersji). Jako środowisko graficzne użyjemy LuCI w polskiej wersji językowej.
W opcji "Dostosuj zainstalowane pakiety i/lub skrypt pierwszego rozruchu" do listy pakietów dodajemy
luci luci-ssl luci-app-attendedsysupgrade luci-app-firewall luci-app-package-manager luci-i18n-attendedsysupgrade-pl luci-i18n-base-pl luci-i18n-firewall-pl luci-i18n-package-manager-pl luci-mod-dashboard luci-i18n-dashboard-plZaś w oknie "Skrypt do uruchomienia przy pierwszym rozruchu (uci-defaults)" dodajemy taki skrypt:
uci -q del wireless.radio0.disabled
uci -q del wireless.radio1.disabled
uci -q del wireless.@wifi-iface[0].disabled
uci -q del wireless.@wifi-iface[1].disabled
uci set wireless.@wifi-iface[0].ssid=perfect-travel
uci set wireless.@wifi-iface[0].encryption=psk2
uci set wireless.@wifi-iface[0].key=hackMe1@IfYouCan
uci set wireless.@wifi-iface[1].ssid=perfect-travel
uci set wireless.@wifi-iface[1].encryption=psk2
uci set wireless.@wifi-iface[1].key=hackMe1@IfYouCan
uci set network.lan.ipaddr="192.168.232.1/24"
uci commit
(echo "12345-6789_abcd"; sleep 1; echo "12345-6789_abcd") | passwd > /dev/nullWybieramy "Żądanie budowy", oczekujemy stosowny czas, pobieramy plik i instalujemy metodą wymagana dla danego modelu routera. W ten sposób mamy zainstalowany podstawowy system. W późniejszym etapie można zainstalować dodatkowe pakiety i użyć attendedsysupgrade lub owut'a do złożenia obrazu lub samodzielnie złożyć obraz korzystając ze wspomnianej już metody.
W ten sposób osiągnęliśmy konfigurację zwykłe routera kablowego. Zakładamy że mam dwa interfejsy radiowe (2.4GHz oraz 5GHz), oba będą rozgłaszały sieć "perfect-travel" zabezpieczoną hasłem "hackMe1@IfYouCan". Można by używać WPA3 (sae) ale powiedzmy że nie wszystkie urządzenia potrafią to obsługiwać więc zostańmy przy WPA2. Taka domyślna konfiguracja złoży nam obraz z domyślnie włączonym Wi-Fi - po pierwsze da to nam zawsze dostęp do routera, po drugie - jeżeli z jakiegoś powodu stracimy lub w inny sposób odetniemy sobie dostęp, to wystarczy przywrócić go do ustawień domyślnych (np. przyciskiem reset) aby znów móc mieć możliwość konfiguracji. Od razu także zabezpieczamy router - ustawiamy sobie hasło (będzie ono w tym przykładzie "12345-6789_abcd") oraz zmieniamy domyślny adres IP na 192.168.232.1/24 żeby nie kolidować z ew. sieciami do których się podłączymy.
Po wgraniu takiego obrazu należy pamiętać że mamy inny adres na lanie, więc należy ponownie podłączyć się do routera.
Dostęp do internetu
Jako źródło internetu będziemy mogli zastosować:
- połączenie kablowe (protokoły DHCP, statyczny adres IP, PPPoE)
- połączenie bezprzewodowe do istniejącej sieci Wi-Fi (publicznej lub utworzonej z telefonu)
- połączenie komórkowe z wykorzystaniem modemu USB
- tethering z wykorzystaniem telefonu komórkowego
My zaś łączymy się albo przy pomocy kabla do portu LAN albo dołączamy się do utworzonej sieci Wi-Fi z naszego routera. Wymienione poniżej konfiguracje można zrobić z poziomu konsoli (będąc np. jeszcze w domu) albo wyklikać już z LuCI, posługując się np. smartfonem.
Zakładając że mamy router z portem "wan" to domyślna konfiguracja pozwala na dołączenie kabla do takiego portu i uzyskanie też po kablu na portach "lan" dostępu do internetu. Jeżeli chcemy dostęp do Wi-Fi to należy najpierw je włączyć, posługujemy się tym poradnikiem.
uci -q del wireless.radio0.disabled
uci -q del wireless.radio1.disabled
uci -q del wireless.@wifi-iface[0].disabled
uci -q del wireless.@wifi-iface[1].disabled
uci set wireless.@wifi-iface[0].ssid=perfect-travel
uci set wireless.@wifi-iface[0].encryption=psk2
uci set wireless.@wifi-iface[0].key=hackMe1@IfYouCan
uci set wireless.@wifi-iface[1].ssid=perfect-travel
uci set wireless.@wifi-iface[1].encryption=psk2
uci set wireless.@wifi-iface[1].key=hackMe1@IfYouCan
uci commit wireless
wifi(co już mamy w domyślnej konfiguracji, ale jeżeli zaszła by potrzeba ręcznej rekonfiguracji interfejsów to jest rozpiska co należy zrobić)
Połączenie kablowe - DHCP
Przy domyślnej konfiguracji zrobiliśmy zwykły router kablowy. Jeżeli w przyszłości chcielibyśmy wrócić do takiej konfiguracji wanu to robimy:
uci -q del network.wan
uci set network.wan=interface
uci set network.wan.device=wan
uci set network.wan.proto=dhcp
uci commit
reload_config(przy założeniu że portem wan jest interfejs o nazwie "wan")
Połączenie kablowe - statyczny adres IP
Ustawienie statycznego adresu IP wymaga więcej zmian:
uci -q del network.wan
uci set network.wan=interface
uci set network.wan.device=wan
uci set network.wan.proto=static
uci set network.wan.ipaddr="10.1.1.2/24"
uci set network.wan.gateway="10.1.1.1"
uci set network.wan.dns="10.1.1.1"
uci commit
ifup wanTe informacje musimy już wiedzieć - jaki ustawić adres IP, jaki jest gateway i DNS.
Jeżeli adresacja na wan będzie kolidować z tym co mamy ustawione na lanie to należy także zmienić adres na lan:
uci set network.lan.ipaddr="192.168.67.1/24"
uci commit
reload_configCzy jakiś inny nie powodujący kolizji i musimy ponownie odłączyć się i podłączyć się do routera.
Połączenie kablowe - PPPoE
W tym przypadku musimy upewnić się że mamy pakiety ppp-mod-pppoe oraz luci-proto-ppp. Dodajemy wspomniany pakiet do listy przy składaniu obrazu lub po prostu go instalujemy.
Konfiguracja:
uci -q del network.wan
uci set network.wan=interface
uci set network.wan.device=wan
uci set network.wan.proto=pppoe
uci set network.wan.username=<user>
uci set network.wan.password=<pass>
uci commit
ifup wanJeżeli pppoe wymaga określonego VLANu (dla przykładu 35) to stosujemy dodatkowo tą konfigurację (dodatkowo, nie zamiast!)
uci set network.wan.device=wan.35
uci commit
ifup wanKlonowanie adresu MAC
Jeżeli do połączenia do internetu wymagany będzie inny MAC to klonujemy adres poleceniami
uci add network device
uci set network.@device[-1].name=wan
uci set network.@device[-1].mac='01:02:03:04:05:06'
uci commit network
reload_configWcześniej należy upewnić się że nie istnieje już konfiguracja związana z portem "wan", jeżeli tak jest to należy ją zmienić, a nie dodawać nową.
Inny DNS
DNSy przydzielone przez operatora mogą wolno działać lub możemy nie mieć do nich zaufania. Możemy ustawić własne DNSy na wanie
uci set network.wan.dns="8.8.8.8 8.8.4.4"
uci set network.wan.peerdns=0
uci commit network
ifup wanMożna także przekazywać klientom inny adres DNS jeżeli okazało by się że na routerze z jakiegoś powodu wymagany jest serwer od operatora albo używać na routerze szyfrowanego połączenia z serwerem DNS.
Połączenie bezprzewodowe
Inne podejście to połączenie się do istniejącej sieci bezprzewodowej: w hotelu, na lotnisku, w McDonaldzie czy do hotspota udostępnionego z smartfona. Dodajemy kolejny logiczny wan:
uci -q del network.wan_wifi
uci set network.wan_wifi=interface
uci set network.wan_wifi.proto=dhcp
uci add_list firewall.@zone[1].network=wan_wifi
uci commitZaś sieć bezprzewodową ustawiamy zgodnie z tym poradnikiem:
uci -q del wireless.radio0.disabled
uci add wireless wifi-iface
uci set wireless.@wifi-iface[-1].device=radio0
uci set wireless.@wifi-iface[-1].ssid="<publicznie dostępna nazwa sieci>"
uci set wireless.@wifi-iface[-1].encryption=none
uci set wireless.@wifi-iface[-1].mode=sta
uci set wireless.@wifi-iface[-1].network=wan_wifi
uci commit
rebootW tym przykładzie ustawiliśmy pierwszy interfejs radiowy jako klient. Zakładam że mamy także drugi, który nadal jest ustawiony jako AP do którego możemy się podłączyć.
Jeżeli urządzenie mam tylko jeden interfejs radiowy to można na tym samym interfejsie dodać także AP.
Należy pamiętać że sieć może być rozgłaszana zarówno na 2.4GHz jak i 5GHz, więc należy połączenie interfejsu radiowego dobrać stosowanie do sieci do której chcemy się podłączyć.
Aby zobaczyć listę dostępnych sieci posługujemy się przykładowymi poleceniami
iwinfo phy0-ap0 scan
iwinfo phy1-ap0 scanChoć lepiej jest to zrobić z poziomu graficznego z LuCI.

Należy także pamiętać że w niektórych przypadkach jeżeli interfejs radiowy jest już połączony z inną siecią WI-Fi to nie jest możliwe wykonanie skanowania - należy go wtedy znów przekonfigurować w tryb AP.
Połączenie bezprzewodowe - przekaźnik sygnału
Niezbędne pakiety: relayd oraz luci-proto-relay
Jest też możliwość aby używać nasz router jako "wzmacniacz" sieci Wi-Fi - z wykorzystaniem relayd. Ma to zastosowanie w przypadku kiedy zasięg Wi-Fi jest bardzo ograniczony (np. przy jednej ze ścian mieszkania lub tylko na tarasie), a chcielibyśmy mieć zasięg tej sieci na większym obszarze. Taki typ połączenia oznacza zredukowanie funkcjonalności routera do roli zwykłego przekaźnika i pozbycie go innych zalet, więc tylko wspomnę o takich możliwościach.
Travelmate
Niezbędne pakiety: travelmate, luci-app-travelmate, luci-i18n-travelmate-pl

Jeżeli posiadamy tylko jeden interfejs radiowy to niestety musimy pamiętać o fakcie, że jeżeli router nie podłączy się do sieci Wi-Fi to nie będzie także rozgłaszał swojej sieci jako AP, tak samo jak utraci połaczenie to wyłączy Wi-Fi. Wynika to ze specyfiki pracy interfejsów radiowych. Aby zniwelować takie sytuacje, specjalnie w tym celu powstał pakiet travelmate który rozwiązuje ten problem przez aktywne skanowanie sieci i podłączanie się do otwartych lub zdefiniowanych wcześniej sieci. Automatyzuje on wiele czynności związanych z wyszukiwaniem i podłączaniem się do sieci, a także umożliwia automatycznie logowanie się do hotspotów Wi-Fi o ile napiszemy sobie odpowiedni skrypt do tego.
Jeżeli planujemy połączenie przez Wi-FI - używajmy tego pakiety, pomaga w wielu przypadkach.
Połączenie komórkowe z wykorzystaniem modemu USB
Niezbędne pakiety: w zależności od obsługiwanego protokołu połączenia: luci-proto-3g, luci-proto-qmi, luci-proto-mbim
Temat omówiony został w poradniku Router 3G/4G/5G. W zależności od posiadanego modemu komórkowego (czy to wbudowanego w router czy podłączanego po kablu USB), konfigurujemy odpowiednio sekcję konfiguracyjną. W tym przykładzie dla modemów obsługiwanych przez qmi:
uci -q del network.wan_modem
uci set network.wan_modem=interface
uci set network.wan_modem.proto=qmi
uci set network.wan_modem.device=/dev/cdc-wdm0
uci set network.wan_modem.pincode=1234
uci set network.wan_modem.apn=internet
uci add_list firewall.@zone[1].network=wan_modem
uci commit
ifup wan_modemTethering z wykorzystaniem telefonu komórkowego
Niezbędne pakiety: w zależności: kmod-usb-net-rndis lub kmod-usb-net-ipheth, usbmuxd
Wspomniane połączenie przez modem komórkowy ma dwie wady - musimy mieć dodatkową kartę SIM (lub eSIM jeżeli modem potrafi to obsługiwać) oraz - jeżeli modem nie jest wbudowany - musimy nosić i pamiętać o dodatkowym urządzeniu. Jednakże koniecznym wyposażeniem każdego podróżnika jest obecnie telefon komórkowy - smartfon. Jeżeli będziemy kupować kartę SIM to raczej jedną i będziemy ją wykorzystywać właśnie w telefonie. Nic nie stoi na przeszkodzie aby taki telefon podłączyć do routera i wykorzystywać go jako źródło internetu. Telefon można podłączyć na dwa sposoby:
- włączyć w telefonie hotspot i podłączyć router przez Wi-Fi
Zostało to już omówione w jednym z poprzednich akapitów
- włączyć tzw. tethering i podłączyć telefon po kablu USB
Kabel do telefonu i ładowarkę na pewno mamy przy sobie, jeżeli odpowiednio dobraliśmy router to dysponuje on złączem USB dostosowanym do kabla którym się posługujemy. Zwykłe w telefonie należy włączyć opcję tetheringu (udostępnienia połączenia po USB - opcje nazywają się różnie w zależności od producentów telefonów).
Jako przykład dla smartfonów z Andoridem:
uci del network.wan_teth
uci set network.wan_teth=interface
uci set network.wan_teth.proto=dhcp
uci set network.wan_teth.device=usb0
uci add_list firewall.@zone[1].network=wan_teth
uci commit
rebootUrządzenie usb0 może być inne, może to wynikać z konkretnego typu połączenia.
Priorytetyzacja WANów
Uważny czytelnik zauważył że przy każdym typie połączenia posługiwałem się inną nazwą interfejsów:
- wan dla połączeń kablowych
- wan_wifi dla połączeń bezprzewodowych
- wan_modem dla modemów komórkowych
- wan_teth dla połączeń ze smartfonami
Zostało to specjalnie rozdzielone bo wspomniane konfiguracje można mieć wszystkie jednocześnie skonfigurowane na routerze. Mogą one być także jednocześnie aktywne, a to którym łączem będzie wychodziło połączenie do internetu będzie zależało od tzw. metryki interfejsów. Załóżmy że chcemy mieć następującą kolejność:
- połączenie kablowe
- połączenie Wi-Fi
- połączenie komórkowe
- połączenie z telefonem
Gdzie połączenie kablowe będzie tym najważniejszym o ile tylko będzie istniało. Konfigurujemy to w następujący sposób:
uci set network.wan.metric=10
uci set network.wan_wifi.metric=20
uci set network.wan_modem.metric=30
uci set network.wan_teth.metric=40
uci commit network
rebootCzym niższa wartość opcji metric tym większy priorytet łącza. W ten sposób można być podłączonym kablem, do Wi-Fi, można mieć podłączony smartfon, a którędy będziemy wychodzić w świat zależy od ustawionego priorytetu łącza.
Sprawa połączenia z internetem została zakończona teraz skupimy się na różnych funkcjonalnościach routera.
- mwan3
Niezbędne pakiety: mwan3, luci-app-mwan3, luci-i18n-mwan3-pl
Opis tego pakietu zawarty jest w tym poradniku. Jest on przydatny tylko jeżeli faktycznie mamy kilka źródeł dostępu do internetu i zapewni nam zarówno rozłożenie obciążenia pomiędzy interfejsami jak i ew przełączenie awaryjne pomiędzy nimi. Jednakże w podróży pewnie nie będzie to możliwe do zrealizowania stąd postanowiłem że nie będę umieszczał tego na docelowej liście pakietów do routera.
- adblock
Niezbędne pakiety: ablock, luci-app-adblock, luci-i18n-adblock-pl, choć są też dostępne inne pakiety realizujące te funkcje.
Blokowanie domen można zrealizować "ręcznie" albo wykorzystując odpowiednie pakiety, np. AdBlock. Z tym że "blokowanie reklam" jest lekko naciąganym terminem, bo blokowane są tylko domeny i tym samym wszystkich reklam nie da się wyciąć tak samo jak reklam na YT. Jednakże sprzyja to oczyszczaniu witryn internetowych z krzykliwych elementów a także pozawala na ograniczenie transferu danych przez ignorowanie zbędnych elementów strony. Dodatek jest całkowicie opcjonalny i od nas zależy czy zostanie włączony czy nie. Należy także pamiętać że przy domyślnej konfiguracji przy podłączeniu do internetu dodatek będzie pobierał kilkanaście megabajtów danych z listami blokad, co przy słabym lub niestabilnym łączy może powodować nieprzewidziane przestoje w dostępnie do internetu.
- serwer nazw i domeny
Domyślny serwer nazw (dnsmasq) jest tak skonfigurowany że nie będzie dopuszczał dostępu do domen które rozwiązują się na prywatne adresy IP. O ile nie ma to znaczenia przy normalnym dostępnie o tyle może stanowić problem przy podłączeniu do np. hotelowego hotspota, gdzie wiele domen przed autoryzacją użytkownika może rozwiązywać się właśnie na prywatne adresy. Można to skonfigurować na dwa sposoby:
- albo dodajemy domeny do wyjątków, np:
uci set dhcp.@dnsmasq[0].rebind_protection=1
uci add_list dhcp.@dnsmasq[0].rebind_domain=hotspot.captive.com
uci commit
/etc/init.d/dnsmasq restartalbo w ogóle wyłączamy ten mechanizm
uci set dhcp.@dnsmasq[0].rebind_protection=0
uci commit
/etc/init.d/dnsmasq restartW tym przypadku należy wtedy uważać czy pod adresami stron np. banków czy innych serwisów nie kryją się podstawione lokalnie strony.
Można także stosować szyfrowanie DNSów.
- VPN
Wielkim pomocnikiem podróżnika będzie VPN. Zapewni on nam bezproblemowy dostęp do zasobów naszej sieci lokalnej jeżeli postawiliśmy swój własny serwer, zapewni nam bezpieczeństwo przy dostępnie do np. banków o ile tylko ufamy drugiej stronie VPNa do której jesteśmy połączeni, zapewni nam także obejście blokad geolokalizacyjnych i dostęp do zasobów które nie są dostępne w danym kraju.
Niezbędne pakiety: openvpn-mbedtls, luci-app-openvpn, luci-i18n-openvpn-pl, wireguard-tools, luci-proto-wireguard
Jako przykładowych typów VPN możemy używać OpenVPN czy WireGuard, choć dostępne są takie inne typy jako stare pptp czy bardziej skomplikowany IPSec. Zastosowanie danego VPN determinuje typ serwera do którego będziemy się łączyć. Czy to będzie połączenie do domowego serwera, czy wykupicie komercyjną usługę VPN to już zależy wyłączenie od Was. Nawet jeżeli nie posiadacie publicznego adresu IP to możecie zrobić sobie serwer na jakimś hoście w sieci np. Mikrus FROG który kosztuje dosłownie równowartość 10 plastikowych butelek, podłączyć do niego swój dom i mieć tak samo dostęp do zasobów sieci domowej, lub wykorzystać np. ZeroTier czy Tailscale.
Nie mówiąc już o tym że na czas wyjazdu możecie w domu zainstalować kamerę do poglądu i przez VPN mieć dostęp do transmitowanego obrazu. Możecie mieć także dostęp do zasobów sieci domowej jak dostęp do domowego serwera jellyfin na którym przechowujecie domowe filmiki. VPN będzie w podróży miał wiele zalet, więc używajcie go jeżeli możecie (i nie jest to artykuł sponsorowany
).
- przycisk
Jeżeli router ma dostępny dodatkowy przycisk na obudowie (np. oznaczony "wifi" czy "wps") to można go łatwo wykorzystać do realizacji własnej funkcjonalności. Opis wykorzystania przycisków zawarty jest w tym poradniku.
Załóżmy że router dysponuje przyciskiem który przez OpenWrt jest rozpoznawany jako "wps". Mamy skonfigurowany OpenVPN w sekcji o nazwie dom który domyślnie jest wyłączony, chcemy aby po naciśnięciu przycisku OpenVPN się uruchomił, a następnie naciśnięcie go wyłączyło. Zmieniamy skrypt /etc/rc.button/wps na następujący (tego z LuCI już nie można zrobić i trzeba ręcznie z konsoli)
#!/bin/sh
T=$(ubus call network.interface status "{\"interface\":\"dom\"}" 2>/dev/null | jsonfilter -q -e @.up)
if [ "x$T" = "xfalse" ]; then
uci set openvpn.dom.enabled=1
else
uci set openvpn.dom.enabled=0
fi
/etc/init.d/openvpn restart
uci revert openvpn
exit 0Możemy także tutaj dodać włączenie jakieś diody LED.
Pod przycisk można podpiąć też inne rzeczy - włączenie wifi, adblocka, przełączenie na inny VPN, wznowienie połączenia z internetem. Dowolną rzecz którą chcemy mieć możliwość "przełączania".
- przechowania multimediów
Jeżeli mamy odpowiednio wydajny router, ze slotem na kartę SD czy USB do podłączenia pendrive możemy także pokusić się o instalacje dockera i tym samym hostować sobie na routerze różne aplikacje. Przydany będzie np. Memos aby móc pisać i synchronizować notatki które nigdy nie będą krążyły po internecie czy zainstalować Immich i zrobić automatyczny backup zdjęć czy innych multimedi dzięki aplikacji zainstalowanej na smartfonie, do późniejszego przeglądania wieczorem.
Aplikacje takie jak agregatory newsów FreshRSS czy aplikację do obrazów Immitch możemy zainstalować także w zaciszu sieci domowej i przy pomocy VPN'a łączyć się do niej i na bieżąco korzystać z jej zasobów. Co nawet jest lepsze bo mamy od razu kopie online naszych zdjęć.
Podsumowanie
Przedstawione polecenia są przeznaczone do wprowadzenia w konsoli. Wszystkie wspomniane elementy można także wyklikać bezpośrednio w LuCI.

Jeszcze raz sugeruję wcześniejsze przygotowanie takiego routera w domu, sprawdzenie jego możliwości i funkcjonalności. Będąc w podróży często już nie mamy czasu na konfigurację, stres i zmęczenie może też spowodować że nie będziemy w stanie odpowiednio skonfigurować sprzętu i będzie on tylko powodować złość i frustrację skierowaną na niedziałającą technologię. Jeżeli zamierzacie używać takiego sprzętu - zróbcie go wcześniej.
Ostateczna lista pakietów ze wszystkimi elementami wymienionymi w tym poradniku
luci luci-ssl luci-app-attendedsysupgrade luci-app-firewall luci-app-package-manager luci-i18n-attendedsysupgrade-pl luci-i18n-base-pl luci-i18n-firewall-pl luci-i18n-package-manager-pl luci-mod-dashboard luci-i18n-dashboard-pl ppp-mod-pppoe luci-proto-relay luci-app-travelmate luci-i18n-travelmate-pl curl luci-proto-3g luci-proto-qmi luci-proto-mbim usb-modeswitch luci-app-adblock luci-i18n-adblock-pl luci-proto-wireguard luci-app-openvpn luci-i18n-openvpn-pl openvpn-mbedtls kmod-usb-net-rndis kmod-usb-net-ipheth usbmuxdUżytkownik może (i powinien!) dostosować tą listę do własnych potrzeb i wymagań. Obraz złożony z pakietów ze wspomnianej listy powinien mieć wielkość ok 8-9MB, więc powinien się zmieścić do routerów posiadających tylko 16MB flash. Listę można lekko zmodyfikować wyrzucając zbędne pakiety (jak odhcp6c/odhcpd-ipv6only czy luci-app-adblock/luci-i18n-adblock-pl, luci-app-attendedsysupgrade/luci-i18n-attendedsysupgrade-pl) co pozwoli na jego dalsze zmniejszenie wielkości.
I końcowa uwaga związana ze wcześniejszym przygotowaniem urządzenia - będąc w podróży nie róbcie aktualizacji pakietów lub samego oprogramowania, o ile nie jest bezwzględnie koniecznie. Jeżeli sprzęt działa to niech działa, jeżeli zajdą nieprzewidziane okoliczności (jak np. chwilowa niedostępność jednego z repozytorium pakietów) to można skończyć z niedziałającymi usługami lub niefunkcjonalnym routerem.
Jeżeli jesteście podróżnikami, niezależnie od tego czy pokonujecie dziesiątki kilometrów miesięcznie czy tylko jeździcie na weekend do babci, i zabieracie ze sobą takie urządzenia - podzielcie się własnymi doświadczeniami.
