Jak wgrać firmware OpenWRT na router TP-LINK
Spis treści
OpenWRT to alternatywny firmware dla routerów oparty o linux'a. Może on okazać się dość złożonym systemem i to pomimo faktu, że zajmuje raczej niewiele miejsca, bo rozmiary obrazów nie przekraczają 8-16 MiB, oczywiście wliczając w to wolne miejsce. Niemniej jednak, by komfortowo operować na dostarczonym oprogramowaniu, trzeba dysponować określoną wiedzą. OpenWRT w dużej mierze przypomina linux'a i szereg poleceń jest w tych dwóch systemach taki sam. Jedynie co, to z powodu dość ograniczonego miejsca, większość programów została okrojona dość solidnie, zostawiając przy tym tylko niezbędną funkcjonalność. Mamy, co prawda, szereg nakładek z interfejsem webowym (min. Gargoyle i LuCi), które upraszczają operowanie na tym firmware ale my w tym artykule położymy nacisk na przejście na czyste OpenWRT, z którym będziemy się komunikować za pomocą poleceń tekstowych wydawanych w terminalu.
Gargoyle, LuCi czy czyste OpenWRT?
Na sieci można się spotkać z szeregiem projektów dotyczących OpenWRT. Pomijając samo OpenWRT, natknąć się możemy na Gargoyle i LuCi. Różnica tych dwóch w stosunku do czystego OpenWRT jest taka, że te obrazy zawierają w sobie interfejs graficzny, za pomocą którego można skonfigurować router. W przypadku, gdy nie jesteśmy zbytnio obeznani w tematyce linux'a i całego jego opensource'owego oprogramowania i do tego jest to nasze pierwsze spotkanie z OpenWRT, to radziłbym pobrać obrazy mające na pokładzie Gargoyle lub LuCi). Niemniej jednak, w dalszym ciągu będziemy mieć dostęp do trybu tekstowego przez protokół SSH i po części będziemy mogli uczyć się konfiguracji tego firmware z poziomu czystej konsoli. Trzeba jednak pamiętać, że takie nakładki graficzne mają własne ustawienia, które zwykle przepiszą naszą konfigurację zaaplikowaną via terminal. Dlatego też nie powinniśmy mieszać tych dwóch kwestii i albo zarządzać routerem przez interfejs webowy, albo przez terminal. Tak czy inaczej, jeśli będziemy chcieli poznać jak działa OpenWRT, to prędzej czy później ten dostarczany interfejs webowy nas zacznie coraz bardziej ograniczać. Trzeba też wziąć pod uwagę fakt, że nie wszystkie zadania da radę zrealizować za pomocą tego GUI.
Ci użytkownicy, którzy mieli już styczność z linux'em mogą pokusić się o instalację czystego
OpenWRT. Dobrze jest także opanować obsługę edytora
vi (lub vim),
bo to za jego pomocą będziemy edytować wszystkie pliki tekstowe po zalogowaniu się na router. Ta
aplikacja nie jest znowu aż tak skomplikowana jak się może wydawać z początku. Wystarczy zacząć
używać vi
, a parę dni później człowiek sam się nauczy z niego korzystać. Dobrze jest także
poznać filtr pakietów iptables
oraz zaznajomić się z jego modułami dostępnymi w OpenWRT. Nie ze
wszystkich modułów będziemy korzystać, przynajmniej nie od razu, ale przydałoby się prześledzić je i
wiedzieć miej więcej do czego można owe moduły zastosować. Więcej informacji na temat iptables można
znaleźć tutaj,
tutaj oraz na stronie
projektu. Jeśli zdecydujemy się na firmware OpenWRT bez nakładek
graficznych, to będziemy musieli przywyknąć do korzystania z terminala, gdzie polecenia będziemy
wprowadzać za pomocą klawiatury. Zawsze też będziemy mieli możliwość doinstalowania interfejsu LuCi
wgrywając pakiety mające w nazwie luci-*
.
Zanim zmienimy firmware
Przed przystąpieniem do jakichkolwiek prac, musimy się upewnić, że router, który posiadamy, jest obsługiwany przez firmware OpenWRT. Lista dostępnych urządzeń znajduje się pod tym linkiem. W tym przypadku mamy do czynienia z routerem TP-LINK WDR3600 v1.5. Trzeba dobrze czytać adnotacje, bo nie zawsze dany router jest obsługiwany w pełni przez ten firmware. W części przypadków może się zdarzyć tak, że wersja routera może być nieodpowiednia lub wspierana dopiero od określonego wydania OpenWRT. Tutaj sprawa wygląda następująco:
Widzimy, że wersja 1.5 routera WDR3600 jest wspierana od Chaos Calmer 15.05, choć niżej możemy wyczytać, że sporadycznie mogą się pojawić jakieś drobne problemy. Generalnie nic, czym powinniśmy się przejmować przy zmianie firmware. To urządzenie będzie działać pod OpenWRT.
Zmiana firmware na OpenWRT
Na dobrą sprawę nie ma znaczenia, z których obrazów chcemy korzystać. Może to być Gargoyle, LuCi lub
czyste OpenWRT (linki do wszystkich tych obrazów są wyżej). Dla przykładu, wgramy czysty OpenWRT bez
interfejsu webowego. Pod tym linkiem mamy dostępne dwa
obrazy dla routera WDR3600. Jeden z nich ma w nazwie factory
, drugi zaś ma sysupgrade
. Przy
przechodzeniu z firmware producenta na alternatywny korzystamy z obrazu factory
. Pobieramy zatem
plik openwrt-15.05-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin
na dysk.
Zmiana firmware odbywa się na podobnej zasadzie co aktualizacja oprogramowania producenta routera.
Musimy zalogować się do panelu administracyjnego TP-LINK'a. Taki upgrade nie powinien być
przeprowadzany za pośrednictwem sieci WiFi. Dlatego też jeśli jesteśmy połączeni bezprzewodowo,
podepnijmy się do routera za pomocą przewodu. Następnie odpalamy przeglądarkę internetową i w polu
adresu wpisujemy http://192.168.0.1
. logujemy się do panelu. Standardowy login to admin
, hasło
również admin
:
Z menu po lewej stronie wybieramy kolejno System Tools -> Firmware Upgrade i wskazujemy pobrany plik:
Klikamy przycisk Upgrade i po chwili rozpocznie się flash'owanie routera nowym firmware:
Po zakończeniu, router powinien się automatycznie zresetować:
Wyżej mamy komunikat o odświeżeniu strony w przeglądarce. Jeśli to zrobimy, to nic nam się nie
załaduje. Nawet w przypadku jeśli wgraliśmy firmware z panelem webowym. Domyślny adres dla OpenWRT
to 192.168.1.1
i to pod niego trzeba wysłać żądanie. Dlatego też jeśli wgraliśmy Gargoyle lub
LuCi, to w pasku adresu musimy przepisać URL. Jeśli korzystaliśmy z czystego OpenWRT, to musimy
odpalić terminal i zalogować się na router w trybie tekstowym za pomocą protokołu telnet. Pamiętajmy
też, że skoro zmianie uległa adresacja sieci (z 192.168.0/24 na 192.168.1.0/24), to musimy
zresetować połączenie sieciowe na komputerze, by uzyskać odpowiedni adres IP i być w stanie
połączyć się z routerem. Poniżej przykład logowania się do routera via telnet
:
Do pełni szczęścia musimy jeszcze ustawić hasło dla konta administratora root przez wpisanie w
terminalu passwd
. Zaowocuje to wyłączeniem protokołu telnet i włączeniem protokołu SSH. To w
zasadzie wszystko jeśli chodzi o przejście z oryginalnego firmware producenta routera na firmware
OpenWRT. Czeka nas jeszcze konfiguracja routera, niemniej jednak, te domyślne ustawienia umożliwią
nam połączenie z internetem ale tylko przewodowo.