Sposoby podłączenia się do istniejącej sieci bezprzewodowej
Ostatnia zmiana: 2017-11-19 11:55

W poradniku przedstawiono kilka sposobów na połączenie naszego routera do innej sieci Wi-Fi (którą będę dalej nazywał routerem nadrzędnym). Każdy sposób ma swoje zalety i wady, każde rozwiązanie ma też inne przeznaczenie i zastosowanie. Należy pamiętać o tym że współczesne interfejsy radiowe w routerach i ich sterowniki w większości przypadków pozwalają na pracę interfejsu radiowego jednoczenie jako klient sieci i jako punkt dostępowy, ale taki tryb pracy ma duży wpływ na przepustowość i stabilność rozwiązania. Należy także pamiętać że niektóre sterowniki (np. Atherosa) w przypadku braku połączenia jako klient sieci przełączają radio w tryb wyszukiwania i tym samym wyłączają też w tym czasie tryb AP. Dla urządzeń wyposażonych w wiele anten (MIMO) wszystkie anteny jednocześnie odbierają i nadają sygnały, nie ma możliwości jawnego wydzielenia jednej anteny tylko dla trybu klienta i innej tylko dla trybu AP. Wszystkie pracują jednocześnie jako klient i punkt dostępowy.
W założeniach przyjęto że router nadrzędny o adresie IP 192.168.1.1 rozgłasza sieć o nazwie "domowy-internet", szyfrowany WPA2 z hasłem "12345678", który przydziela adresy przez DHCP z zakresu 192.168.1.0/24. Zakładamy też że router ma jeden interfejs radiowy (radio0). Rozwiązanie przetestowano na LEDE 17.01.

Wspólną cechą tych połączeń jest wymuszenie używania tego samego kanału co ma router nadrzędny oraz straty przepustowości na wifi.

Klient AP

Cechy

- router wykonuje nat
- adresy IP dla klientów przydzielane są przez lokalny router
- klienci wychodzą w świat z adresem routera
- klienci podłączeni do routera mają inną, oddzielną adresację niż ma router nadrzędny
- klienci podłączeni do routera mogą podłączyć się do innych urządzeń zza wanem, ale urządzenia zza wanu nie mogą się połączyć do klientów (bez odpowiedniego przekierowania/odblokowania firewalla)

Taki typ połączenia wykorzystywany jest często w przypadku tworzenia logicznie wyodrębnionej sieci która korzysta z internetu drogą radiową. Router zapewnia inną adresację, natowanie pakietów, posiada własny firewall, serwer adresów i zabezpieczenia na wanie.

Konfiguracja



    # uci -q del wireless.radio0.disabled
    # uci -q del wireless.@wifi-iface[0]
    # uci set wireless.@wifi-iface[0].ssid=domowy-internet
    # uci set wireless.@wifi-iface[0].encryption=psk2
    # uci set wireless.@wifi-iface[0].key=12345678 
    # uci set wireless.@wifi-iface[0].mode=sta
    # uci set wireless.@wifi-iface[0].network=wan
    # uci -q del network.wan
    # uci set network.wan=interface
    # uci set network.wan.proto=dhcp
    # uci set network.lan.ipaddr=192.168.2.1
    # uci commit
    # reboot

Został tu przestawiony interfejs radiowy w tryb STA (klienta sieci), została zmieniona adresacja sieci LAN (ponieważ MUSI być z innej klasy adresowej niż adres przydzielony na WAN). Po podłączeniu komputera kablem do portu lan routera powinien dostać adres 192.168.2.x.

Rozgłaszanie sieci bezprzewodowo

Należy utworzyć AP:


    # uci -q del wireless.@wifi-iface[1]
    # uci add wireless wifi-iface
    # uci set wireless.@wifi-iface[-1].device=radio0
    # uci set wireless.@wifi-iface[-1].ssid=domowy-internet1
    # uci set wireless.@wifi-iface[-1].encryption=psk2
    # uci set wireless.@wifi-iface[-1].key=12345678
    # uci set wireless.@wifi-iface[-1].mode=ap
    # uci set wireless.@wifi-iface[-1].network=lan
    # uci commit
    # reboot

Dostęp do routera z lanu

Klient podłączony pod router (przewodowo lub bezprzewodowo) ma bezpośredni dostęp do routera, dostępny jest pod adresem 192.168.2.1 (tak ustawiliśmy), można zalogować się przez ssh lub www (o ile router miał zainstalowany interfejs graficzny).

