Sieć

Wake On LAN z etherwake pod OpenWRT

Router wyposażony w firmware OpenWRT potrafi wybudzać maszyny w sieci lokalnej. Wake On LAN (WOL) nie działa przez internet, a jedynie, jak sama nazwa sugeruje, w sieci LAN. W tym mechanizmie wykorzystywany jest broadcast, a routery nie forward'ują pakietów rozgłoszeniowych. Oczywiście, nic nie stoi na przeszkodzie, by zalogować się na router via SSH od strony WAN i wybudzić jakąś maszynę z poziomu routera. Komputery, które chcemy budzić muszą mieć odpowiednią płytę główną. Prawdopodobnie wszystkie nowsze płyty już taką właściwość posiadają. Dodatkowo, trzeba w BIOS'ie ustawić odpowiednie opcje. Ważną rzeczą jest, by nie wyłączać PC przyciskiem w obudowie (lub na zasilaczu), bo wtedy nie będzie możliwe wybudzenie maszyny, nawet po dostarczeniu jej zasilania. Wyłączenia maszyny musimy dokonać z poziomu systemu operacyjnego, tylko wtedy WOL zadziała. W tym wpisie pokażemy jak przy pomocy etherwake wybudzić określonego hosta w sieci LAN.

NAT Reflection oraz NAT Loopback w OpenWRT

Mechanizm NAT Loopback nazywany też NAT Reflection lub NAT Hairpinning często jest pomijany przy omawianiu tematyki firewall'a. Chodzi generalnie o możliwość uzyskiwania dostępu do zasobów w sieci lokalnej po adresie, który jest na zewnętrznym interfejsie sieciowym routera. W taki sposób mając dwa hosty w sieci lokalnej, jeden z nich jest w stanie uzyskać dostęp do usług znajdujących się na drugim hoście przez wykorzystanie zewnętrznego często też publicznego adresu IP. W tym wpisie przybliżymy sobie zasadę działania tego mechanizmu.

Sieć bezprzewodowa WiFi w OpenWRT (WLAN)

Sieć bezprzewodowa w dzisiejszych czasach to podstawa. Z reguły routery posiadają jedno radio operujące na częstotliwości 2,4 GHz. Te nieco nowsze (i droższe) modele mają do dyspozycji dwa radia: 2,4 GHz oraz 5 GHz. OpenWRT zapewnia wsparcie zarówno dla sieci pracującej w paśmie 2.4 GHz jak i tej nadającej w 5 GHz. Konfiguracja tych pasm w OpenWRT różni się nieco. Weźmy dla przykładu obsługę kanału 12 i 13, którą dotyczy tylko sieci pasma 2.4 GHz. Podobnie sprawa ma się z szerokością kanałów, która jest inna w przypadku obu tych pasm. Niemniej jednak, większość opcji pozostaje taka sama i w tym artykule rzucimy okiem na zagadnienie konfiguracji sieci WiFi w OpenWRT.

Konfiguracja interfejsów sieciowych w OpenWRT

Routery, które posiadamy w naszych domach, znane są z tego, że mają szereg interfejsów sieciowych. Taki przeciętny router jest wyposażony w switch z 5 portami RJ-45. Zwykle jest on też wirtualnie podzielony (VLAN) na kilka interfejsów, standardowo LAN i WAN. Do tego z reguły dochodzą jeszcze interfejsy bezprzewodowe WLAN na pasmo 2.5GHz i 5GHz. Jakby tego było mało, to mamy jeszcze wirtualny interfejs mostka, który spina ze sobą lokalne interfejsy switch'a z interfejsami bezprzewodowymi tworząc w ten sposób jeden interfejs, przez który pakiety wydostają się z naszej sieci i lecą dalej w świat przez interfejs WAN. Jest to trochę skomplikowane, dlatego też w tym wpisie przyjrzymy się całej tej konfiguracji interfejsów sieciowych w OpenWRT.

Jak sklonować adres MAC w OpenWRT

Każde urządzenie sieciowe ma przypisany jakiś adres MAC. Jest to numer, który identyfikuje je w strukturze sieci. Gdy zachodzi potrzeba rozbudowania sieci domowej, możemy napotkać problemy z naszym obecnym ISP. Załóżmy, że posiadaliśmy do tej pory jeden komputer, który był wpięty bezpośrednio do łącza ISP. Jeśli dokupiliśmy router i podłączymy go w miejsce komputera, to urządzenie, które widzi nasz provider, ulega zmianie. W takim przypadku nie ma znaczenia samo urządzenie, a liczy się jedynie zmiana adresu MAC. Providerzy internetowi mają powiązane adresy MAC z adresami IP i nowo wpięty router nie otrzyma adresu IP, bo ma nieautoryzowany MAC. W takiej sytuacji zwykle wystarczy telefon do ISP z prośbą o aktualizację tego adresu. Niemniej jednak, czasami ISP każą sobie dodatkowo płacić za tę czynność. Jeśli jesteśmy postawieni w takiej sytuacji, to możemy sklonować sobie adres MAC tej maszyny, którą wcześniej widział nasz ISP. Z jego perspektywy nic się nie zmieni, a my będziemy mogli sobie rozdzielić sygnał na tyle komputerów, ile tylko chcemy, nie ponosząc przy tym dodatkowych opłat. W niniejszym artykule zostanie opisany sposób na przeprowadzenie klonowania adresu MAC na routerze z wgranym firmware OpenWRT.

