Dnes, najmä v technicky gramotnej rodine, mať v domácnosti internet a zdieľať ho s príbuznými, je už asi nutnosť. Nejeden užívateľ potrebuje pripojiť k internetu svojich blízkych z dôvodu, aby mu doslovne nesedeli "za chrbtom", keď si chcú pozrieť nejakú www stránku alebo poslať email.
Neostáva vám teda nič iné, ako ísť do obchodu a kúpiť si zariadenie, ktoré sa volá router (smerovač). Možno neodoláte ani pohľadu na bezdrôtové "krabičky" s anténkami a dopadnete rovnako ako ja.
V blízkosti môjho bydliska je jedna maličká predajňa s wifi technológiami, kde som sa prišiel opýtať na nejaký USB wifi adaptér - ale s takým čipsetom, o ktorom som mal dopredu informácie, že bude bežať pod FreeBSD. Ak hovorím o FreeBSD, myslím tým pravdaže aj Linux, pretože všeobecne platí, že keď už nejaký hardvér beží pod BSD, v Linuxe ho rozchodíte vždy.
Objednal som si teda maličký wifi adaptér WL-2203S-V3. Hneď, ako som prišiel domov, v emailovej schránke som si našiel správu od českého predajcu www.i4wifi.cz s poďakovaním za rozhodnutie si kúpiť tovar.
Maličké USB zariadenie zasuniete do ktoréhokoľvek USB slotu
Wifi adaptér som mal hneď na druhý deň a bol naozaj lacný - 13,96 Euro. Bolo k nemu pribalené aj maličké CD s ovládačmi pre všetky verzie Windows - Windows 2000, Windows 98, Windows ME, Windows XP a Windows Vista a samozrejme aj pre Linux a Mac.
Dokumentáciu na CD v PDF dokumente určenú iba pre platformu Win som pozrel iba narýchlo, pretože Windows nebolo miesto, kde som chcel adaptér využívať. Mojou vyvolenou platformou bolo prioritne FreeBSD (možno aj OpenBSD) a potom Linux.
Inštalácia wifi adaptéra s čipsetom zd1211b (USB)
Wifi zariadenie v mojom prípade, keďže chcem pomocou neho využívať internet, musí komunikovať s routerom, ktorý nemôžem obísť. V druhom rade k základnej informácii o rozchodení akejkoľvek siete patrí aj scenár, teda spôsob takej konfigurácie, akú požadujete. V mojom prípade napríklad nechcem, aby mi router vysielal SSID (identifikátor siete, ktorý sa pri skenovaní bezdrôtových sietí okolo vás zobrazí) a patria sem ešte niektoré ďalšie maličkosti.
Router a jeho nastavenie
Používam router so štyrmi portmi pre fyzické pripojenie a aj s riešením wifi - má teda anténku. Hlavný počítač je k nemu pripojený káblom a rodinní príslušníci majú k dispozícii sieť wifi - teraz koniec koncov už aj ja, ak sa rozhodnem počas jarných dažďov si sadnúť na balkón.
Router však treba nakonfigurovať, kde v nastaveniach musíte zadefinovať prístupové heslo, typ bezpečnosti, SSID atď., inak sa totiž nepripojíte.
Nastavenie routera nebolo komplikované, ale považujem za nutné o ňom informovať, pretože spojazdnenie USB wifi zariadenia (pomocou ktorého sa k routeru pripojíte a získate tak prístup k internetu) závisí pravdaže aj od tohto. Router, ktorý používam, sa konfiguruje cez webové rozhranie.
K routeru sa pripojíte pomocou adresy 192.168.1.1 cez webový prehliadač a položky na ľavej strane si nastavíte podľa želania.
Zvolil som si klonovanie MAC (aby som nemusel preregistrovať MAC adresu u svojho poskytovateľa), zadefinoval som si SSID - názov (jedinečný identifikátor) pre wifi sieť, kanál (6), mód 802.11b (hoci 802.11g je rýchlejší), bezpečnosť WPA-PSK, kryptografiu AES, heslo a napokon prihlásenie k routeru pomocou DHCP (DHCP pravdaže možno aj deaktivovať).
Z bezpečnostných dôvodov som zakázal vysielanie SSID (SSID broadcast), takže moju sieť pri skenovaní nevidieť, a aktivoval som filtrovanie MAC adries, resp. aby router prijal iba tie MAC adresy wifi adaptérov, ktoré som zadefinoval.
Štandard 802.11b som zvolil zámerne kvôli inému - technologicky trochu staršiemu USB wifi zariadeniu, aby aj ono bolo využiteľné.
Adaptér s čipsetom zd1211b (USB) pod FreeBSD
Čipset ZyDAS podporujú aj iné BSD distribúcie a v OpenBSD netreba ani kompilovať jadro - adaptér iba zasuniete do USB slotu a OpenBSD ho hneď rozpozná. Adaptér som rozchodil pod verziou FreeBSD 7.1.
Všetky nižšie uvedené kroky som realizoval v rámci vlastných - užívateľských skriptov, aby bolo možné neskôr v prípade nejakého problému zvoliť iný skript a nie zakaždým editovať súbory /etc/rc.conf, /boot/loader.conf atď. pri zmene hardvéru.
Kroky pre spojazdnenie wifi adaptéra
Po nabehnutí FreeBSD do administrátorského účtu použijete príkaz kldload if_zyd
. "if_zyd" je ovládač pre wifi zariadenie s čipsetom ZyDAS, ktorý má aj adaptér WL-2203S-V3, a kldload
príkaz podobný modprobe
v Linuxe (pre načítanie modulov do jadra).
Wifi adaptér až potom zasuniete do USB slotu. Ak to urobíte naopak, nebudete mať šťastie. Hneď nato v prvej konzole uvidíte (nie v X, ale v textovej konzole, ktorá nabehne ako prvá a kde sa z X prostredia dostanete pomocou [Ctrl-Alt-F1]) výpis podobný tomuto:
zyd0: <ZyDAS USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 4> on uhub2 zyd0: HMAC ZD1211B, FW 47.25, RF AL2230, PA 0, address 00:00:00:00:00:00 zyd0: WARNING: using obsoleted IFF_NEEDSGIANT flag zyd0: Ethernet address: 00:00:00:00:00:00
FreeBSD na rozdiel od Linuxu nepoužíva iwconfig
(pre bezdrôtové siete), ale iba ifconfig
. Ak napíšete do príkazového riadku ifconfig
, uvidíte (pravdaže popri ďalších sieťových zariadení):
zyd0: flags=108802<BROADCAST,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500 ether 00:00:00:00:00:00 media: IEEE 802.11 Wireless Ethernet autoselect (autoselect) status: no carrier ssid "" channel 1 (2412 Mhz 11b) authmode OPEN privacy OFF bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi11b 7 roam:rate11b 1 bintval 0
Pomocou príkazu ifconfig
môžete bezdrôtovú sieť vo FreeBSD okolo vás aj skenovať: ifconfig zyd0 scan
. Uvidíte siete naokolo (MAC adresy cudzích wifi zariadení sú zámerne vynulované kvôli ich osobnému charakteru):
SSID BSSID CHAN RATE S:N INT CAPS zuzina 00:00:00:00:00:00 6 54M -50:-95 100 EPS WPA RSN dzohny 00:00:00:00:00:00 11 54M -85:-95 100 EP bestia 00:00:00:00:00:00 8 54M -57:-95 100 EP WPA mish 00:00:00:00:00:00 9 54M -71:-95 100 EPS WPA
Pripojenie k routeru (DHCP) momentálne nezrealizujete, pretože autentifikácia prebieha zložitejšie a bez hesla sa vlastne ani nemôžete pripojiť. Musíte teda použiť nástroj wpa_supplicant
(je pravdaže súčasťou FreeBSD), ktorý zabezpečí autentifikáciu - spojenie wpa psk, ale ďalšie informácie o autentifikácii v sieťach wifi si radšej pozrite inde, pretože sú dosť rozsiahle.
Nástroj wpa_supplicant
musí mať svoj konfiguračný súbor, kde si zadefinujete heslo, typ šifrovania atď. V mojom prípade je to súbor /etc/wpa_supplicant.conf, ktorý obsahuje:
ctrl_interface=/var/run/wpa_supplicant ap_scan=1 eapol_version=1 network={ ssid="Nazov-vasej-bezdrotovej-siete" bssid=00:00:00:00:00:00 proto=WPA scan_ssid=1 key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP identity="FreeBSD" psk="12345" priority=2 }
Pokiaľ niekto požaduje viac, časom si to aj tak doladí. Z tých najdôležitejších vecí vo vyššie uvedenom konfiguračnom súbore (wpa_supplicant.conf
) je MAC adresa routera - „BSSID“ (hmm... azda ani nemusí byť uvedená, len sme si zadefinovali, aby router SSID našej siete nevysielal); identity
je názov počítača (napr. váš notebook), ktorým sa pripojíte k routeru a ktorý (názov) ste si zadefinovali v nastaveniach routera (filtrovanie MAC adries); WPA-PSK
je typ bezpečnosti; a napokon psk
je heslo, ktoré pravdaže musí byť rovnaké ako heslo zadefinované v nastaveniach routera spolu s typom šifrovania (CCMP = AES, TKIP = bezpečnostný protokol).
Ďalším krokom bude pripraviť wifi zariadenie zyd0
, aby mohla nastať úspešná asociácia (negociácia) cez wpa_supplicant
:
ifconfig zyd0 mode 11b ssid nazov-vasej-siete channel 6
Bez tohto úkonu sa wpa_supplicant
(ktorý treba spustiť v ďalšom kroku) nesprával príliš priateľsky. Spojenie samozrejme fungovalo aj v prípade, ak som zadal namiesto mode 11b
variantu mode 11g
.
Predposledným krokom bude autentifikácia cez WPA:
wpa_supplicant -d -i zyd0 -c /etc/wpa_supplicant.conf
Úspešná asociácia wifi adaptéra WL-2203S-V3 s routerom pomocou wpa_supplicant vo FreeBSD.
Je na vás, či tento proces necháte bežať v okne (aby ste mohli sledovať, čo wpa_supplicant
vypisuje), alebo ho schováte na pozadie pomocou &.
Posledným krokom bude spustiť príkaz dhclient (DHCP): dhclient zyd0
Keby pripojenie k DHCP serveru vo vašom počítači automaticky nenastavilo DNS adresy vášho poskytovateľa, zadajte si ich ručne do súboru /etc/resolv.conf.
Po absolvovaní vyššie uvedených krokov nasledovala veľká radosť, pretože FreeBSD sa úspešne spojilo s DHCP serverom routera cez maličké USB wifi zariadenie a internet fungoval. V praxi to znamená, že so svojim notebookom aj vy môžete ísť na balkón alebo azda aj do pivnice (česky je to sklep, ne hospoda, pozn. red. ;-)).
Adaptér s čipsetom zd1211b (USB) pod Linuxom
Rozchodenie adaptéra WL-2203S-V3 pod Linuxom bolo ešte zložitejšie, ako som si myslel - ale možno iba kvôli tomu, že som nemal tú „správnu“ linuxovskú distribúciu. Ovládače pribalené na CD nešli skompilovať pod Ubuntu 8.10, tak som si musel všeličo naštudovať.
Wifi adaptér som ešte skúsil „oprášiť“ v staršom Debiane 4.x, ale ani tam som nemal šťastie. Napokon som sa rozhodol stiahnuť si poslednú verziu Debian 5.0 a ešte aj Slackware 12.2, kde sa to podarilo.
Ovládače pre čipset ZyDAS sú v linuxovskom jadre
V roku 2006 sa kódy ovládačov dostali aj do linuxovského jadra (2.6.18-rc1). Hoci staršie ovládače na CD pribalené k wifi adaptéru by po kompilácii mali vytvoriť modul zd1211b, dnes ovládač zd1211rw v Linuxe podporuje čipsety ZyDAS zd1211, aj ZyDAS zd1211b a Atheros ar5007ug - teda aj ten (zd1211b), ktorý je v zariadení WL-2203S-V3.
USB wifi adaptér a Debian 5.0
V konfigurácii routera netreba nič meniť. Súbor /etc/wpa_supplicant.conf možno ponechať tak, ako je uvedený v časti pre FreeBSD.
Treba otvoriť Synaptic manažér a inštalovať súbor zd1211-firmware (alebo použiť: apt-get install zd1211-firmware
). Čitatelia, ktorí nepoužívajú Debian, môžu skúsiť šťastie stiahnutím firmware pre zd1211 zo stránky sourceforge.net a všetky súbory z balíčka zd1211-firmware-1.4.tar.bz2 rozbaliť a skopírovať do adresára /lib/firmware/zd1211.
Netreba zadávať príkaz modprobe
, USB wifi zariadenie stačí iba zasunúť do USB slotu, čím sa automaticky aktivuje modul.
Po zasunutí USB adaptéra do PC si príkazom iwconfig overíte, či ho systém rozpoznal (malo by sa objaviť nové zariadenie wlan0). Ďalším krokom bude
iwconfig wlan0 essid nazov-vasej-siete channel 6
Číslo kanála (6) zodpovedá tomu, ktoré ste zadali v nastaveniach routera. Ak ste si sieť pomenovali podľa mena - napríklad Michal, príkaz bude:
iwconfig wlan0 essid Michal channel 6
Použijete ten istý súbor /etc/wpa_suppliant.conf ako v časti pre rozchodenie tohto USB adaptéra vo FreeBSD; do príkazového riadku napíšete:
wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant.conf
Napokon zadáte dhclient wlan0
Treba zopakovať, že ak pripojenie k DHCP serveru (router) vo vašom počítači automaticky nenastaví DNS adresy, zadajte ich ručne do súboru /etc/resolv.conf.
Takto sa mi podarilo rozchodiť wifi adaptér WL-2203S-V3 pod Debian Linuxom 5.0. V Ubuntu 8.10 rovnaké kroky, ktoré fungovali pre Debian 5.0, nezabrali - wpa_supplicant sa nedokázal asociovať s routerom. Príčin môže byť viac - možno si to vyžaduje novšiu verziu wpa_supplicant, vymeniť jadro, čomu som však už nevenoval čas.
Adaptér som rovnako rozchodil aj pod Slackware Linuxom 12.2 - so zhodnými krokmi ako pre Debian 5.0, len s tým rozdielom, že súbory firmware som nemusel dodatočne inštalovať, pretože to Slackware už urobil za mňa - možno aj vďaka jeho inteligentnejšej inštalácii, v dôsledku ktorej užívateľ dostane na pevný disk taký základ, aký mu nie vždy iné Linuxy ponúknu.
Niektoré pojmy pre bezdrôtové siete
Čo je AP?
Access point (AP) alebo prístupový bod bezdrôtovej siete (resp. wifi router, hoci nie v najpresnejšom zmysle slova) je režim buď iba samotného zariadenia alebo aj počítača so softvérom a wifi zariadením, ku ktorému sa pripoja klienti. Hoci bežný wifi adaptér (aký si kúpite pre podobné riešenie popísané v tomto článku) vždy podporuje klientský režim, už nie každý zároveň aj režim AP a režim klient pre pripojenie k prístupovému bodu (AP).
Čo je pigtail?
Prepojovací káblik z ohybného materiálu, ktorý má na konci konektor (najčastejšie RSMA) - ten sa pripojí do konektora na wifi karte (napr. PCMCIA) alebo USB adaptéra. Na druhom konci je N konektor, do ktorého ide anténka.
Čo je hostapd?
Pokiaľ sa rozhodnete prevádzkovať počítač ako wifi server, rozhodli ste sa pre režim prístupového bodu "Access Point" (AP), ktorý je iný ako režim klientský. V počítači vám potom musí bežať démon, aby sa server (AP) mohol asociovať s klientom. Užívatelia môžu maličké wifi adaptéry uviesť aj do AP režimu, ak to tieto zariadenia podporujú. K tomu im poslúži daemon hostapd (pod slobodnou licenciou), ktorý zabezpečí autentifikáciu.
wpa_supplicant
Nástroj wpa_supplicant sa používa v počítačoch - klientoch, ktoré sa autentifikujú cez WPA, WPA2 (IEEE 802.11i / RSN) s prístupovým bodom (AP). Supplicant je komponent IEEE 802.1X/WPA, ktorý zabezpečuje negociáciu pre vstup k prístupovým bodom (wifi).
iwconfig
Iwconfig je nástroj podobný ifconfig, ale je určený pre konfiguráciu bezdrôtových (wifi) zariadení (Linux). Ako vidieť v článku, v nelinuxovských systémoch funkcie pre nastavenie wifi zariadení môžu byť implementované iba do jedného nástroja (ifconfig vo FreeBSD).
ESSID alebo SSID
Názov bezdrôtovej siete, do ktorej sa pripoja klientské bunky. V Linuxe, oproti FreeBSD (SSID), iwconfig používa termín "ESSID".