Dostęp do routera z wanu

Router i klienci są normalnie chronieni przez firewall, więc żeby dostać się do routera należy odtworzyć na wan odpowiedni port. Jeżeli chcemy dostać się do klienta na zrobić przekierowanie portu.

Most bezprzewodowy

Cechy

- router nie ma natu, nie występuje pojęcie wanu
- adresy IP dla klientów przydzielane są przez router nadrzędny
- klienci wychodzą w świat z własną adresacją
- klienci mają identyczną adresację jak router nadrzędny
- klienci podłączeni do routera mogą podłączyć się do innych urządzeń za siecią bezprzewodową, urządzenia za siecią bezprzewodową mogą połączyć się do klientów (o ile oczywiście klient na to pozwala)
- adres IP na lan w routerze musi być z innej klasy adresowej niż przydzielony adres przez router nadrzędny

Najczęściej ten sposób wykorzystuje się do "przedłużenia" zasięgu istniejącej sieci oraz zapewnienia jednolitej adresacji w obrębie całej sieci lokalnej.

Konfiguracja

Musimy chwilowo podłączyć router do internetu. Można to zrobić po prostu przez kabel lub wykonać w/w konfigurację jako "klienta AP". Instalujemy niezbędne pakiety:


    # opkg update
    # opkg install relayd

Następnie konfigurujemy całość:


    # uci set network.lan.ipaddr='192.168.2.1'
    # uci -q del network.wan
    # uci -q del network.wwan
    # uci set network.wwan=interface
    # uci set network.wwan.proto=dhcp
    # uci -q del network.bridge
    # uci set network.bridge=interface
    # uci set network.bridge.proto=relay
    # uci set network.bridge.network="lan wwan"
    # uci commit network
    # uci -q del wireless.radio0.disabled
    # uci -q del wireless.@wifi-iface[1]
    # uci -q del wireless.@wifi-iface[0]
    # uci add wireless wifi-iface
    # uci set wireless.@wifi-iface[-1].device=radio0
    # uci set wireless.@wifi-iface[-1].mode=sta
    # uci set wireless.@wifi-iface[-1].ssid=domowy-internet
    # uci set wireless.@wifi-iface[-1].encryption=psk2
    # uci set wireless.@wifi-iface[-1].key=12345678
    # uci set wireless.@wifi-iface[-1].network=wwan
    # uci commit wireless
    # uci set dhcp.lan.ignore=1
    # uci commit dhcp
    # uci set firewall.@zone[0].network='lan bridge wwan'
    # uci commit firewall
    # reboot

Ważne jest aby ustawić adres IP na LANie na inny niż otrzymujemy z routera głównego, ustawiamy odpowiednią sieć oraz wyłączamy serwer DHCP na lanie. Po podłączeniu komputera kablem do portu lan routera powinien dostać adres 192.168.1.x czyli z adresacji routera nadrzędnego.

Rozgłaszanie sieci bezprzewodowo

Jeżeli chcemy dalej rozgłaszać sieć bezprzewodową należy wykonać konfigurację AP:


    # uci -q del wireless.@wifi-iface[1]
    # uci add wireless wifi-iface
    # uci set wireless.@wifi-iface[-1].device=radio0
    # uci set wireless.@wifi-iface[-1].ssid=domowy-internet1
    # uci set wireless.@wifi-iface[-1].encryption=psk2
    # uci set wireless.@wifi-iface[-1].key=12345678
    # uci set wireless.@wifi-iface[-1].mode=ap
    # uci set wireless.@wifi-iface[-1].network=lan
    # uci commit
    # reboot

Możemy rozgłaszać sieć o takiej samej nazwie jak miał router główny lub dowolnej innej, nawet z innym szyfrowaniem i innym kluczem.

Dostęp do routera

Dobrze jest zrobić w routerze nadrzędnym tzw. static dhcp czyli przypisać na stałe adres IP do adresu MAC naszego routera. Aby uzyskać dostęp do routera należy mu na stałe wpisać adres który otrzymał przez dhcp.
Aby dostać się do routera musimy zmienić na chwilę adres IP na karcie sieciowej komputera, podłączyć się kablem do portu lan a następnie zalogować się przez ssh do routera. Wykonanie polecenia ifconfig pokaże interfejsy sieciowe, odszukujemy interfejs wlan0 na którym powinien być adres przydzielony przez router nadrzędny. Ustawiamy ten adres na interfejsie bridge, np.


    # uci set network.bridge.ipaddr=192.168.1.182
    # uci commit network
    # reboot

