HotSpot Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z rozwiazaniami bezpłatnego dostępu do sieci bezprzewodowej. Przykładowy HotSpot zostanie uruchomiony z wykorzystaniem oprogramowania Openwrt oraz Nodogspash. 1. Wstęp Dostęp do sieci bezprzewodowych jest bardzo dynamicznie rozwijany w ostatnich latach. Dlatego tez coraz bardziej popularny staję się darmowy dostęp do internetu z wykorzystaniem tzw. HotSpotów. Hotspot (ang. hot spot "gorący punkt") otwarty i dostępny publicznie punkt umożliwiający dostęp do Internetu najczęściej za pomocą sieci bezprzewodowej opartej na standardzie WiFi. Hotspoty są instalowane najczęściej w hotelach, restauracjach, lotniskach, dworcach, uczelniach, centrach handlowych, centrach miast i innych miejscach publicznych (np. parkach). Umożliwiają one posiadaczom komputerów przenośnych (laptopów), a także palmtopów, telefonów komórkowych i innych urządzeń (np. odbiorników GPS) wyposażonych w bezprzewodową kartę sieciową standardu 802.11 podłączenie się i dostęp do Internetu. Usługa czasami jest bezpłatna lub też płatność następuje za pomocą karty kredytowej. Może się zdarzyć, że dostęp jest bezpłatny, ale mamy ograniczony zakres dostępnych usług; na przykład tylko do strony internetowej instytucji udostępniającej hotspot. Podstawowym elementem hotspotu jest AP (ang. Access Point) punkt dostępu. Jest to urządzenie (najczęściej router), które świadczy usługi dostępowe do innej przewodowej sieci komputerowej, umożliwiając poprzez nią świadczenie określonych przez administratora usług, np. dostęp do zasobów sieci, udostępnianie połączenia internetowego lub usług opartych na technologii VoIP.
2. Wykonanie ćwiczenia Rys. 1. Topologia użyta w ćwiczeniu Ćwiczenie polega na skonfigurowaniu protego HotSpota, w którym będzie możliwość blokowania dostępu, uwierzytelnienia użytkowników, przydzielanie pasma, odpowiedniej dzierżawy parametrów z serwera DHCP. 2.1. Instalacja OpenWrt W celu wykonania ćwiczenia zainstalować na routerze Linksys WRT54GL oprogramowanie OpenWrt. Najprostszą metodą instalacji jest aktualizacja oprogramowania do systemu Tomato lub dd-wrt (w celu nadpisania bootloadrea) i w dalszej kolejności wgrania OpenWrt. Pliki wymagane do instalacji należy uzyskać od prowadzącego. Instalację nowego firmware należy wykonywać bardzo ostrożnie, gdyż przerwa w czasie aktualizacji uszkodzi router. Zalecane jest wyłączanie firewalla oraz nieużywanych połączeń sieciowych. Po instalacji WiFi jest domyślnie wyłączone. Do konfiguracji różnych parametrów służy polecenie uci. Uruchamiamy sieć bezprzewodową następująco: uci set wireless.wl0.disabled=0 # Ustawienie parametru uci commit wireless && wifi # Zatwierdzenie zmian w sekcji wireless i wymuszenie odczytania ich komedną wifi Po tym kroku dioda WLAN powinna się zaświecić. W przypadku problemów Linksys zaleca metodę 30/30/30: 1. Przyciśnij i przytrzymaj przez 30s przycisk Reset 2. Odłącz zasilanie na 30s trzymając wciśnięty przycisk Reset 3. Podłącz zasilanie trzymając wciśnięty przycisk Reset przez kolejne 30s 4. Zwolnij przycisk Reset
Istnieje także możliwość instalacji przez serwer tftp. Procedura instalacji wygląda następująco: tftp 192.168.1.1 binary rexmt 1 timeout 60 trace Packet tracing on. tftp> put openwrt-xxx-x.x-xxx.bin Inne przydatne polecenia: logread - wyświetlenie zawartości logów syslogd. Diagnostyka sieci WiFi: wl isup wl assoclist iwconfig tcpdump -i wl0 2.2. Wstępna konfiguracja routera Standardowo w OpenWrt klienci kablowi są połączeni z klientami radiowymi jednym interfejsem br-lan. W przypadku rozwiązań Hotspotowych najlepiej jest rozdzielić tych klientów na oddzielne interfejsy i zakresy IP. Usunąć lub zakomentować (#) w /etc/config/network opcje w celu wyłączenia mostka pomiędzy radiem, a przełącznikiem: option 'type' 'bridge' Dodać nowy wpis do /etc/config/network config 'interface' 'wlan' option 'ifname' 'wl0' option 'proto' 'static' option 'ipaddr' '192.168.100.1' option 'netmask' '255.255.255.0' W /etc/config/wireless zamienić 'option 'network' 'lan' na option 'network' 'wlan' Zapewni to połączenie radia z nowo utworzonym interfejsem w /etc/config/network. Należy również pamiętać o włączeniu radia i ewentualnie zmianie SSID na inny. Ostatecznie do /etc/config/dhcp dodajemy nową sekcje config dhcp wlan option interface option start 2 wlan
option limit 10 option leasetime 1h Od teraz wszyscy klienci radiowi dostaną automatycznie IP z zakresu 192.168.100.2-10 (czyli 9 klientów). Pozostaje jeszcze ustawić poprawnie firewall dodając nową strefę wlan uci add firewall zone uci set firewall.@zone[-1].name=wlan uci set firewall.@zone[-1].network=wlan uci set firewall.@zone[-1].input=accept uci set firewall.@zone[-1].forward=drop uci set firewall.@zone[-1].output=accept Umożliwić ruch pomiędzy wlan wan, wlan lan i lan wlan uci add firewall forwarding uci set firewall.@forwarding[-1].src=wlan uci set firewall.@forwarding[-1].dest=wan uci add firewall forwarding uci set firewall.@forwarding[-1].src=wlan uci set firewall.@forwarding[-1].dest=lan uci add firewall forwarding uci set firewall.@forwarding[-1].src=lan uci set firewall.@forwarding[-1].dest=wlan Zapisać i zrestartować zaporę uci commit firewall /etc/init.d/firewall restart 2.3. Konfiguracja HotSpot Założenia tego rozwiązania: Otwarty Hotspot (wszyscy mają dostęp) Zablokowany dostęp do routera od strony klienta Hotspotu (porty 22,80,443) Klient podłączony do Hostpotu ma limitowane łącze 128kbps/128kbps Opcjonalnie: zablokowany dostęp wybranym adresom MAC Wymagana autoryzacja Podłączony klient do hotspotu, który otworzy jakąś stronę zostanie przeniesiony stronę autoryzacyjną. Po kliknięciu w odpowiednim miejscu zostanie przeniesiony na wybraną początkowo stronę. Autoryzacji dokonuje się raz na każda sesje połączenia z hotspotem. Ze względu na nie duże wymagania stawiane temu hotspotowi do tego celu można zastosować nadaje się nodogsplash. opkg update opkg install ip iptables-mod-extra iptables-mod-imq iptables-mod-ipopt kmod-ipt-extra kmod-sched tc nodogsplash
Ustawienia nodogspot są w pliku /etc/nodogsplash/nodogsplash.conf. Poniżej konfiguracja programu, która realizuje poniższe założenia: # interfejs radiowy GatewayInterface wl0 # klienci którzy uzyskali autoryzację mają pełny dostęp do sieci Internet FirewallRuleSet authenticated-users { FirewallRule allow } # przed autoryzacją trzeba mieć dostęp do DNS FirewallRuleSet preauthenticated-users { FirewallRule allow tcp port 53 FirewallRule allow udp port 53 } # dostęp do routera, czyli tylko DNS i DHCP FirewallRuleSet users-to-router { FirewallRule allow udp port 53 FirewallRule allow tcp port 53 FirewallRule allow udp port 67 } # nazwa naszego Hotspotu GatewayName OpenSpot # interfejs zewnetrzny (WAN) ExternalInterface eth0.0 # przekieruj na Google automatycznie RedirectURL http://www.pollub.pl # każdy uzyskuje autoryzacje AuthenticateImmediately yes # blokujemy konkretne MAC adresy # BlockedMACList 00:00:DE:AD:BE:EF,00:00:C0:1D:F0:0D # zarządzanie pasmem włączone TrafficControl yes DownloadLimit 128 UploadLimit 128 Dokonać zmiany w pliku startowym /etc/init.d/nodogsplash. Usunąć znak(#) komentarza z trzech ostatnich linii tego pliku. Ostatecznie powinno wyglądać tak: # if not using traffic control, # you can comment out the following 3 lines: do_module_tests "imq" "numdevs=2" do_module_tests "ipt_imq" do_module_tests "sch_htb" Uruchomić nodogsplash: /etc/init.d/nodogsplash start
Uruchamianie przy starcie /etc/init.d/nodogsplash enable Po uruchominiu powinien pojawić się komunikat root@openwrt:/etc/nodogsplash# /etc/init.d/nodogsplash start Starting nodogsplash... Testing required modules Testing module ipt_mac ipt_mac is working Testing module ipt_mark ipt_mark is working Testing module imq numdevs=2 imq is working Testing module ipt_imq ipt_imq is working Testing module sch_htb sch_htb is working OK: nodogsplash started Przetestować działanie HotSpota.