1 (edytowany przez baniaczek 2012-01-29 03:48:04)

Temat: Sieć gościnna (guest network) - nowe podejście

Mój router to TP-LINK TL-WR1043ND z Backfire 10.03.1 od Cezarego, ale powinno działać też na innych (o ile chipset wspiera MultiSSID)

Chodzi o uruchomienie kilku sieci wifi na jednym routerze i możliwość definiowania różnych polityk dla każdej sieci. W przykładzie klienci sieci mają dostęp w zasadzie tylko internetu (oraz DNS i DHCP).

Standardowy sposób opisany tu: http://openrouter.info/forum/viewtopic. … &t=967 oraz w http://wiki.openwrt.org/doc/recipes/guest-wlan nie chciał u mnie działać. Wykluczam pomyłkę, bo spędziłem nad tym kilka godzin i kilka firstbootów.
Konfiguracja poniżej zawiera niektóre elementy skopiowane z podanych przepisów (DHCP i firewall)

Można sobie takich wirtualnych sieci wifi zafundować kilka - dla każdej trzeba dodać analogiczny komplet wpisów. Nie należy kasować definicji istniejącej sieci lan. Poniższe fragmenty należy dopisać do wskazanych plików. W wielu miejscach powtarza się (przykładowa) nazwa sieci 'guest'. Ta nazwa istnieje tylko w systemie, nie ma nic wspólnego z SSIDem. Można wybrać cokolwiek innego: public, dzieci, whatever, ale należy stosować ją konsekwentnie. Oprócz nazwy sieci powtarza się dwukrotnie macadres. Ma być ten sam.

/etc/config/wireless

config 'wifi-iface'
        option 'device' 'xxxx'
        option 'network' 'guest'
        option 'mode' 'ap'
        option 'macaddr' 'xx:xx:xx:xx:xx:xx'
        option 'ssid' 'xxxx'
        option 'encryption' 'xxxxxx'
        option 'key' 'xxxx'
        option 'isolate' '1'

option device: takie samo, jak ma pierwsza sekcja w tym pliku. U mnie to jest 'radio0'.
option network: tak się będzie nasza sieć nazywać w systemie i tej nazwy będziemy używać wielokrotnie.
option macaddr: trzeba sobie wybrać jakiś nowy adres MAC. Na przykład o jeden numerek większy, niż interfejs wifi.
option ssid, option encryption, option key: - według uznania.
option isolate: być może twoja karta sieciowa nie wspiera izolowania klientów i opcja nie zadziała. Ale opcja nie zaszkodzi.

/etc/config/network

config 'interface' 'guest'
        option 'ifname' 'eth0.3'
        option 'type' 'bridge'
        option 'proto' 'static'
        option 'netmask' '255.255.255.0'
        option 'ipaddr' '192.168.4.1'
        option macaddr 'xx:xx:xx:xx:xx:xx'

config interface: trzeba użyć tej samej nazwy sieci, co w opcji 'network' w pliku /etc/config/wireless
option ifname: Należy spojrzeć, jak jest zdefiniowany interfejs dla sieci 'lan' w tym pliku, który edytujesz i nowy interfejs nazwać podobnie, ale nazwa musi być nowa i unikalna. Albo spojrzeć na schemat topologii routera. W moim przykładzie lan mieszka na interfejsie 'eth0.1', wan na 'eth0.2', to nowy interfejs nazwałem 'eth0.3'. Nawiasem mówiąc, ten interfejs całkiem sztuczny i nieistniejący będzie powodem wpisów w logu: "command failed: No such device (-19)". Nie przejmować się.
option ipaddr, option netmask: do własnego uznania.
option macaddr: Taki sam, jak przed chwilą wpisaliśmy w pliku /etc/config/wireless.

/etc/config/dhcp

config dhcp guest
        option interface        guest
        option start    100
        option limit    150
        option leasetime        12h

config dhcp, option interface: ta sama nazwa sieci, używana w obu plikach powyżej.
Pozostałe parametry: do własnego uznania.

/etc/config/firewall

config 'zone'
        option 'name' 'guest'
        option 'input' 'REJECT'
        option 'forward' 'REJECT'
        option 'output' 'ACCEPT'
config 'forwarding'
        option 'src' 'guest'
        option 'dest' 'wan'
config 'rule'
        option 'src' 'guest'
        option 'dest_port' '53'
        option 'proto' 'tcpudp'
        option 'target' 'ACCEPT'
config 'rule'
        option 'src' 'guest'
        option 'src_port' '67-68'
        option 'dest_port' '67-68'
        option 'proto' 'udp'
        option 'target' 'ACCEPT'

W tym fragmencie powyżej parametr 'guest' występuje cztery razy. Należy użyć (4 razy) nazwy sieci tej samej, co w plikach powyżej.
Ta definicja separuje klientów nowej sieci wifi od zasobów routera oraz naszej sieci, do routera docierają tylko protokoły DHCP i DNS. Reszta ruchu z nowej sieci jest kierowana tylko do interfejsu wan.

