Wstęp
Co zrobić w sytuacji, gdy chętnych do skorzystania z łącza mobilnego jest więcej? Kupić drugi (trzeci, czwarty...) modem? Nonsens, to zbędny wydatek. Użyć przenośnego routera 3G? Owszem, jest to jakieś rozwiązanie, ale po pierwsze, dość kosztowne (tego typu urządzenia kosztują od dwustu do nawet tysiąca złotych), a po drugie, zupełnie zbędne, jeżeli choć jeden z komputerów z interfejsem Wi-Fi, do których można podłączyć modem 3G, działa pod kontrolą systemu Windows 7.
Jeżeli ten warunek jest spełniony, bardzo łatwo można współdzielić łącze 3G (a także dowolne inne, z którego dana maszyna korzysta), używając do tego wbudowanej w system Microsoftu techniki wirtualizacji bezprzewodowego interfejsu sieciowego. W praktyce możliwe jest przekształcenie dowolnego komputera z systemem Windows 7 w bezprzewodowy punkt dostępowy, z którym będą mogły się łączyć pozostałe urządzenia – nie tylko komputery, ale także komórki, tablety, słowem: wszystko, co ma interfejs WiFi.
Hotspot i reszta, czyli „platforma testowa”
Przygotowując ten materiał, nie opieraliśmy się wyłącznie na teoretyzowaniu. Podstawy teoretyczne chcieliśmy skonfrontować z praktyką, a to wymagało odpowiedniego zaplecza technicznego. Większość testów w naszej witrynie zaczyna się od przedstawienia platformy sprzętowej. Niech i tym razem tradycji stanie się zadość.
Naszą „platformą testową” był tym razem nie jeden komputer, lecz coś, co nazwaliśmy wakacyjnym ekwipunkiem maniaka komputerowego.
Nasz „testowy” ekwipunek wakacyjny nowoczesnej rodziny to: trzy laptopy (każdy z nich działa pod kontrolą innej wersji Windows: 7, Vista i XP) oraz trzy smartfony (iOS, Windows Phone, Android). Szczegółowa konfiguracja tych urządzeń nie ma żadnego znaczenia dla opisywanych działań. Istotne jest tylko to, że wszystkie komputery i telefony były wyposażone w interfejs bezprzewodowy.
Najważniejszym elementem zestawu był jednak dwusystemowy modem Huawei E398 dostarczony przez Cyfrowy Polsat. Modem ten podłączyliśmy do laptopa z systemem Windows 7. Wybór podyktowany był założeniem „mobilności” łącza. Neostradę albo łącze kablowe trudno zabrać ze sobą na wycieczkę czy wakacyjny wyjazd. Z modemem 3G/HSPA/LTE tego problemu nie ma.
Skoro mowa o współdzielonych łączach internetowych, chcemy wyraźnie podkreślić, że opisywany w artykule sposób podziału łącza przez utworzenie wirtualnego punktu dostępowego działa niezależnie od typu połączenia, nie tylko w przypadku mobilnych. Zresztą sam autor tych słów musiał użyć tej metody podczas jednego z wyjazdów służbowych, kiedy chciał skorzystać z łącza hotelowego. Niestety, choć przed wyjazdem sprawdził, że hotel zapewnia je bez dodatkowych opłat, to na miejscu okazało się, że jedynym dostępnym interfejsem w pokojach jest tradycyjny 100Base-T, a pech chciał, że na podróż wziął macbooka pro pozbawionego gniazda ethernetowego. Na szczęście znajomy miał z sobą laptop z Windows 7 i złączem ethernetowym, więc się dało. Jak? Tego dowiecie się z dalszych stron.
Budujemy wirtualny punkt dostępowy
Skoro powiedzieliśmy, czym dysponujemy, możemy przejść do konkretów, czyli do budowania wirtualnego punktu dostępowego. W większości przypadków podstawowe czynności związane z sieciami bezprzewodowymi można wykonać, posługując się graficznymi kontrolkami interfejsu Windows, na przykład modułem Centrum sieci i udostępniania lub dostępnymi w ramach tego elementu różnymi kreatorami. Ze wspomnianego Centrum... również będziemy korzystać, ale naszym narzędziem będzie także działająca w trybie tekstowym powłoka netsh.
Korzystanie z poleceń netsh jest dość proste. Można je wywoływać bezpośrednio, tj. w trybie interaktywnym, wprost z wiersza polecenia (uruchomionego z uprawnieniami administratorskimi), lub utworzyć skrypt. Ponieważ liczba poleceń wymaganych do utworzenia wirtualnego hotspota jest niewielka i większość czynności należy wykonać tylko raz, wystarczy po prostu ręcznie wpisać kilka poleceń. Oczywiście, zakładamy, że łącze internetowe, które zamierzamy udostępnić, działa poprawnie. Konfigurację łącza mobilnego pomijamy, ponieważ jest to szczegółowo wyjaśnione w dokumentacji dostarczanej przez danego operatora (tak było również w przypadku wykorzystywanego przez nas modemu LTE Cyfrowego Polsatu).
Utworzenie nowej sieci bezprzewodowej
„Budowa” nowej sieci bezprzewodowej w Windows 7 sprowadza się do wpisania jednego polecenia widocznego na poniższej ilustracji:
System powinien odpowiedzieć następującym komunikatem:
Nowa sieć bezprzewodowa już jest ustawiona, ale nie jest jeszcze włączona, zatem żaden z pozostałych komputerów i urządzeń wyposażonych w interfejs Wi-Fi jej nie zobaczy.
Kilka słów wyjaśnienia: netsh wlan określa tzw. kontekst, w jakim polecenie powłoki netsh ma zostać uruchomione. netsh ma szereg różnych kontekstów, w których można uruchamiać różne polecenia. W artykule z oczywistych względów będziemy korzystać z kontekstu związanego z ustawieniami sieci bezprzewodowych. Zwrot set hostednetwork to właściwe polecenie ustawiające w systemie tzw. sieć obsługiwaną. Dalszą część polecenia stanowią jego parametry. Parametr mode z wartością allow określa tryb działania sieci, a ściślej: czy utworzona sieć ma mieć dostęp do sieci nadrzędnej, co w interesującym nas przypadku jest jak najbardziej zalecane (w końcu chcemy współdzielić rzeczywiste łącze internetowe – jest ono dla tworzonej sieci Wi-Fi siecią nadrzędną). Parametr ssid nie wymaga komentarza. Oczywiście, użyta w powyższym poleceniu nazwa tworzonej sieci, Internet, to tylko przykład, można użyć dowolnego SSID (nie dłuższego niż 32 znaki) dla budowanej sieci Wi-Fi. Ostatni użyty parametr to key. Teoretycznie opcjonalny, w praktyce powinien być obowiązkowy, bo pozwala ustawić hasło dostępowe do tworzonej sieci. Ze względów bezpieczeństwa hasło to nie może mieć mniej niż osiem znaków (i więcej niż 63 znaki).
Uwaga: może się zdarzyć, że zamiast powyższego na ekranie pojawi się następujący komunikat:
W takiej sytuacji należy przede wszystkim się upewnić, czy komputer w ogóle ma interfejs Wi-Fi i czy jest on włączony. Może się to wydawać śmieszne, ale jesteśmy pewni, że wielu administratorów i użytkowników, którym przyszło konfigurować dziesiątki maszyn i pomagać innym w ich konfiguracji, doskonale wie, o czym mówimy, w końcu stwierdzenie, że urządzenia elektryczne podłączone do prądu działają lepiej, nie wzięło się znikąd :)
Jeżeli okaże się, że Wi-Fi, owszem, jest i działa, to należy uruchomić usługę, o której mówi komunikat.
Można do tego celu wykorzystać graficzną konsolę administracyjną Usługi (uruchamianą poleceniem services.msc) i włączyć usługę o nazwie Autokonfiguracja sieci WLAN. Inny sposób to skorzystanie z wiersza polecenia i wpisanie net start [nazwa usługi], co w opisywanym tu przypadku miałoby postać:
W większości sytuacji ręczne uruchamianie usługi wlansvc nie będzie potrzebne, ponieważ standardowo jest ona automatycznie uruchamiana w każdym komputerze wyposażonym w działający interfejs Wi-Fi i pracującym pod kontrolą systemu Windows 7.
Udostępnianie internetu
Skoro sieć bezprzewodowa, do której będą podłączać się inne urządzenia, jest już skonfigurowana, nie pozostaje nam nic innego, jak podłączyć do tej sieci rzeczywiste łącze internetowe. Narzędziem wykorzystywanym na tym etapie będzie Centrum sieci i udostępniania – składnik systemu Windows 7 dostępny poprzez panel sterowania i z pewnością doskonale znany każdemu, kto chociaż raz musiał dokonać jakiejkolwiek zmiany w ustawieniach sieciowych. Oczywiście, przed wykonaniem jakichkolwiek działań komputer, który ma pełnić rolę hotspota, należy połączyć z internetem.
Liczba i typ wyświetlanych w tym oknie sieci mogą być różne w zależności od typu połączenia internetowego, liczby interfejsów sieciowych w danym komputerze, tego, jak są skonfigurowane, itp. W naszym przypadku łącze Cyfrowego Polsatu, które chcieliśmy współdzielić, było widoczne pod postacią sieci o nazwie UnNamed. W powyższym oknie widoczne są jeszcze ustawienia związane z wirtualnymi interfejsami sieciowymi działającymi na maszynach wirtualnych, ale nie mają one znaczenia. Zasadą jest, że aby udostępnić poprzez utworzoną sieć bezprzewodową łącze internetowe, należy wybrać w powyższym oknie połączenie, dla którego parametr Typ dostępu ma wartość Internet. W widocznym na ilustracji przykładzie warunek ten spełnia połączenie o nazwie Mobile Broadband Connection 2.
Nazwa danego połączenia jest zarazem odnośnikiem aktywującym okno z parametrami wybranego połączenia. Okno Stan pozwala przekonać się, że dane połączenie działa (można przy okazji sprawdzić teoretyczną maksymalną przepustowość danego interfejsu, która w przypadku użytego przez nas modemu Huawei E398 wynosiła 100 Mb/s). Dostęp do potrzebnych opcji pojawia się po kliknięciu przycisku Właściwości.
Właściwe ustawienia zawiera karta Udostępnianie. Jedyne, co trzeba zrobić, to zaznaczyć pierwsze z widocznych w oknie pól wyboru (drugie zaznaczone jest automatycznie) i wybrać z rozwijalnej listy połączenie, które będzie wykorzystywane przez utworzoną wcześniej sieć bezprzewodową. W widocznym na ilustracji przykładzie wybrane jest połączenie Wireless Network Connection 2. Dlaczego akurat to? Wyjaśnienie jest proste. Komputer może mieć wiele rzeczywistych interfejsów sieciowych różnego typu, jednak z zasady interfejsy wirtualne dodawane są jako ostatnie pozycje na liście dostępnych połączeń sieci domowej. Ponieważ utworzony za pomocą powłoki netsh wirtualny interfejs sieciowy jest interfejsem bezprzewodowym, można też kierować się następującą zasadą: dla n rzeczywistych interfejsów bezprzewodowych w danym komputerze interfejs wirtualny zawsze będzie miał numerację n+1. Na wykorzystywanej przez nas maszynie był tylko jeden rzeczywisty interfejs Wi-Fi, stąd wybór takiej, a nie innej pozycji z listy.
Po zaakceptowaniu wprowadzonych zmian pozostało wykonać jeszcze jedną operację. Ponownie posłużymy się wierszem polecenia i powłoką netsh.
To wszystko. Od tej pory każdy z komputerów, na którym wykonano opisane działania (i każde z urządzeń w jego zasięgu), będzie mógł używać połączenia internetowego, łącząc się z nowo utworzoną i włączoną powyższym poleceniem siecią bezprzewodową.
Bez najmniejszych problemów udało się połączyć wszystkie pozostałe urządzenia. To koniec walk o modem. Każdy sprzęt zdolny do korzystania z jakiejkolwiek sieci bezprzewodowej może użyć tak utworzonego połączenia.
Co ważne, wszystkie opisane czynności poza wywołaniem ostatniego polecenia, netsh wlan start hostednetwork, wystarczy wykonać dla danego typu połączenia internetowego tylko raz. Zrozumiałe jest, że komputer pełniący rolę punktu dostępowego musi być cały czas włączony. Trzeba pamiętać również, że wyłączenie lub ponowne uruchomienie tego komputera powoduje automatyczne wyłączenie wirtualnego hotspota. Po ponownym uruchomieniu maszyny należy ponownie użyć polecenia netsh wlan start hostednetwork, ale nie trzeba ponownie konfigurować wirtualnej sieci.
Kilka pytań i odpowiedzi
Wiedza przedstawiona na poprzednich stronach już wystarczy, by uniknąć kłótni o to, kto w danym momencie będzie miał przywilej korzystania z modemu 3G. Zestaw poniższych pytań i odpowiedzi wyjaśni ewentualne wątpliwości.
Czy utworzona sieć Wi-Fi jest bezpieczna? Czy wszyscy będą „widzieć” moją sieć?
To zależy od tego, czy wprowadzając polecenie ustawiające sieć wirtualną, użytkownik utworzył hasło chroniące dostęp do niej. Jak już wspomnieliśmy, parametr key jest opcjonalny: nie trzeba go podawać, ale wtedy sieć bezprzewodowa jest siecią otwartą i każdy, kto wykryje jej SSID (zakładając, że jest on rozgłaszany), będzie mógł się bez większych problemów podłączyć. Również ukrywanie SSID, choć możliwe, nie jest żadnym zabezpieczeniem. Narzędzia wykorzystywane przez wardriverów i inne osoby zainteresowane nieautoryzowanym dostępem do sieci bezprzewodowych w ogóle nie używają funkcji rozgłaszania SSID. Wyłączenie SSID może oznaczać trudności jedynie dla mniej doświadczonych użytkowników lub np. posiadaczy pierwszej generacji telefonów z systemem Windows Phone, który bez „wsparcia” nie rozpoznaje sieci nierozgłaszających SSID. Ukrywanie SSID nie jest i nigdy nie było funkcją bezpieczeństwa sieci bezprzewodowej, wręcz jest to ustawienie niezalecane, sprzeczne ze standardem IEEE 802.11. Każdy punkt dostępowy zgodny z tym standardem rozsyła tzw. ramki nawigacyjne (beacon frames), które zawierają podstawowe informacje o danej sieci bezprzewodowej, w tym SSID. Wyłączenie rozgłaszania SSID nie zmienia rozmiaru ramki, lecz jedynie zastępuje rzeczywistą wartość SSID wartością NULL.
Standardowo skonfigurowany system Windows 7 podczas tworzenia wirtualnej sieci bezprzewodowej chronionej hasłem używa algorytmów kodowania i technik pozyskiwania kluczy zdefiniowanych w standardzie IEEE 802.11i, bardziej znanym jako WPA2. Jeżeli podczas tworzenia sieci nie został użyty prosty klucz (typu 11111111, abcdefgh albo 1qazxsw2; prostotę ostatniego z haseł wyjaśni rzut oka na klawiaturę), nieautoryzowany dostęp do niej będzie bardzo utrudniony. Poza atakiem słownikowym (zakładającym słabość hasła) czy prostackim „brute-force” nie są znane żadne skuteczne metody łamania zabezpieczeń WPA2. Co prawda jakiś czas temu wiele serwisów informowało o „niezwykle groźnej luce, tzw. Hole 196”, jednak atak, o którym mowa, zakłada przede wszystkim, że atakujący jest uwierzytelniony (sic!), czyli jest jednym z użytkowników danej sieci :) Jeżeli tylko zadba się o odpowiednio złożony klucz, nikt się do utworzonej sieci nie włamie. Oczywiście, jest jeszcze kwestia ochrony poszczególnych stacji przed złośliwym oprogramowaniem, ale to już odrębne zagadnienie.
Ilu użytkowników może korzystać z tak utworzonej sieci?
Standardowo skonfigurowany system Windows 7 tworzy punkt dostępowy dla maksymalnie 100 klientów. Przy okazji podpowiemy, że zarówno poziom zabezpieczeń, jak i liczbę dopuszczalnych klientów można łatwo sprawdzić poleceniem netsh wlan show hostednetwork.
Wynik działania tego polecenia na naszej platformie testowej przedstawia poniższa ilustracja:
Jak widać, w niezmienionych, standardowych ustawieniach systemu utworzona sieć korzysta z uwierzytelniania WPA2-Personal (słowo Personal oznacza, że klucz nie jest przyznawany niezależnie każdemu, lecz że wszystkie stacje i urządzenia podłączane do sieci korzystają z tego samego klucza; niekiedy to ustawienie oznaczane jest ciągiem WPA2-PSK od Pre-Shared Key), a maksymalna liczba klientów wynosi właśnie 100.
Czy można wyłączyć wirtualny punkt dostępowy bez wyłączania lub ponownego uruchamiania komputera pełniącego jego funkcję?
Oczywiście, wystarczy posłużyć się poleceniem: netsh wlan stop hostednetwork.
Czy mogę skorzystać z opisywanego sposobu w Windows XP?
Nie, ale możliwe jest współdzielenie łącza internetowego na komputerze działającym pod kontrolą Windows XP. Microsoft już dość dawno (w 2005 roku) opublikował dokument szczegółowo wyjaśniający, jak to zrobić.
Wskazówki zawarte w artykule przydadzą się zapewne nie tylko na wakacjach. Nie radzimy jednak tworzyć hostowanych sieci bezprzewodowych w firmie, ponieważ może to być niezgodne z obowiązującymi w danej organizacji zasadami bezpieczeństwa. Zresztą administrator może bardzo łatwo ograniczyć możliwość tworzenia wirtualnych hotspotów, określając globalną zasadę zabezpieczeń blokującą tworzenie jakichkolwiek dodatkowych sieci przez użytkowników.
Czy udostępnianie internetu wpływa na szybkość łącza?
Podczas normalnego korzystania z internetu (przeglądanie stron, sprawdzanie poczty itp.) nie zaobserwowaliśmy, by komputer udostępniający łącze dysponował szybszym połączeniem niż maszyny, które z internetu korzystały poprzez wirtualny punkt dostępowy. Ponieważ w przypadku łącza mobilnego wiele zależy od siły sygnału, zasięgu i lokalizacji, podanych poniżej wyników pomiarów w żadnym razie nie można traktować jako wyznacznika szybkości „internetu LTE”. Chodziło nam jedynie o porównanie szybkości łącza pomiędzy komputerem hostem a pozostałymi urządzeniami.
Jak widać, wahania w prędkości łącza są spore, ale w żadnym razie nie zależne od urządzenia, z którego wykonywano pomiar. Powyższe wartości to tylko przykłady. Dla tej samej stacji roboczej uzyskiwaliśmy od ok. 16 Mb/s do nawet 50 Mb/s. Miejsce, w którym wykonywaliśmy pomiar, znajdowało się ok. 100 m od granicy zasięgu LTE (zgodnie z dostępną publicznie mapą operatora).
Alternatywne opcje i podsumowanie
Niektórzy mają awersję do interfejsu tekstowego i wprowadzania poleceń z klawiatury. Tym możemy zaproponować program Connectify, którego zadaniem jest m.in. współdzielenie łącza internetowego i budowa wirtualnego hotspotu. Niestety, Connectify jest oferowany w modelu freemium, co oznacza, że bezpłatna edycja programu jest funkcjonalnie okrojona w stosunku do wersji płatnej. Słowo niestety jest w tym przypadku o tyle uzasadnione, że wersja bezpłatna ma ograniczone funkcje udostępniania łączy 3G/4G, a o to chodziło w artykule. Connectify może się przydać w sytuacjach, kiedy trzeba „podzielić” łącze internetowe innego typu, ale i tak wydaje się rozwiązaniem zbyt ograniczonym (w bezpłatnej wersji) na tle możliwości, jakie zapewnia polecenie powłoki netsh i sam system operacyjny.
Niezależnie od tego, czy skorzystamy z netsh czy z Connectify, przewagą wirtualnego punktu dostępowego nad np. funkcją ICS dostępną w starszych wersjach Windows jest to, że w Windows 7 można współdzielić również łącze internetowe dostarczane bezprzewodowo. Oznacza to, że ten sam fizyczny interfejs pozwala komputerowi korzystać z łącza internetowego i jednocześnie pełnić funkcję wirtualnego punktu dostępowego. Może to okazać się szczególnie przydatne w miejscach, gdzie liczba klientów publicznego punktu dostępowego jest limitowana.
Co zrobić w sytuacji, gdy nie jest spełniony warunek posiadania przynajmniej jednej maszyny z systemem Windows 7? Jeżeli założeniem jest tymczasowość rozwiązania (np. łącze ma być współdzielone tylko na czas wyjazdu), może warto rozważyć instalację Windows 7 Enterprise w jednym z laptopów? Nie namawiamy tutaj do tego, aby kupować system Microsoftu, lecz proponujemy rozwiązanie, które pozwoli skorzystać z opisanych wskazówek i nie spustoszy portfela. Windows 7 Enterprise jest udostępniany przez Microsoft również w bezpłatnej wersji ewaluacyjnej. Okres próby wynosi 90 dni, co w zupełności wystarczy do końca choćby najdłuższych wakacji. Funkcjonalnie edycja Enterprise odpowiada wersji Ultimate, więc nie ma ryzyka, że którakolwiek z funkcji wbudowanych w Windows 7 nie będzie dostępna. W witrynie Microsoft Technet do pobrania są obrazy instalacyjne 32-bitowej i 64-bitowej wersji systemu. Oczywiście, do współdzielenia łącza internetowego można również wykorzystać Linuksa, ale to temat na odrębny artykuł. Ten w założeniu miał dotyczyć udostępniania z poziomu Windows 7.