System prostej konfiguracji
Ostatnia zmiana: 2017-04-09 08:31

Dawno temu powstał projekt "Szybka konfiguracja" którego celem miała być prosta konfiguracja podstawowych elementów systemu. Projekt ten został porzucony dawno temu przeze mnie; następstwem eksperymentów z własnym system był kolejny projekt "Dysk bezprzewodowy" który automatyzował większość czynności związanych z połączeniem internetowym. Obecnie projekty te zostały zastąpione programem easyconfig którego celem jest to samo co poprzednich projektów - konfiguracja podstawowych elementów systemu. Easyconfig w postaci obrazów MiFi używany jest przeze mnie z powodzeniem na małych/mobilnych routerach których zadaniem jest udostępnienie internetu np. przez modem komórkowy na USB, gdzie priorytetem jest szybkość i łatwość konfiguracji takiego połączenia internetowego.

Easyconfig może być jedynym środowiskiem graficznym (gui) zainstalowanym na routerze, ale może także współistnieć także wraz z innymi GUI (jak LuCI czy Gargoyle). Wykorzystuje elementy dostępne standardowo w OpenWrt/LEDE, nie pobiera online elementów niezbędnych do działania.

Dostęp do systemu:
- jeżeli jest jedynym gui: http://ip-lub-nazwa-routera, np: http://192.168.1.1
- jeżeli jest dodatkowym elementem systemu: http://ip-lub-nazwa-routera/easyconfig.html, np. http://192.168.1.1/easyconfig.html

Jeżeli serwer http pracuje na innym porcie należy odpowiednio dostosować adres wywołania.

Easyconfig do działania wymaga serwera uhttpd i korzysta z wywołań rpc/ubus. Napisany został z wykorzystaniem frameworka bootstrap, ale z powodu przyjętych założeń (minimalna wielkość pakietu) jest to wersja pozbawiona niektórych elementów, nie korzysta także z jquery.

Obsługa

Po wczytaniu strony pojawi się ekran logowania. Należy podać nazwę i hasło użytkownika systemowego (najczęściej root). System podzielony jest na kilka podstron, do których dostęp możliwy przez wybranie odpowiednich opcji z menu. Poszczególne elementy na stronach podzielone są tematycznie w sekcje których opisy można znaleźć poniżej. System został zaprojektowany także do obsługi na małych ekranach (np. smartfonów), z tego też powodu wykorzystane zostały duże elementy wyboru czy przełączania opcji. Odświeżenie strony powoduje wylogowanie i konieczność ponownego zalogowania się. Interfejs dostępny jest tylko w języku polskim.
Niektóre elementy interfejsu wyświetlane są na niebiesko, kliknięcie ich powoduje wykonanie określonej czynności - przejście do szczegółów, sortowanie lub wyświetlenie hasła.





Przykładowy wygląd stron na urządzeniu mobilnym

Zakładka "Status"

Modem

Wyświetla podstawowe informacje o parametrach modemu komórkowego: nazwa operatora, poziom sygnału i technologia połączenia. Sekcja wyświetlana jest w przypadku wybrania połączenia internetowego "Modem USB" typu "PPP", "QMI" lub "NCM".



Internet

Ogólne parametry połączenia internetowego: czas trwania sesji, ilość danych wysłanych i pobranych. Sekcja wyświetlana tylko w przypadku wyboru jakiegoś typu podłączenia internetowego.



Wi-Fi

Zawiera informacje o liczbie połączonych klientów bezprzewodowych. Kliknięcie na liczbę powoduje przejście do zakładki wyświetlającej szczegółową listę połączeń.



System

Podstawowe bieżące informacje o systemie: obciążenie (1m / 5m / 15m) oraz czas działania systemu.



Zakładka "Ustawienia"

Internet

Umożliwia wybranie typu połączenia internetowego. Liczba opcji uzależniona jest od wykrytych interfejsów przewodowych i podłączonego modelu modemu na usb:
- brak (bez połączenia internetowego)
- statyczny adres IP (dane wprowadzone ręcznie)
- dynamiczny adres IP (dane uzyskane z DHCP)
- Modem USB - typ połączenia z wykorzystaniem protokołu ppp
- Modem USB - typ połączenia z wykorzystaniem protokołu QMI
- Modem USB - typ połączenia z wykorzystaniem protokołu NCM
- Modem USB - typu HiLink

Dla niektórych typów połączenia możliwe jest także ustawienie innych serwerów DNS.


Przykładowa zawartość sekcji dla typu połączenia Modem USB (QMI)

W przypadku wybrania konkretnego typu połączenia istnieje możliwość określenia adresu urządzenia w strefie DMZ (na którego zostaną przekierowane wszystkie porty wejściowe). Dla połączeń internetowych z wykorzystaniem modemu USB wymagane jest wykupienie odpowiedniej usługi w planie abonamentowym aby działało przekierowanie portów.



Sieć lokalna

Adresacja wewnętrzna urządzenia oraz możliwość włączenia/wyłączenia serwera DHCP w sieci lokalnej (wykorzystywanego do przydzielania adresów dla połączonych klientów).



Wi-Fi

Daje możliwość włączenia Wi-Fi, ustawienia nazwy sieci, kanału oraz sposobu zabezpieczenia sieci. Ilość sekcji uzależniona jest od ilości wykrytych interfejsów; dla routerów dwupasmowych wyświetlane są sekcje dla obu pasm. Obsługiwany jest tylko tryb AP.



