LibreCMC - client mode na TP-Link TL-WR841N
Tue 05 July 2016 #technical #hardware #linuxOstatnio udało mi się kupić dość tanio (za 20PLN to nic się nie kupi, a za flaszkę wódki można router! :) ) bardzo fajny model TP-Linka, a dokładnie TL-WR841N. Oczywiście, zainteresowałem się nim z powodu jego możliwości - jest na liście wspieranych urządzeń OpenWRT oraz… libreCMC!
LibreCMC to projekt, który dąży do stworzenia dystrybucji, która pozbawiona jest binarnych blobów (więc mamy router, który w pełni korzysta z wolnego oprogramowania). A ponadto pozwala na dostęp do niesamowitych możliwości, których nie daje nam producent urządzenia.
Konfiguracja Client Mode Wireless
Będę korzystać z NAT - a
konkretnie z ustawień domyślnych w /etc/config/firewall
(dokładnie
masquerading). Wynika to z tego, że nie mam dostępu do routera, z którym
się łączę. Istnieje możliwość wyznaczenia tras między sieciami, ale
wtedy trzeba skonfigurować oba routery.
W zasadzie różnica jest taka, że hosty za moją siecią nie będą widoczne dla innych podłączonych do sieci, z którą ma się łączyć moja sieć. Poniżej topografia, którą chcę osiągnąć:
(ESSID: HUE)
(Moja sieć) (przez WiFi) (LAN) (Ethernet) (WAN)
172.16.0.0/24 <--------------> 192.168.1.0/24 <--------------> ISP
Zakładając świeżą instalację libreCMC (w moim przypadku wersja 1.3.2 Elegant Eleanor) będziemy musieli edytować następujące pliki:
/etc/config/network
/etc/config/wireless
Przygotowanie do konfiguracji
Zanim cokolwiek zaczniemy potrzeba nam się połączyć z routerem. W webgui
trzeba ustawić połączenie przez ssh
oraz nowy adres dla podsieci.
Druga część jest bardzo istotna, ponieważ nie chcemy mieć kolizji z
siecią, do której mamy się połączyć.
Po połączeniu się z routerem przez SSH musimy włączyć i ustawić radio w station mode (aby móc zobaczyć sieci znajdujące się w pobliżu). Wystarczy wywołać następujące polecenia z konta roota:
uci del wireless.@wifi-device[0].disabled
uci del wireless.@wifi-iface[0].network
uci set wireless.@wifi-iface[0].mode=sta
uci commit wireless
wifi
Co się dzieję po kolei:
- z konfiguracji wireless usuwamy opcję disable 1
- ustawiamy opcję mode na station
- zapisujemy zmiany
- włączamy radio za pomocą
wifi
Informacje o dostępnych sieciach
Potrzebujemy znaleźć ustawienia naszej sieci dla przykładu niech to
będzie HUE
.
Jeśli możemy wydajemy polecenie iwlist scan
powinno wyrzucić coś co
wygląda jak :
root@libreCMC:~# iwlist scan
wlan0 Scan completed :
Cell 01 - Address: 00:1D:19:0E:03:8F
ESSID:"HUE"
Mode:Managed
Channel:9
Quality:3/5 Signal level:-69 dBm Noise level:-92 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Preauthentication Supported
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Ja musiałem skorzystać z iw
, żeby nie przedzierać się przez wszystkie
możliwe sieci polecam sobie przefiltrować output:
iw wlan0 scan | grep -A 50 -B 8 HUE
Wyrzuca to coś co wygląda następująco:
BSS fc:94:e3:11:9c:5c(on wlan0) -- associated
TSF: 8390318242 usec (0d, 02:19:50)
freq: 2462
beacon interval: 100 TUs
capability: ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)
signal: -62.00 dBm
last seen: 0 ms ago
Information elements from Probe Response frame:
SSID: HUE
Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
DS Parameter set: channel 11
Country: EU Environment: Indoor/Outdoor
Channels [1 - 13] @ 20 dBm
Power constraint: 0 dB
TPC report: TX power: 17 dBm
ERP: Barker_Preamble_Mode
ERP D4.0: Barker_Preamble_Mode
RSN: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: CCMP TKIP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
Extended supported rates: 6.0 9.0 12.0 48.0
HT capabilities:
Capabilities: 0x18bc
HT20
SM Power Save disabled
RX Greenfield
RX HT20 SGI
TX STBC
No RX STBC
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 4 usec (0x05)
HT RX MCS rate indexes supported: 0-15
HT TX MCS rate indexes are undefined
HT operation:
* primary channel: 11
Konfiguracja
Po pierwsze zmiany w /etc/config/network
- należy wykomentować/usunąć
wszelkie linijki zawierające ifname
w sekcji 'wan'.
config interface 'wan'
#ifname ...
option proto 'dhcp'
Po drugie zmiany w /etc/config/wireless
- należy znaleźć sekcję
wifi-iface
i wyedytować w niej opcję network
tak żeby wskazywała na
interfejs WAN, opcję mode
w tryb station oraz zmienić ssid
i
encryption
tak, żeby zgadzały się z siecią, z którą chcemy się
połączyć.
config 'wifi-iface'
option 'device' 'wlan0'
option 'network' 'wan'
option 'mode' 'sta'
option 'ssid' 'HUE'
option 'encryption' 'psk2'
option 'key' 'hasło_do_wifi'
Nie pozostaje nic innego jak tylko zastosować zmiany:
ifup wan
wifi
I cieszyć się działającą siecią :)