Posts

Konfiguracja przycisków w OpenWRT

Każdy router w standardzie ma na swojej obudowie kilka przycisków. Zwykle są to przyciski zasilania, restartu i przełącznik sieci bezprzewodowej. Różnie są one oznaczane i można się spotkać z QSS, WPS, reset czy WiFi. O ile z przyciskiem zasilania nic więcej się nie da zrobić, bo po naciśnięciu go router jest odcinany od źródła zasilania ale w przypadku pozostałych przycisków mamy zwykle pełną swobodę w ich konfiguracji i można je sobie odpowiednio zaprogramować. Oczywiście trzeba widzieć jak tego dokonać i dlatego właśnie powstał ten artykuł.

Konfiguracja diod w routerze pod OpenWRT (LED)

Praktycznie każdy router posiada szereg diod LED, które wizualizują stan pracy takiego urządzenia. W taki sposób jesteśmy w stanie stwierdzić czy sieć WiFi jest aktualnie włączona albo czy odbywa się wymiana danych za jej pomocą. Podobnie możemy ocenić aktywność mechanizmu WPS oraz czy połączenie przewodowe zostało ustanowione. Routery TP-LINK'a mają także w standardzie diodę system , która informuje nas czy router działa prawidłowo i nie uległ powieszeniu. W OpenWRT wszystkie te wyżej opisane właściwości można skonfigurować, tak by dioda LED reagowała w określony sposób na pewne zaistniałe zdarzenie. W tym wpisie przyjrzymy się bliżej konfiguracji diod routera.

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.

Szyfrowanie logów w OpenWRT (syslog-ng)

We wpisie dotyczącym logread została podniesiona kwestia przesłania logów przez sieć. OpenWRT jest w stanie tego typu zadanie realizować po określeniu kilku dodatkowych opcji w pliku /etc/config/system . Trzeba jednak zdawać sobie sprawę, że tak przesyłane komunikaty nie będą w żaden sposób zabezpieczone. W sieci domowej raczej nie musimy sobie zawracać głowy tym mankamentem. Niemniej jednak, gdy w grę wchodzi przesyłanie logów do zdalnego serwera zlokalizowanego gdzieś w internecie, to taką komunikację należy zabezpieczyć przed podsłuchem. Niestety OpenWRT standardowo nie wspiera takich udziwnień ale dysponuje on pakietami, które mogą nam zapewnić taką funkcjonalność. Szyfrowanie logów możemy w łatwy sposób wdrożyć za pomocą pakietu syslog-ng3 . W nim znajduje się demon syslog-ng , który jest kompatybilny w pełni z innymi linux'owymi demonami logowania. Nie powinno zatem być problemów ze skonfigurowaniem tego całego mechanizmu.

W OpenWRT w wersji Chaos Calmer nie ma pakietu syslog-ng3 . W efekcie szyfrowanie logów routera nie jest obecnie możliwe. Ten wpis dotyczy jedynie wydania Barrier Breaker i zostanie zaktualizowany jak tylko wspomniany pakiet trafi do repozytorium.

Logread, czyli system logowania w OpenWRT

Każdy szanujący się system, nawet ten najmniejszy na bazie OpenWRT, musi posiadać mechanizm logowania komunikatów. Logi routera to bardzo ważna rzecz. Jeśli coś dolega naszemu małemu przyjacielowi, to jest niemal pewne, że właśnie wśród tych wiadomości znajdziemy przyczynę problemów. Każda usługa systemowa działająca na routerze przesyła logi, które są zbierane przez demon logowania. W Chaos Calmer odpowiadają za to logd oraz logread . Standardowa konfiguracja logów w OpenWRT nie jest raczej skomplikowana ale niewiele osób wie, że logi routera można zapisywać w pliku lub przesłać je przez sieć do innego hosta. W tym wpisie postaramy się właśnie zrealizować te dwa zadania.

Strefa czasowa (timezone) w OpenWRT

Tanie routery WiFi przeznaczone do użytku domowego nie zawierają w sobie zegara czasu rzeczywistego (RTC, Real Time Clock). Taki zegar jest implementowany w standardowych komputerach PC czy laptopach ale większość routerów go nie posiada. Niesie to za sobą pewne komplikacje. Skąd niby router ma wiedzieć jaki mamy aktualnie czas, skoro nie ma żadnego punktu odniesienia? Komputer bez precyzyjnie ustawionego czasu może mieć problemy z certyfikatami SSL/TLS. Niewłaściwy czas może także utrudnić analizę pewnych zdarzeń typu nieautoryzowane próby dostępu do sieci. Ważne jest zatem, by czas na routerze wyposażonym w firmware OpenWRT był zawsze aktualny i w tym wpisie postaramy się zadbać o to, by strefa czasowa była odpowiednia, oraz by router uwzględniał czas letni. Przyjrzymy się także mechanizmom aktualizacji czasu przez protokół NTP.