Koniec.
Restart routera jest konieczny

Powodzenia.

2

Odp: Sieć gościnna (guest network) - nowe podejście

baniaczek napisał/a:

/etc/config/firewall

config 'zone'
        option 'name' 'guest'
        option 'input' 'REJECT'
        option 'forward' 'REJECT'
        option 'output' 'ACCEPT'
....

brakuje linii
     option network 'guest'

czyli ten fragment powinien wyglądać:

config zone
        option name 'guest'
        option network 'guest'
        option input 'REJECT'
        option forward 'REJECT'
        option output 'ACCEPT'

Poza tą poprawką - działa.

3

Odp: Sieć gościnna (guest network) - nowe podejście

Prośba do Pana Cezarego:

Czy można by dodać configurację sieci gościnnej do interfacji (interfejsa)?

4

Odp: Sieć gościnna (guest network) - nowe podejście

Którego interfejsu? Gargoyle? Nie, gargoyle nie obsługuje tego i wymaga sporych zmian w mechanice że uwzględniało kilka interfejsów bezprzewodowych.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Sieć gościnna (guest network) - nowe podejście

A jako moduł ( dodatek)? Jako nakładka do Nodogsplash

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

6

Odp: Sieć gościnna (guest network) - nowe podejście

Wymaga zmiany mechaniki. Bo teraz głupie gui bierze wszystkie sekcje bezprzewodowe zamiast brać jedną i zignorować inne.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Sieć gościnna (guest network) - nowe podejście

Błedy ideologiczne samego gargoyle, nie warto..

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

8

Odp: Sieć gościnna (guest network) - nowe podejście

Jeżeli używasz jedno interfejsu radiowego to nie, nie masz możliwości zmiany kanału. Na wszystkich na tym samym radiu musi być takie samo.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Sieć gościnna (guest network) - nowe podejście

A czy w jakiś łatwy sposób wyłączać i włączać sieć gościnną nie wyłączając sieci "głównej" ? W tej chwili wygląda mi to tak ,że nie wyłącza się i włącza całe radio.

10

Odp: Sieć gościnna (guest network) - nowe podejście

Możesz wywalić sekcję od sieci gościnnej i przeładować radio. Możesz disabled ustawiasz dla poszczególnej sekcji.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Sieć gościnna (guest network) - nowe podejście

Myślałem bardziej o użyciu przełączniku w WDR4300  ,żeby włączać i wyłączać sieć gościnną smile Może po prostu przed przeładowaniem radia kopiować 3 pliki konfiguracyjne w zależności od przełącznika....

12

Odp: Sieć gościnna (guest network) - nowe podejście

Tak też możesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13 (edytowany przez MiG25 2014-09-06 21:03:43)

Odp: Sieć gościnna (guest network) - nowe podejście

Po paru próbach ,po kilku skopiowanych z tego forum pomysłach innych ,udało mi się skonfigurować przełącznik tak , aby włączał i wyłączał sieć gościnną.
Wadą jest to ,że po przełączeniu wifi się na chwilę rozłącza ( przeładowuje ) więc jeśli coś akurat ściągamy na naszej "normalnej" sieci , to będzie błąd...
dodane do pliku

/etc/config/wireless
config wifi-iface 'ap_guest'
    option device 'radio0'
    option network 'guest'
    option mode 'ap'
    option macaddr 'xx:xx:xx:xx:xx:xx'
    option ssid 'xxxxxxxxx'
    option encryption 'psk2'
    option key 'xxxxxxxxx'
    option isolate '1'
    option disabled '1'

dodane do pliku

/etc/config/network
config interface 'guest'
    option ifname 'eth0.3'
    option type 'bridge'
    option proto 'static'
    option netmask '255.255.255.0'
    option ipaddr '192.168.4.1'
    option macaddr 'xx:xx:xx:xx:xx:xx'

dodane do pliku

/etc/config/dhcp
config dhcp 'guest'
    option interface 'guest'
    option start '150'
    option limit '5'
    option leasetime '12h'

dodane do pliku

/etc/config/firewall
config zone
    option name 'guest'
    option network 'guest'
    option input 'REJECT'
    option forward 'REJECT'
    option output 'ACCEPT'

config forwarding
    option src 'guest'
    option dest 'wan'

config rule
    option src 'guest'
    option dest_port '53'
    option proto 'tcpudp'
    option target 'ACCEPT'

config rule
    option src 'guest'
    option src_port '67-68'
    option dest_port '67-68'
    option proto 'udp'
    option target 'ACCEPT'

Teraz plik o nazwie powiedzmy

/etc/WiFi.sh

z  uprawnieniami 755 :