O ile właśnie takie adres został uzyskany. Adres jaki został przydzielony możemy też sprawdzić w logach routera nadrzędnego. Odłączamy się do routera, zmieniamy znów na DHCP i po podłączeniu się i otrzymaniu adresu z routera nadrzędnego powinniśmy móc dostać się routera na adres ustawiony wcześniej. Opcjonalnie można zautomatyzować ten proces i utworzyć odpowiedni skrypt (np.jako /etc/hotplug.d/iface/99relay) o następującej zawartości:



    [ "$INTERFACE" = wwan ] || exit 0
    [ "$ACTION" = ifup -o "$ACTION" = ifupdate ] || exit 0
    . /lib/functions/network.sh; network_get_ipaddr ip wwan;
    uci set network.bridge.ipaddr=$ip
    uci commit network


WDS

Cechy:
- router nie ma natu, nie występuje pojęcie wanu
- nie działa z każdym typem AP i każdym typem WDS
- klienci wychodzą w świat z własną adresacją
- klienci mają identyczną adresację jak router nadrzędny
- klienci podłączeni do routera mogą podłączyć się do innych urządzeń za siecią bezprzewodową, urządzenia za siecią bezprzewodową mogą połączyć się do klientów (o ile oczywiście klient na to pozwala)
- adresy IP dla klientów przydzielane są przez router nadrzędny
- adres IP na lan w routerze musi być z tej samej klasy adresowej co przydzielony adres przez router nadrzędny

Połączenie wykorzystuje pewną właściwość AP (4-address mode), nie wymaga stosowania dodatkowych pakietów jak przy moście bezprzewodowym ale sposób połączenia silnie zależy od sterowników kart radiowych. Nie każdy sterownik będzie działał z dowolnym innym AP, najczęściej możliwe jest to tylko jeżeli po drugiej stronie mamy także OpenWrt/LEDE.

Konfiguracja



    # uci set network.lan.ipaddr='192.168.1.2'
    # uci set network.lan.netmask='255.255.255.0'
    # uci set network.lan.gateway='192.168.1.1'
    # uci set network.lan.dns='192.168.1.1'
    # uci -q del network.wan
    # uci commit network
    # uci -q del wireless.radio0.disabled
    # uci -q del wireless.@wifi-iface[1]
    # uci -q del wireless.@wifi-iface[0]
    # uci add wireless wifi-iface
    # uci set wireless.@wifi-iface[-1].device=radio0
    # uci set wireless.@wifi-iface[-1].mode=sta
    # uci set wireless.@wifi-iface[-1].ssid=domowy-internet
    # uci set wireless.@wifi-iface[-1].encryption=psk2
    # uci set wireless.@wifi-iface[-1].key=12345678
    # uci set wireless.@wifi-iface[-1].network=lan
    # uci set wireless.@wifi-iface[-1].wds=1
    # uci commit wireless
    # uci set dhcp.lan.ignore=1
    # uci commit dhcp
    # reboot

Można pokusić się o ustawienie na lanie proto dhcp o ile mamy pewność że połączenie będzie działało i router dostanie adres IP. Inaczej może być problem z dostaniem się do niego.
Jeżeli na routerze głównym mamy też OpenWrt lub LEDE to zwykle należy też włączyć na nim wds.

Rozgłaszanie sieci bezprzewodowo

Jeżeli chcemy dalej rozgłaszać sieć bezprzewodową należy wykonać konfigurację AP:


    # uci -q del wireless.@wifi-iface[1]
    # uci add wireless wifi-iface
    # uci set wireless.@wifi-iface[-1].device=radio0
    # uci set wireless.@wifi-iface[-1].ssid=domowy-internet1
    # uci set wireless.@wifi-iface[-1].encryption=psk2
    # uci set wireless.@wifi-iface[-1].key=12345678
    # uci set wireless.@wifi-iface[-1].mode=ap
    # uci set wireless.@wifi-iface[-1].network=lan
    # uci commit
    # reboot

Możemy rozgłaszać sieć o takiej samej nazwie jak miał router główny lub dowolnej innej, nawet z innym szyfrowaniem i innym kluczem.

Dostęp do routera

Powinien być dostępny z każdego miejsca sieci pod adresem 192.168.1.2 (w tym przypadku taki adres został ustawiony).