Hostname, czyli nazwa hosta w OpenWRT

Po wgraniu świeżego firmware OpenWRT, mamy domyślnie skonfigurowany system, który umożliwia nam nawiązanie połączenia sieciowego ze światem. Niemniej jednak, w przypadku posiadania w domu kilku stacji roboczych, zapamiętanie ich adresów IP może być niemałym problemem. Niemniej jednak, każdemu hostowi w sieci możemy przypisać nazwę, tzw. hostname. W ten sposób możemy powiązać nazwy poszczególnych komputerów z przypisanymi in adresami IP. To rozwiązanie ma tę zaletę, że nie musimy pamiętać już adresów IP. Możemy za to posługiwać się nazwami, które są o wiele łatwiejsze do zapamiętania dla człowieka. Działa to mniej więcej na tej samej zasadzie co domeny internetowe. W tym wpisie postaramy się skonfigurować domenę, w której pracuje router oraz nazwy hostów w sieci.

Skrypty startowe init w OpenWRT

Znaczna część usług, które są dostępne w OpenWRT, jest odpalana w fazie startowej routera. Te zadnia są realizowane przez skrypty startowe, które są dołączane w konkretnych pakietach. Takie skrypty są wywoływane w odpowiedniej kolejności. Każdy z nich można dodać lub usunąć z autostartu. W przypadku, gdy jakaś usługa nie dostarcza swojego skryptu startowego, możemy pokusić się o napisanie jej takowego. Oczywiście, nic też nie stoi na przeszkodzie, by utworzyć własne skrypty startowe, które niekoniecznie odnoszą się do określonych usług. Mogą one np. realizować pewne określone zadanie. W tym wpisie przybliżymy sobie trochę budowę skryptów startowych w OpenWRT tak, by być w stanie je tworzyć i edytować jeśli zajdzie taka potrzeba.

Zmiana rozmiaru katalogu /tmp/ pod OpenWRT

OpenWRT ma w swoich repozytoriach całe mnóstwo pakietów. By móc je zainstalować, potrzebne jest nam miejsce na flash'u routera. Ten z kolei nie jest zbyt duży, często nie przekracza 16 MiB. Podczas pracy, system operacyjny routera przeprowadza cały szereg operacji. Część z nich generuje jakieś dane, np. tworzone są pliki konfiguracyjne, generowane statystyki czy pobierane z internetu pliki w celu dalszego ich przetworzenia. Zwykle są to pliki, które wędrują do katalogu /tmp/ . Gdybyśmy chcieli zapisać wszystkie te informacje na flash'u routera, to zabrakłoby nam zwyczajnie miejsca. Inną kwestią są problemy związane z zapisem samego flash'a, który ulega zużyciu. Dlatego też, szereg operacji zapisu został przeniesiony do pamięci operacyjnej RAM. W ten sposób mamy do wykorzystania nieco więcej miejsca ale standardowo nie więcej niż 50% wielkości pamięci operacyjnej. Wielkość tego RAMdysku można dostosować i w tym wpisie zobaczymy jak to zrobić.

Dysk, pendrive i inne nośniki pod OpenWRT

Czym by był router bez portów USB? Obecnie chyba wszystkie routery posiadają przy najmniej jeden taki port. Umożliwia to podłączenie pendrive, dysku USB, drukarki i innych urządzeń posiadających interfejs USB. W przypadku, gdy posiadamy jeden port USB i chcemy podłączyć dwa (lub więcej) urządzenia, musimy skorzystać z hubów USB. Ja w przypadku swojego routera TP-LINK TL-WR1043N/ND v2 mam zastosowane właśnie takie rozwiązanie. Niby potrzebuję trzy porty USB, a ten router ma tylko jeden. Co prawda, pojawia się problem z zapotrzebowaniem na energię ale aktywne huby USB wyposażone w zasilacze niwelują tę dolegliwość. Ten wpis ma na celu przedstawić zarządzanie tymi wszystkimi nośnikami pod OpenWRT. Zostanie tutaj pokazane jak stworzyć i zamontować partycje o systemie plików EXT4, NTFS, FAT.