System

Daje możliwość zmiany hasła oraz ustawienia nazwy systemu.



Zakładka "System"

System

Podstawowe informacje o systemie: model routera, wersja GUI (easyconfig), wersja oprogramowania systemowego oraz możliwość zrestartowania urządzenia



Pozostałe zakładki

Monitor połączenia

Tester połączenia bazujący na metodzie badania pingów do podanego adresu. Należy podać adres IP lub nazwę domenową urządzenia które może być monitorowane, okres sprawdzania, opóźnienie po starcie systemu przed uruchomieniem monitora oraz wykonywaną akcję w przypadku problemów z połączeniem. Monitor połączenia może być aktywowany tylko jeżeli ustawione jest połączenie z internetem.



Lista Wi-Fi

Pozwala na podejrzenie dostępnych sieci bezprzewodowych; wynik skanowania można posortować po kilku parametrach.



Lista klientów

Podaje informacje o podłączonych klientach bezprzewodowych oraz przybliżoną ilość danych wysłanych i pobranych w ramach bieżącego połączenia.



Można także zablokować dostęp do internetu dla wskazanego klienta. Blokada zakładana jest na podstawie adresu MAC urządzenia, nie jest zapisywana w systemie i obowiązuje do restartu routera.

Klikając na nazwę urządzenia można zmienić jego nazwę na bardziej czytelną (np. z android-72e5ac2b2e022bdf na tablet służbowy).

Lista zapytań DNS

Wyświetla listę domen (nie kompletnych adresów URL!) o które został zapytany serwer nazw.



Instalacja pakietu

Pakiet dostępny jest w moim repozytorium LEDE. Wymagane jest ok 120KB wolnej przestrzeni flash oraz miejsce na niezbędne zależności jeżeli nie ma ich jeszcze w systemie. Instalacja:


    # opkg update
    # opkg install easyconfig

Pliki instalowane są m.in. w katalogach /www oraz /www/easyconfig. Do działania niezbędny jest także serwer uhttpd (jeżeli nie został zainstalowany wcześniej):


    # opkg install uhttpd
    # /etc/init.d/uhttpd enable

Należy upewnić się, że w konfiguracji serwera uhttpd znajduje się opcja ubus_prefix oraz że serwer udostępnia pliki z katalogu /www, np:


    # uci set uhttpd.main.ubus_prefix=/ubus
    # uci set uhttpd.main.home='/www'
    # uci commit uhttpd

przy założeniu że udostępnianiem stron www zajmuje się demon z sekcji main. Po instalacji należy zrestartować odpowiednie programy systemowe:


    # /etc/init.d/rpcd restart
    # /etc/init.d/uhttpd restart

Do obsługi modemów USB potrzebne są odpowiednie sterowniki:


    # opkg install chat comgt-ncm comgt uqmi usb-modeswitch
    # opkg install kmod-usb-net-cdc-ether kmod-usb-net-cdc-ncm kmod-usb-net-huawei-cdc-ncm
    # opkg install kmod-usb-net-qmi-wwan kmod-usb-net-sierrawireless kmod-usb-net-rndis
    # opkg install kmod-usb-serial-wwan kmod-usb-serial
    # opkg install kmod-usb-serial-option kmod-usb-serial-qualcomm kmod-usb-serial-sierrawireless

Logowanie zapytań DNS wymaga ustawienia odpowiedniej opcji dla dnsmasq:


    # uci set dhcp.@dnsmasq[0].logqueries='1'
    # uci commit dhcp

Ograniczenia

Easyconfig nie obsługuje wszystkich możliwych ustawień, konfiguracji i dowolności nazw w systemie. Zakłada istnienie:
- sekcji o nazwie "lan" która dotyczy sieci lokalnej
- sekcji o nazwie "wan" która dotyczy połączenia z internetem
- obsługiwany jest tylko tryb AP sieci bezprzewodowej (o ile w ogóle wifi jest dostępne)
- obsługiwane są maksymalnie dwa interfejsy bezprzewodowe, może to być sieć 2.4GHz i 5GHz w dowolnej kombinacji
- możliwe jest ustawienia tylko szyfrowania WPA PSK lub WPA2 PSK
- samodzielnie wykrywa modemy USB i typy połączenia ale wymaga ręcznego wybrania odpowiedniego interfejsu

Historia zmian

  • Wersja 20170407
- zmiany kosmetyczne kodu

  • Wersja 20170401
- dodanie zakładki "Lista zapytań DNS"

  • Wersja 20170326
- dodanie możliwości blokowania klienta bezprzewodowego
- dodanie możliwości zmiany nazwy klienta bezprzewodowego

  • Wersja 20170317
- dodanie listy klientów bezprzewodowych - zakładka "Lista klientów"
- możliwość wyświetlenia wprowadzonych haseł

  • Wersja 20170308
- dodanie menu wysuwanego z lewej strony ekranu
- dodanie zakładki "System" z opcją restartu urządzenia
- dodanie zakładki "Monitor podłączenia"
- dodanie zakładki "Lista Wi-Fi"
- dodanie możliwości ustawienia hosta DMZ przy aktywnym połączeniu internetowym

  • Wersja 20170212
- pierwsza wersja dostępna publicznie