chaos-calmer

Kształtowanie ruchu z qos-scripts w OpenWRT

Każdy bardziej zaawansowany administrator sieci prędzej czy później będzie chciał wdrożyć na swoim routerze wyposażonym w firmware OpenWRT pewien mechanizm QoS umożliwiający kształtowanie ruchu sieciowego. Ci, którzy się za ten temat zabierali, wiedzą, że nie jest on prosty w realizacji. Zwłaszcza, gdy chce się cały ten system zarządzania pakietami skonfigurować od podstaw przy pomocy narzędzi takich jak iptables , tc oraz ip . Z tego też względu OpenWRT umożliwia nam nieco prostszą w konfiguracji alternatywę polegającą na zainstalowaniu narzędzi zawartych w pakietach wshaper , qos-scripts lub sqm-scripts . Trzeba przy tym pamiętać, że mechanizm, który zostanie stworzony z wykorzystaniem jednego z tych w/w pakietów nie będzie tak elastyczny jak przy ręcznej konfiguracji od podstaw. Niemniej jednak, w tym artykule postaramy się ogarnąć kształtowanie ruchu przy pomocy tych pakietów.

Różne adresy LAN i WLAN w OpenWRT (Routed AP)

W standardowej konfiguracji OpenWRT, hosty łączące się za pomocą sieci bezprzewodowej jak i tej przewodowej są spięte razem za pomocą mostka (bridge) i tworzą jedną sieć lokalną. Nie ma w tym nic dziwnego, bo przecie chcemy, aby komunikacja między wszystkimi hostami w sieci LAN odbywała się bez większych przeszkód. Przynajmniej takie jest standardowe podejście przy konfiguracji sieci domowej. Niemniej jednak, w pewnych przypadkach istnieje potrzeba oddzielenia maszyn, które nawiązują połączenie za pomocą sieci WiFi od tych, które łączą się przewodowo. Generalnie chodzi o różne adresy, które zostaną przypisane sieciom LAN i WLAN. Rozwiązanie, które zostanie opisane w tym artykule jest podobne do tworzenia bezprzewodowej sieci gościnnej (guest WLAN), z tą różnicą, że w tym przypadku będziemy mieli do czynienia tylko z jedną siecią WiFi (tzw. Routed AP).

Bezprzewodowa sieć gościnna (guest WLAN)

Routery WiFi zwykle oferują jedną sieć bezprzewodową, do której użytkownicy mogą się łączyć po podaniu nazwy ESSID oraz hasła. W przypadku znanych nam osób chcących korzystać z udostępnianego przez nas AP, taka sieć powinna nam w pełni wystarczyć. Problem jednak zaczyna się w przypadku tych użytkowników, którym chcemy zezwolić na dostęp do naszej sieci WiFi ale nie darzymy ich zbytnio wysokim kredytem zaufania. By ten problem rozwiązać, w OpenWRT możemy skonfigurować mechanizm zwany "guest WLAN", czyli bezprzewodowa sieć gościnna. W tym artykule zobaczymy jak odseparować od siebie hosty w sieci LAN od tych w sieci gościnnej.

Konfiguracja DMZ w OpenWRT

Strefa zdemilitaryzowana (DMZ, demilitarized zone) to taki mechanizm, który ma na celu poprawę bezpieczeństwa usług w sieci lokalnej. Generalnie chodzi o podział sieci na kilka mniejszych podsieci i oddzielenie ich od siebie fizycznie lub logicznie. W OpenWRT możemy wydzielić taką strefę DMZ przy pomocy VLAN'ów. Z kolei odpowiednio skonfigurowany firewall odseparuje nam tę strefę od pozostałych maszyn pracujących w sieci LAN. W taki sposób nawet w przypadku włamania mającego miejsce w strefie DMZ, maszyny w pozostałych segmentach sieci będą bezpieczne. W tym wpisie postaramy się skonfigurować strefę zdemilitaryzowaną na routerze wyposażonym w firmware OpenWRT.

Sieciowy system plików w OpenWRT (NFS)

Network File System) to sieciowy system plików, za pomocą którego maszyny mające na pokładzie system operacyjny linux, w tym tez OpenWRT, są w stanie udostępniać pliki w sieci. Zatem NFS to głównie domena linux'ów. W przypadku windowsów można korzystać z protokołu SMB (samba). Sposób udostępniania zasobów przy pomocy tego sieciowego systemu plików jest bardzo podobny do tego, który jest realizowany w przypadku protokołu SSHFS. Zasadniczą różnicą między NFS i SSHFS jest brak szyfrowania komunikacji. W warunkach domowej sieci, ta cecha raczej nie stanowi większego problemu. Poza tym, trzeba też brać pod uwagę fakt, że szyfrowanie znacznie obciążyłoby router, co przełożyłoby się na spadek prędkości transferu. W tym wpisie zobaczymy jak na routerze z OpenWRT zaimplementować protokół NFS i udostępnić za jego pomocą zasoby w sieci lokalnej.

Serwer FTP na routerze z OpenWRT (vsftpd)