#!/bin/sh
tmp=0
while :
do
    WIFI=$(if grep -qe "RFKILL.*in  hi" /sys/kernel/debug/gpio; then echo 1; else echo 0; fi)
   if [ "$WIFI" = "0" -a "$tmp" = "0" ]; then
       uci set wireless.ap_guest.disabled=0
    wifi
       tmp=1
    sleep 1
    elif [ "$WIFI" = "1" -a "$tmp" = "1" ]; then
    uci set wireless.ap_guest.disabled=1
    wifi
    tmp=0
    sleep 1
    fi

    sleep 2
done &

Do pliku

/etc/rc.local

dopisujemy linijkę :

/etc/WiFi.sh &

Co spowoduje ,że skrypt sprawdzający przełącznik będzie uruchamiany wraz ze startem. I to wszystko.

14 (edytowany przez khain 2014-11-14 12:19:24)

Odp: Sieć gościnna (guest network) - nowe podejście

Powyższy skrypt nie zmienia wartości przy option disabled dla ap_quest w pliku /etc/config/wireless. Samo polecenie

 uci set wireless.ap_guest.disabled=0 (lub 1) 

działa prawidłowo. Co zmienić w skrypcie, aby znów działał poprawnie. Soft to Gargoyle 1.6.1.1 by obsy

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

15

Odp: Sieć gościnna (guest network) - nowe podejście

Powyższy kod NIE ZAPISUJE wartości disabled w pliku - nie musi. jest to trzymane w pamięci a system respektuje takie nie zapisane dane, dzięki temu nie zużywa się flash niepotrzebnymi zapisami. Jak chcesz zapisywać to koniecznie do pliku do przez wifi dodaj sobie uci commit wireless.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Sieć gościnna (guest network) - nowe podejście

Problem w tym, że po wykonaniu skryptu sieć gościnna jest nadal rozgłaszana, a powinna się wyłączyć i na odwrót.

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

17

Odp: Sieć gościnna (guest network) - nowe podejście

A nazwałeś ją ap_guest w konfigu? Pokaz uci show wireless

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Sieć gościnna (guest network) - nowe podejście

Tak ap_guest

wireless.ap_guest=wifi-iface
wireless.ap_guest.device=radio0
wireless.ap_guest.mode=ap
wireless.ap_guest.network=guest
wireless.ap_guest.ssid=curiosity-guest
wireless.ap_guest.encryption=psk2
wireless.ap_guest.key=********
wireless.ap_guest.disabled=0
TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

19

Odp: Sieć gościnna (guest network) - nowe podejście

Jakieś podpowiedzi?

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

20

Odp: Sieć gościnna (guest network) - nowe podejście

sh -x /etc/WiFi.sh

i pokaż wynik.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Sieć gościnna (guest network) - nowe podejście

+ tmp=0
root@router:~# + :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 0 = 0 ]
+ uci set wireless.ap_guest.disabled=0
+ uci commit
+ wifi
Configuration file: /var/run/hostapd-phy0.conf
Using interface wlan0 with hwaddr f8:1a:67:33:09:ff and ssid "curiosity"
Using interface wlan0-1 with hwaddr fa:1a:67:33:09:ff and ssid "curiosity-guest"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
+ tmp=1
+ sleep 1
+ sleep 2
+ :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 1 = 0 ]
+ [ 0 = 1 -a 1 = 1 ]
+ sleep 2
+ :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 1 = 0 ]
+ [ 0 = 1 -a 1 = 1 ]
+ sleep 2
+ :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 1 = 0 ]
+ [ 0 = 1 -a 1 = 1 ]
+ sleep 2
+ :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 1 = 0 ]
+ [ 0 = 1 -a 1 = 1 ]
+ sleep 2
+ :
+ grep -qe RFKILL.*in  hi /sys/kernel/debug/gpio
+ echo 0
+ WIFI=0
+ [ 0 = 0 -a 1 = 0 ]
+ [ 0 = 1 -a 1 = 1 ]
+ sleep 2
TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

22

Odp: Sieć gościnna (guest network) - nowe podejście

Włączył.  A teraz w drugą stronę.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Sieć gościnna (guest network) - nowe podejście

No właśnie nie wyłącza. Za każdym razem, gdy użyję ten skrypt rozgłaszane są obydwie sieci:

Using interface wlan0 with hwaddr f8:1a:67:33:09:ff and ssid "curiosity"
Using interface wlan0-1 with hwaddr fa:1a:67:33:09:ff and ssid "curiosity-guest"
TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

24

Odp: Sieć gościnna (guest network) - nowe podejście

Przekręć w drugą stronę i również pokaż wynik sh -x /etc/WiFi.sh

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: Sieć gościnna (guest network) - nowe podejście

Co znaczy przekręć w drugą stronę? Jak rozumiem ponowne wykonanie skryptu powinno wyłączyć sieć gościnną, a tego nie robi.

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7