OpenWrt - konfiguracja sieci w różne tryby pracy
czyli klient, sta, ap, wds i inne trudne słowaOstatnia zmiana: 2011-03-05 13:18
1. Router bez AP
2. AccessPoint bez routingu
3. AccessPoint z routingiem
4. AP + WDS
5. Ad-hoc
6. Klient AP
7. Klient+AP
8. Wireless Bridge Client via Client
9. Wireless Bridge Client via Client z repeater
10. Wireless Bridge Client via WDS + AP
11. Zakończenie
11.1. AccessPoint
11.2. Klient (sta, APClient)
Podstawowa konfiguracja OpenWrt Kamikaze opisana jest na w innym dokumencie, tutaj zaprezentowane są szczegóły konfiguracji interfejsu radiowego w różnych trybach pracy. Różni producenci różnie te tryby nazywają, więc podaję także nazwy z jakimi się spotkałem. Podane konfiguracje przetestowano dla wersji 8.09.1 z kernelem 2.4 oraz drivera broadcom. Podobne konfiguracje powinny działać też dla sterownika madwifi (Atheros) czy mac80211. Jako platforma testowa posłużył Ovislink WL-1600GL.
UWAGA: w większości przypadków tryb bridge działa tylko dla sterowników broadcom z jądrem 2.4
Założenia:
nazwy interfejsów:
- port WAN: eth0.1
- porty LAN (switch): eth0.0
- interfejs radiowy: wl0
Serwer ISP dostarczał adres z klasy 10.0.0.0/8 i miał adres 10.0.0.1, po Wifi: kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321.
W prezentowanych przykładach ruter został ustawiony na adres 192.168.1.1, ustawienia wifi to: kanał 6, nazwa sieci (SSID): moja_siec, zabezpieczenia: WPA2/PSK z hasłem 1234567890.
Jednym ze wspólnych plików konfiguracyjnych dla wszystkich scenariuszy jest /etc/config/dhcp; powinien on pozostać domyślny bez zmian. Bez zmian pozostaje też konfiguracja switcha (jeżeli jest) i interfejsu pętli zwrotnej, w tym przypadku wyglądała ona następująco (w pliku /etc/config/network)
config 'switch' 'eth0'
option 'vlan0' '0 1 2 3 5*'
option 'vlan1' '4 5'
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
UWAGA: Ustawienia (zwłaszcza /etc/config/wireless) mogą się znacznie różnić w zależności od stosowanego drivera (broadcom/atheros/mac80211). W szczególności niektóre tryby mogą nie działać, jeżeli nie wspiera ich danych sterownik.
Router bez AP
- "internet" dostarczany przez kabel do portu WAN- adres IP WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1/24
- komputery podłączamy do rutera kablem (przewodowo)
- adresy IP komputery otrzymują z rutera
- nie działa interfejs radiowy
Taka konfiguracja jest domyślnie po wgraniu OpenWrt (wifi jest wyłączone).
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
option 'disabled' '1'
AccessPoint bez routingu
- "internet" dostarczany przez kabel do jednego z portów LAN- port WAN połączony jest razem z portami LAN
- adres IP rutera ustawiony na stałe z kasy adresowej serwera
- komputery podłączamy do rutera kablem (przewodowo) lub przez Wifi (bezprzewodowo)
- adresy IP komputery otrzymują z serwera (tutaj: 192.168.1.1 na którym jest serwer dhcp/dns)
- serwer DNS/DHCP na ruterze musi zostać wyłączony
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0 eth0.1'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.2'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'ap'
option 'network' 'lan'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
AccessPoint z routingiem
(Access Point Mode, AP, gateway)Klasyczna konfiguracja:
- "internet" dostarczany przez kabel do portu WAN
- adres IP WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1
- komputery podłączamy do rutera kablem (przewodowo) lub przez WiFi (bezprzewodowo)
- adresy IP komputery otrzymują z rutera
Taka konfiguracja jest w OpenWrt po włączeniu interfejsu radiowego
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'ap'
option 'network' 'lan'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
Jeżeli adres WAN ma być ustawiony na stałe a nie pobierany z DHCP
config 'interface' 'wan'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '10.0.0.2'
option 'netmask' '255.255.255.0'
option 'gateway' '10.0.0.1'
option 'dns' '10.0.0.1'
Jeżeli dostęp ma być przez PPPoE
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'pppoe'
option 'username' 'nazwa_uzytkownika'
option 'password' 'haslo_uzytkownika'
option 'keepalive' '3 5'
Jeżeli wymagana jest zamiana MAC adresu od strony wan
config 'interface' 'wan'
option 'macaddr' '00:11:22:33:44:55'
...
Ukrycie rozgłaszania SSID na interfejsie radiowym
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'hidden' '1'
...
Izolacja klientów WLAN
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'isolate' '1'
...
Zabezpieczenie WLAN:
- brak
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'encryption' 'none'
option 'key' ''
...
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'encryption' 'wep'
option 'key' '1234567890'
...
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'encryption' 'psk'
option 'key' '1234567890'
...
config 'wifi-iface' 'cfg2'
option 'mode' 'ap'
option 'encryption' 'psk2'
option 'key' '1234567890'
...
AP + WDS
Bardzo podobna do klasycznej konfiguracji:- "internet" dostarczany przez kabel do portu WAN
- adres IP WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1
- komputery podłączamy do rutera kablem (przewodowo) lub przez WiFi (bezprzewodowo)
- adresy IP komputery otrzymują z rutera
- można się połączyć do rutera drugim urządzeniem w trybie WDS
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
option 'ifname' 'eth0.0'
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'ap'
option 'network' 'lan'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
config 'wifi-iface' 'cfg3'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'wds'
option 'ssid' 'moja_siec'
option 'bssid' '11:22:33:44:55:66'
option 'encryption' 'psk2'
option 'key' '1234567890'
Sekcji z WDS może być wiele (dla różnych mac adresów) np.
config 'wifi-iface' 'cfg4'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'wds'
option 'ssid' 'moja_siec'
option 'bssid' '11:22:33:44:55:67'
option 'encryption' 'psk2'
option 'key' '1234567890'
Ad-hoc
Znów podobna konfiguracja w założeniach do klasycznego AP, tylko interfejs radiowy pracuje w trybie Ad-hoc (decentralizowana struktura)- "internet" dostarczany przez kabel do portu WAN
- adres IP WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1
- komputery podłączamy do rutera kablem (przewodowo) lub przez WiFi (bezprzewodowo) a trybie ad-hoc
- adresy IP komputery otrzymują z rutera
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
option 'ifname' 'eth0.0'
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'adhoc'
option 'network' 'lan'
option 'ssid' 'OpenWrt'
option 'encryption' 'wep'
Klient AP
(STA, APClient, Wireless Routed Client, WISP (Wireless Internet Service Provider), Client Router Mode)- "internet" dostarczany przez WiFi, kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321
- adres IP WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1
- komputery podłączamy do rutera kablem (przewodowo)
- adresy IP komputery otrzymują z rutera
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'sta'
option 'network' 'wan'
option 'ssid' 'MOJ_ISP'
option 'encryption' 'psk2'
option 'key' '0987654321'
Jeżeli fizyczny port WAN ma być włączony do reszty switcha (czyli otrzymujemy 5 użytecznych portów zamiast 4)
config 'interface' 'lan'
option 'ifname' 'eth0.0 eth0.1'
...
Klient+AP
(tryb mieszany, repeater, WISP (Wireless Internet Service Provider) Repeater Mode)- "internet" dostarczany przez wifi, kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321
- adres IP portu WAN dostarczany przez DHCP
- adres rutera to 192.168.1.1
- komputery podłączamy do rutera kablem (przewodowo) lub przez Wifi (bezprzewodowo)
- adresy IP komputery otrzymują z rutera
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'ap'
option 'network' 'lan'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
config 'wifi-iface' 'cfg3'
option 'device' 'wl0'
option 'mode' 'sta'
option 'network' 'wan'
option 'ssid' 'MOJ_ISP'
option 'encryption' 'psk2'
option 'key' '0987654321'
Wireless Bridge Client via Client
(AP Client Mode)- "internet" dostarczany przez wifi, kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321
- komputery podłączamy do rutera kablem (przewodowo)
- adresy IP komputery otrzymują z serwera zewnętrznego, nie rutera
- nie zachodzi rutowanie pakietów, komputery są w tej samej klasie co serwer
- serwer DNS/DHCP ruterze musi być wyłączony
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '10.0.0.2'
option 'gateway' '10.0.0.1'
option 'dns' '10.0.0.1'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'sta'
option 'client_bridge' '1'
option 'ssid' 'MOJ_ISP'
option 'encryption' 'psk2'
option 'key' '0987654321'
Zobacz także http://openrouter.info/forum/viewtopic.php?f=22&t=678 dla sterowników mac80211.
Wireless Bridge Client via Client z repeater
(Bridge with AP Mode)
- "internet" dostarczany przez wifi, kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321
- komputery podłączamy do rutera kablem (przewodowo) lub przez Wifi (bezprzewodowo)
- adresy IP komputery otrzymują z serwera zewnętrznego, nie rutera
- nie zachodzi rutowanie pakietów, komputery są w tej samej klasie co serwer
- serwer DNS/DHCP ruterze musi być wyłączony
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '10.0.0.2'
option 'gateway' '10.0.0.1'
option 'dns' '10.0.0.1'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'sta'
option 'client_bridge' '1'
option 'ssid' 'MOJ_ISP'
option 'encryption' 'psk2'
option 'key' '0987654321'
config 'wifi-iface' 'cfg3'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'ap'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
Wireless Bridge Client via WDS + AP
- "internet" dostarczany przez wifi, kanał 6, SSID: MOJ_ISP, kodowanie WPA2 z hasłem 0987654321, ale przez WDS- adres IP WAN ustawiony na stałe z klasy adresowej serwera
- komputery podłączamy do rutera kablem (przewodowo) lub przez Wifi (bezprzewodowo)
- adresy IP komputery otrzymują z serwera zewnętrznego, nie rutera
- nie zachodzi rutowanie pakietów, komputery są w tej samej klasie co serwer
- serwer DNS/DHCP ruterze musi być wyłączony
/etc/config/network
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '10.0.0.2'
option 'gateway' '10.0.0.1'
option 'dns' '10.0.0.1'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'ap'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
config 'wifi-iface' 'cfg3'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'wds'
option 'ssid' 'MOJ_ISP'
option 'bssid' '11:22:33:44:55:65'
option 'encryption' 'psk2'
option 'key' '0987654321'
Zakończenie
Poniżej zaprezentowano do celów poglądowych pełne konfiguracje trybów AccessPoint i klient z routingiemAccessPoint
/etc/config/dhcp
config dnsmasq
option domainneeded 1
option boguspriv 1
option filterwin2k '0' #enable for dial on demand
option localise_queries 1
option local '/lan/'
option domain 'lan'
option expandhosts 1
option nonegcache 0
option authoritative 1
option readethers 1
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
config dhcp lan
option interface lan
option start 100
option limit 150
option leasetime 12h
config dhcp wan
option interface wan
option ignore 1
/etc/config/network
config 'switch' 'eth0'
option 'vlan0' '0 1 2 3 5*'
option 'vlan1' '4 5'
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'ap'
option 'network' 'lan'
option 'ssid' 'moja_siec'
option 'encryption' 'psk2'
option 'key' '1234567890'
Klient (sta, APClient)
/etc/config/dhcp
config dnsmasq
option domainneeded 1
option boguspriv 1
option filterwin2k '0' #enable for dial on demand
option localise_queries 1
option local '/lan/'
option domain 'lan'
option expandhosts 1
option nonegcache 0
option authoritative 1
option readethers 1
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
config dhcp lan
option interface lan
option start 100
option limit 150
option leasetime 12h
config dhcp wan
option interface wan
option ignore 1
config 'switch' 'eth0'
option 'vlan0' '0 1 2 3 5*'
option 'vlan1' '4 5'
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'
option 'ipaddr' '192.168.1.1'
config 'interface' 'wan'
option 'proto' 'dhcp'
/etc/config/wireless
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'channel' '6'
config 'wifi-iface' 'cfg2'
option 'device' 'wl0'
option 'mode' 'sta'
option 'network' 'wan'
option 'key' '0987654321'
option 'ssid' 'MOJ_ISP'
option 'encryption' 'psk2'