Usługa FTP jest w miarę wygodnym rozwiązaniem w przypadku, gdy chcemy korzystać z zasobów udostępnianych przez router zarówno na linux'ach jak i na windowsach. Jedyne czego potrzebujemy to kawałek przeglądarki albo jakiegoś klienta FTP. W tym protokole nie ma też znaczenia system plików, w którym znajdują się udostępniane pliki. Jedyne co nas interesuje, to postawienie serwera na routerze i podanie klientom namiarów na niego. W OpenWRT możemy do tego celu zaprzęgnąć vsftpd . W tym wpisie pokażę jedynie jak tego typu usługę uruchomić na domowym routerze WiFi i jak ją wstępnie skonfigurować. Wszelkie kwestie techniczne związane z działaniem samego serwera FTP jak i jego wszystkich parametrów już opisywałem przy okazji wdrażania vsftpd w dystrybucji debian. Zachęcam zatem do zapoznania się również z tym podlinkowanym wpisem.

Stałe nazwy urządzeń w OpenWRT (hotplug, udev)

Bezprzewodowy router WiFi to w miarę proste urządzenie, które w zasadzie realizuje kilka podstawowych aspektów pracy sieci domowej. Wielu użytkownikom jednak jest nieustannie potrzebna jakaś nowa funkcjonalność, której oryginalny firmware producenta nie oferuje. Dlatego też mamy do dyspozycji OpenWRT będący minimalistyczną formą bardziej rozbudowanej dystrybucji linux'a. Może i OpenWRT daje nam możliwość zaawansowanej konfiguracji naszej sieci ale tego typu opcja powoduje też szereg problemów. Chodzi o to, że kernel dynamicznie tworzy nazwy dla wszystkich podłączanych urządzeń do routera. W dużych dystrybucjach linux'a do ogarnięcia tych nazw wykorzystywany jest UDEV. W przypadku OpenWRT też możemy skorzystać tego mechanizmu. Jeśli jednak mamy niewiele miejsca na pamięci flash routera, to możemy też skorzystać ze zdarzeń hotplug. W tym wpisie postaramy się przepisać nazwy pendrive/dysków twardych oraz modemów USB (LTE), tak by ich kolejność podłączania do routera nie stwarzała problemów w konfiguracji.

Most bezprzewodowy w OpenWRT (tryb WDS)

Tryb WDS (Wireless Distribution System) umożliwia stworzenie mostu bezprzewodowego, w którym to nadrzędny AP (Access Point) przekazuje pakiety do klientów WDS. Ci z kolei przesyłają te pakiety dalej do podrzędnych AP. Z reguły routery posiadają funkcję WDS i po jej aktywowaniu, ten drugi AP będzie wzmacniał i rozsyłał otrzymany sygnał dalej w granicach swojego zasięgu. Tryb WDS nie jest jednak standardem i producenci firmware oraz sterowników implementują go inaczej, co przekłada się na problemy z kompatybilnością. Jeśli chcemy korzystać z opcji WDS w OpenWRT, to najlepiej posiadać kilka takich samych urządzeń i dobrze jest mieć na nich wgrane to samo oprogramowanie. W tym wpisie zaprojektujemy sobie taki most bezprzewodowy w oparciu o dwa routery firmy TP-LINK: TL-WDR3600 v1 oraz Archer C7 v2, na których jest wgrany firmware OpenWRT Chaos Calmer 15.05.1 .

Konfiguracja WISP w OpenWRT (tryb STA + AP)

Routery wyposażone w firmware OpenWRT mają tę zaletę, że ich bezprzewodowe karty sieciowe można w miarę dowolnie sobie skonfigurować. Oryginalne oprogramowanie producenta takiego sprzętu zwykle nie umożliwia nam przełączenia kart routera w inny tryb niż AP (Access Point). W OpenWRT możemy ustawić praktycznie dowolny tryb, o ile pozwala na to sterownik karty WiFi. W ten sposób możemy aktywować, np. tryb MONITOR. W tym wpisie jednak będzie nas interesował tryb STA (STATION), czyli postaramy się przełączyć karty WiFi routera w tryb klienta. Jest to bardzo przydatna opcja w przypadku, gdy mamy do czynienia z Wireless Internet Service Provider (WISP), czyli bezprzewodowymi dostawcami internetu.

Karta WiFi w trybie MONITOR w OpenWRT

Routery WiFi, zwłaszcza te na podzespołach firmy Qualcomm, mają zwykle bardzo dobre wsparcie w alternatywnym firmware OpenWRT. Te bezprzewodowe routery posiadają na pokładzie zwykle jedną lub dwie karty WiFi, w zależności od obsługiwanego pasma (2,4 GHz i/lub 5 GHz). Karty tych routerów działają standardowo w trybie AP (Access Point), czyli punktu dostępowego. W taki sposób jesteśmy w stanie bezprzewodowo połączyć szereg urządzeń w sieci domowej z internetem. Niemniej jednak, karta WiFi może pracować w kilku innych trybach. W tym wpisie zobaczymy jak przełączyć kartę WiFi routera w tryb MONITOR.