Jak przypisać losowy adres MAC do interfejsu

Interfejsy kart sieciowych, które są instalowane w komputerach, posiadają adres MAC (Media Access Control). Jest to unikalny identyfikator, który wyróżnia nasz komputer spośród tłumu. Na podstawie tego adresu można nie tylko określić markę sprzętu, którą się posługujemy ale także można sklasyfikować cały nasz ruch sieciowy. W ten sposób bardzo prosto możemy zostać zidentyfikowani wymieniając dane przez darmowe hotspoty sieci bezprzewodowych WiFi. Niemniej jednak, jesteśmy się w stanie obronić przed tego typu inwigilacją zmieniając adres MAC naszego komputera. Nie jest to zbytnio trudne ale trzeba uważać, by znowu nie przesadzić w drugą stronę i czasem nie zostać zidentyfikowanym przez naszą "odmienność". W tym wpisie postaramy się wypracować taki mechanizm, który zmieni nam adres MAC przy każdym podłączeniu do sieci i przy zachowaniu zdroworozsądkowych zasad.

Przeciek DNS (DNS leak) w VPN (resolvconf)

Przeciek DNS (dns leak) to nic innego jak wyciek poufnej informacji, za sprawą nieprawidłowej konfiguracji resolver'a DNS. Może niekoniecznie jest winne tutaj samo oprogramowanie, które realizuje zapytania DNS, czy też serwer domen jakiejś organizacji. Chodzi głównie o tematykę VPN, gdzie cały ruch sieciowy powinien być wrzucany do tunelu SSL/TLS i szyfrowany. W pewnych sytuacjach, zapytania DNS mogą zostać wysyłane pod zewnętrzny resolver, często w formie niezaszyfrowanej i do tego poza połączeniem VPN. Ten ruch można podsłuchać, przechwycić i poddać analizie. Celem tego artykułu jest tak skonfigurowanie linux'a (w tym przypadku dystrybucja Debian), by te przecieki wyeliminować. Jest to możliwe za sprawą narzędzia resolvconf.

Konfiguracja połączenia Aero2 na OpenWRT

Darmowy internet oferowany przez Aero2 nie grzeszy zbytnio osiągami, bo mamy do dyspozycji jedynie 512 kbit/s. Niemniej jednak, taka prędkość w zupełności wystarcza do przeglądania stron internetowych. Gorzej z oglądaniem materiałów video w serwisach takich jak YouTube. To jednak nie ma raczej większego znaczenia, bo przecie usługa jest za free, a poza tym, możemy dokupić szereg pakietów aktywujących pełną prędkość w technologi LTE. Problem w tym, że od Aero2 możemy otrzymać tylko jedną kartę SIM na użytkownika. Może i mamy możliwość dostania kilku kart na jeden adres zamieszkania ale i tak trzeba by dla każdego SIM załatwić osobny modem LTE. Zwykle takie rozwiązanie nie wchodzi w grę, zwłaszcza, gdy z internetu korzystamy raczej sporadycznie. Mając jednak router z alternatywnym firmware OpenWRT, możemy do jednego z jego portów USB doczepić taki modem i udostępnić połączenie internetowe wszystkim urządzeniom w naszej sieci domowej. W tym artykule postaramy się to zadanie zrealizować.

Wvdial i PPP, czyli modem LTE w trybie RAS

Jak wielu użytkowników linux'a zapewne wie, modem GSM/UMTS/LTE może pracować w kilku trybach. Najpopularniejszym z nich jest tryb RAS wykorzystujący interfejsy udostępniane przez to urządzenie w katalogu /dev/ , zwykle ttyUSB0 , ttyUSB1 , etc. By taki modem mógł nawiązać połączenie z siecią, potrzebny jest demon PPP. O trybie RAS wspominałem już parokrotnie, min. we wpisach dotyczących konfiguracji połączenia LTE w RBM/Play jak i przy omawianiu problemów z resolver'em DNS w przypadku Aero2. Generalnie ten tryb różni się trochę od trybu NDIS(NCM) głównie tym, że tutaj nie uzyskamy większych prędkości niż 20-30 mbit/s. Niemniej jednak, jeśli nie mamy dobrej jakości połączenia LTE, lub nasz modem z jakiegoś powodu pod linux'em nie potrafi pracować w trybie NDIS, to możemy skonfigurować połączenie w trybie RAS wykorzystując do tego celu wvdial oraz demona PPP.

Konfiguracja modemu LTE w trybie NDIS (NCM)

Sporo modemów LTE potrafi pracować w kilku trybach. Weźmy na przykład modem Huawei E3372s-153 w wersji NON-HiLink. Standardowo obsługuje on tryb RAS (Remote Access Services) jak i NDIS (Network Driver Interface Specification). Domyślnie też włączony jest NDIS ale, by móc z tego trybu korzystać na debianie, musimy nieco inaczej skonfigurować sobie połączenie sieciowe. Gdy w grę wchodzą modemy LTE, to użytkownicy zwykli korzystać z narzędzia wvdial , który zaprzęga do pracy demona PPP i w ten sposób modem zaczyna pracować w trybie RAS, a nie NDIS. W tym wpisie skonfigurujemy sobie połączenie sieciowe na debianie w taki sposób, by wykorzystywało ono potencjał trybu NDIS.