Tornóci László <torlasz@xenia.sote.hu>
Semmelweis Egyetem, Kórélettani Intézet
Ez az anyag HTML formában is elérhető a http://xenia.sote.hu/~torlasz/networkshop/ címen. Ezt az anyagot időről időre (amíg érdeklődés mutatkozik) ki is egészítem új fejleményekkel.
Mindennapi életünkben az Internet használatát jelentősen korlátozza az, hogy csak megszokott munkaállomásunkról, általában csak a nap meghatározott időszakában érhető el. Így az ember többnyire szívesebben nyúl egy megfelelő könyvhöz a polcon, ha utána akar nézni valaminek. Otthon az időkorlátokon segíthet az Internet kapcsolat átalánydíjassá tétele, de továbbra is fennáll a helyhez kötöttség. Segít valamelyest, ha olcsó ethernet eszközökből kishálózatot alakítunk ki (SOHO = small office, home office network), így megoldható, hogy közvetlenül csak egyetlen gépünk csatlakozzon az Internethez, de az a többi gépről is elérhető legyen a hálózaton keresztül (a sávszélességen osztozva). Ennek a megoldásnak további előnye, hogy az Internethez csatlakozó gép egyben csomagszűrő tűzfalként konfigurálható (lásd pl. IP-Masquerading HOWTO). Igazi szabadságot az Internet használatában azonban csak úgy érhetünk el, ha az eddig leírtakat drótnélküli kapcsolat (wireless LAN) kialakításával egészítjük ki.
A drótnélküli hálózat kialakításához szükséges eszközök még nem olcsók, de beszerezhetők, a konfiguráció sem nehéz. Az elérhető adatbiztonság és adatátviteli sebesség jónak mondható. Az előny viszont nyilvánvaló: egy laptoppal a lakásban (vagy akár környékén) bárhol letelepedve dolgozhatunk vagy nézelődhetünk a neten.
Felmerülhet a kérdés, hogy miért javaslom a klasszikus (vezetékes) Internet elérés kis hatótávolságú drótnélküli meghosszabbítását amikor - a reklámok szerint - "mobiltelefonról is lehet internetezni" ? Valójában 3 alternatíva is van mobil Internet használatra:
Az 1. megoldás nyilvánvaló hátránya, hogy csak egy viszonylag kis körülírt helyen használható (pl. lakás, munkahely), ezzel szemben jelenleg messze a legjobb teljesítmény/költség hányadossal rendelkezik: használhatjuk a már amúgy is meglevő Internet szolgáltatásunkat, annak megszokott sávszélességével, az elérhető szolgáltatásokat legfeljebb az IP masquerading határolja be.
A 2. alternatíva teljes mobilitást nyújt, jelenleg viszont nagyon alacsony az elérhető sávszélesség, továbbá drága a szolgáltatás. Ehhez képest a 3. megoldás szűkebb szolgáltatásokat ad, szánalmasan gyenge I/O lehetőségek mellett.
Mindhárom megoldásnak van létjogosultsága, az igényeinktől függ, hogy melyiket választjuk, sőt valószínű, hogy a jövőben sokan a vázolt megoldások közül többet is igénybe vesznek, mégpedig mindig azt, amelyik az adott helyzetben a legmegfelelőbbnek látszik. Valószínű, hogy az 1. megoldás a jövőben lényegesen olcsóbbá válik a drótnélküli technológia tömeges elterjedésével, és továbbra is a legjobb teljesítmény/ár viszonyt nyújtja.
A wireless adatátviteli technológiák az ún. spread spectrum módszert használják. Ezt eredetileg katonai alkalmazásokra dolgozták ki, lényege, hogy az adatátvitel nem egy szűk frekvenciasávban történik, hanem a rendelkezésre álló frekvenciatartományban szétterítve, ezáltal ugyan a tartományt kevésbé gazdaságosan használjuk ki, de az adatátvitel sokkal biztonságosabb, elektromágneses zavaró jelek jelenlétében is működőképes marad (l. Hivatkozások). Két fajtája van: az FHSS (frequency hop spread spectrum) és a DSSS (direct sequence spread spectrum). Az első maximum 2 Mbit/s átviteli sebességet tesz lehetővé, ezt használta az eredeti IEEE 802.11 szabvány, a második 11 Mbit/s-ig megy el, ezt használja a módosított, 802.11b szabvány.
A kereskedelemben kapható kártyák rendszerint a 2.4 Ghz-es, szabadon használható ún. ISM (Industrial, Scientific, Medical) sávot használják, ami egyébként közel esik a mikrohullámú sütők által használt frekvenciához (persze azok remélhetőleg jól le vannak árnyékolva). Ennek a frekvenciatartománynak kellemes tulajdonsága, hogy elég jól áthatol a falakon és más szilárd akadályokon, ezért a lehallgatókészülékek is rendszerint ezen a frekvencián továbbítják a jeleket. Így aztán nem meglepő, hogy bizonyos országokban (pl. Franciaország) a sáv nagy részét az állam saját céljaira foglalja le.
Említést érdemel még a bluetooth technológia, de ez (azon túlmenően, hogy még éppen csak terjedőben van) egyrészt tudomásom szerint rövidebb hatótávolságú, másrészt az adatátviteli sebesség az 1 Mbit/s-ot sem éri el. Fő előnyének tartják, hogy olcsó, kisfogyasztású chipeken különböző elektronikus szerkezetekbe beépíthető, amiket így nem kell majd dróttal összekapcsolni. Ez a technológia nem valószínű, hogy alkalmassá válik helyi wireless LAN kialakítására, erdetileg nem erre tervezték, persze ha sikerül növelni az adatátviteli sebességet, még szóba jöhet.
A napokban hallottam, hogy demonstráltak egy drótnélküli Firewire implementációt (l. Hivatkozások). Ennek adatátviteli sebessége igen jó (elérheti a 400 Mbit/s-ot is), de jelenleg nagyon rövid a hatótávolsága (pár méter). A jövőben viszont lehet, hogy erre majd építhető lesz wireless LAN.
Mindezek alapján egyértelmű, hogy jelenleg 802.11b kompatibilis, 11 Mbit/s sebességű kártyát érdemes beszerezni.
A 802.11 szabvány alapján kétféle hálózat hozható létre:
Az "ad hoc" rendszerben az egyes gépek peer-to-peer módon, közvetlenül egymással kommunikálnak. Kishálózatok (SOHO) esetében ez megfelelő megoldás lehet. Az ORiNOCO (Lucent) kártyákhoz kiadott legfrissebb kernel modul az "ad hoc" helyett egy másik AP nélküli működési lehetőséget ajánl, de ezt még nem próbáltam.
Az access pointok legnagyobb hátránya, hogy sokkal drágábbak, mint a peer-to-peer kommunikációra alkalmas kártyák, holott pontosan ugyanolyan kártya van bennük további elektronikai komponensek mellett. Már egyetlen AP-nak is van előnye: bridge funkcióra képes, tehát segítségével transzparensen csatlakozhatunk egy már meglevő ethernet LAN-hoz, vagyis használhatjuk annak IP számait. Nagyobb hálózat esetén pedig több AP-vel egész nagy terület lefedhető amin belül szabadon lehet mozogni, kártyánk mielőtt kikerülne az addig használt AP hatásköréből, automatikusan keres egy közelebbit, és azon keresztül folytatja a kommunikációt.
Az Internet hírforrások tüzetes tanulmányozása után láttam, hogy Linux gépeken sikeresen üzemeltethető peer-to-peer hálózat. A költségek csökkentése érdekében lemondtam az AP használatáról (pl. a Lucent ORiNOCO RG-1000 Residential Gateway darabja 300-400 USD), így 2 két db Lucent ORiNOCO PC (PCMCIA) cardot vettem (darabja 150 USD) és egy ISA adaptert (70 USD) az egyik kártyához, hogy azt beépíthessem egy desktop gépbe. Olcsóbb kártyák is kaphatók, de a Lucent kártyáról (korábban WaveLAN néven volt forgalomban) egyöntetűen jó véleményt olvastam, így inkább emellett döntöttem.
A Lucent wireless LAN kártya hosszabb, mint egy nomál PCMCIA kártya, a kiálló rész a beépített antenna. |
A kártya laptop gépbe helyezve, működés közben (külső antennát csak akkor kell csatlakoztatni, ha meg kívánjuk növelni a hatótávolságot). |
A drótnélküli hálózatnál különösen fontos szempontként jelentkezik az hálózatbiztonság, nevezetesen, hogy mások ne tudják lehallgatni az adatforgalmat, illetve ne tudjanak jogosulatlanul belépni a hálózatba. Az általam választott kártyatípus többféle változatban kapható, ezek a kriptográfiai lehetőségekben különböznek, a Silver verzió 64, a Gold verzió 128 bites RC4 kódolást használ. Mivel az árdifferencia minimális, a Gold verziót választottam. Kriptográfiai támogatás nélküli kártyát semmilyen célra nem használnék. A kártyák a hangzatos WEP (wire equivalent privacy) standardnak felelnek meg, ami azt ígéri, hogy az ember elvileg ugyanolyan biztonsággal használhatja drótnélküli eszközeit, mint a klasszikus huzalozott LAN-on. Éppen az utóbbi hetekben merült fel, hogy a WEP-nek biztonsági hiányosságai vannak, így a rendszerbe egy megfelelően felkészült, nagyon elszánt ember, be tud törni (l. Hivatkozások). Bár ennek esélye minimális, várható, hogy a cracker aktivitás ezen a téren is fel fog virágozni, így a LAN-okon szokásos elővigyázatosság (jó jelszavak választása, cleartext jelszavak használatának száműzése) feltétlenül indokolt az otthoni kishálózatunkon is (már csak azért is, mert betörhetnek a csomagszűrő tűzfalba is az Internet felől). Ehhez képest, a tapasztalatok szerint nagy számban hoznak létre kódolatlanul működő drótnélküli LAN-okat. Egy ember beszámolt arról, hogy Manhattenben egy taxiban ülve vagy egy tucat hálózatba tudott belépni 802.11-es kártyájával ellátott mobil számítógépéről.
Felmerül a kártyák okozta sugárterhelésnek az egészségünkre kifejtett esetleges károsító hatása is. A rendelkezésre álló adatok szerint a sugárzási teljesítmény csak kis hányada annak, amit a mobiltelefonok produkálnak, és így csak töredéke az egészségügyi határértékeknek. Fontos azonban, hogy akkor, ha a hatótávolság növelése érdekében olyan antennát csatlakoztatunk a kártyához, amivel kifejezetten egy adott irányba, egy nyalábban sugározzuk a jelet, akkor ne tartózkodjon senki a sugárzás irányában.
A konkrét lépéseket RedHat 7.0-s Linuxra ismertetem. (Debian ill. *BSD felhasználók valószínűleg nem szorulnak a segítségemre, aki meg mást használ, az vessen magára). Javarészt rootként kell dolgoznunk.
Feltételezem, a következőket:
Persze külön file server nem szükséges, de célszerűbb, ha van (már csak biztonsági okok miatt is). A Lucent kártya sikeres aktiválása esetén a legelső szabad sorszámú ethernet eszközként jelenik meg a gépben. A példáimban felteszem, hogy a gépekben van egy ethernet csatoló (eth0), így a Lucent kártya eth1 lesz.
# /etc/rc.d/init.d/pcmcia status cardmgr (pid 459) is running... #
# cardctl ident Socket 0: product info: "Lucent Technologies", "WaveLAN/IEEE", "Version 01.01", "" manfid: 0x0156, 0x0002 function: 6 (network) Socket 1: no product info available #
# cp WLLI606.tgz /usr/src/linux/pcmcia-cs-3.1.20 # cd /usr/src/linux/pcmcia-cs-3.1.20 # tar xzf WLLI606.tgz # make all -f wavelan2_cs.mk # cp clients/wavelan2_cs.o /lib/modules/2.2.17-14/pcmcia/ # depmod -a # cp man/wavelan2_cs.4 /usr/share/man/man4
device "wavelan2_cs" class "network" module "wavelan2_cs" card "Lucent Technologies WaveLAN/IEEE" version "Lucent Technologies", "WaveLAN/IEEE" bind "wavelan2_cs"
module "wavelan2_cs" opts "port_type=3"
DEVICE=eth1 BOOTPROTO=static BROADCAST=192.168.2.255 IPADDR=192.168.2.5 NETMASK=255.255.255.0 NETWORK=192.168.2.0 ONBOOT=no
# lsmod wavelan2_cs 26304 1 ds 6288 2 [wavelan2_cs] i82365 21712 2 pcmcia_core 44288 0 [wavelan2_cs ds i82365] # ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:02:2D:0C:18:A2 inet addr:192.168.2.5 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7266 errors:0 dropped:0 overruns:0 frame:0 TX packets:9362 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:3 Base address:0x100
PCMCIA=yes PCIC=i82365 PCIC_OPTS=do_scan=1 CORE_OPTS=
module "wavelan2_cs" opts "port_type=3 enable_encryption=y key_1=1234567890123"
Gold kártya (128 bit RC4) esetén key_1 értékének tetszőleges, 13 karakterből (vagy 26 hexadecimális számjegyből) álló kódstring adható meg. A két kártya csak akkor lesz képes kommunikálni, ha mindkét gépen ugyanazt a kódstringet adjuk meg. A kód ismerete szükséges a hálózathoz való csatlakozáshoz, ezért célszerű pl. csak root számára olvashatóvá tenni a /etc/pcmcia/config.opts file-t, illetve időnként cserélni a kódot.
#!/bin/bash PATH=/sbin echo "Setting masquerade options..." ipchains -P forward DENY ipchains -A forward -j MASQ -s 192.168.2.0/24 -d 0.0.0.0/0 echo 1 > /proc/sys/net/ipv4/ip_forward echo " - Changing IP masquerading timeouts." # 2 hrs timeout for TCP session timeouts # 15 sec timeout for traffic after the TCP/IP "FIN" packet is received # 120 sec timeout for UDP traffic ipchains -M -S 7200 15 120 modprobe ip_masq_ftp
Persze, ha nincs a laptopban beépített ethernet interface, akkor ilyesmire nincs szükség, beállíthatjuk a default route-ot akár az /etc/sysconfig/network file-ban vagy célszerűbben a /etc/pcmcia/network.opts file-ban is.
A rendszer sematikus ábrázolása:
Természetesen nem kötelező ilyen nyakatekert dupla masquerading rendszert használni. Először is, tehetjük a Lucent kártyát a firewallba is, és kiegészíthetjük az ottani ipchains szabályokat. Ekkor azonban problémás lesz elérni a huzalos etherneten levő más gépeket (file, print szerverek). Megtehetjük azt is, hogy nem masqueradinget használunk a huzalos ethernet halózat elérésére, hanem minden gépbe szépen beírjuk egy statikus route táblázatot. Megkísérelhetünk ethernet bridge-et csinálni a gépből, de ez még senkinek sem sikerült Linuxon Lucent kártyával (vannak más kártyák, amikkel viszont igen!). Végül vehetünk Access Pointot is.
Megmértem egy kb. 10 MB-os tömörített file ftp-vel való átvitelének sebességét a két Lucent kártyával ellátott gép között. Hagyományos (10 Mbit/s) ethernet csatlakozás esetén kb. 1000 Kbyte/s volt a sebesség (ez jónak mondható, a munkahelyi switchelt hálón csak kb. 800 Kbyte/s-t tudok elérni). Nyílt (titkosítatlan) drótnélküli átvitel esetén kb. 600 Kbyte/s-t mértem. A sebesség a 128 bites RC4 kódolás alkalmazása mellett tovább csökkent, kb 460 Kbyte/s-re. Ez az érték azonban gyakorlatilag azonos a lakás bármelyik részében és megbízhatóan reprodukálható. Az egyik gép a lakás feletti padlástérben van, maga a lakás kétszintes, tehát az alsó szintre két födémen is át kell hatolni a rádióhullámoknak. Érdekes módon azonban ha még egy szinttel lejjebb megyek, a kapcsolat megszakad, nem pedig lelassul, mint az várható lenne. (Nyilván működne a dolog, ha eleve alacsonyabb sebességre konfigurálnám a kártyákat, vagy külső antennát használnék).
Mire elég a 460 Kbyte/s ? Az ISDN vonal sebességéhez (64 ill 128 Kbit/s) képest ez összehasonlíthatalanul gyorsabb, de egy forgalmas, switch nélküli 10 Mbit/s-es ethernetnél is jobb lehet. Nekem a mindennapi munkámhoz tökéletesen megfelel (1-10 MB nagyságrendű file-ok írása/mozgatása, NFS ill. Samba fölött). A rendszert hónapok óta használom, eddig hibára utaló jelet nem tapasztaltam.
Ebben az írásban a fő célként, előnyként azt hangsúlyoztam, hogy laptopunkról elérhetjük az Internetet, de nyilván az otthoni kishálózatnak (huzalozott vagy nem) az adatbiztonság szempontjából is óriási előnye lehet: egy régebbi gépből csináljunk egy RAID1-es (disk mirroring) file servert, minden lényeges adatunkat tartsuk ott és akkor nem kell azon aggódni, hogy esetleg elvesztjük a munkáinkat egy disk crash miatt.
Nem nehéz megjósolni, hogy árcsökkenés és robbanásszerű növekedés várható a wireless LAN alkalmazásában. Azt már nehezebb eltalálni, hogy melyik technológia válik majd egyeduralkodóvá, ezzel nem is próbálkozom. Jelenleg az egyetlen igazán elterjedt standard, amihez könnyen vásárolhatunk eszközöket, és a Linux támogatása is jó, az IEEE 802.11 és annak 11Mbit/s-os "b" változata.
Bár folyamatosan röppennek fel hírek arról, hogy különböző cégek nagysebességű drótnélküli Internet szolgáltatást terveznek, a realitás valószínűleg az, hogy ennek nagyon komoly beruházási igénye lesz, így nem lesz olcsó, míg másik oldalról már eddig is nagyon sok optikai kábelt fektettek le, amiken keresztül viszonylag olcsó Internet elérés biztosítható ma is. Így vélhető, hogy belátható időn belül a klasszikus vezetékes Internet elérés olcsóbb lesz, mint a mobil. Kérdéses az is, hogy mennyire telítődnek az adatforgalomra használható frekvenciasávok a jövőben. Továbbá azt se felejtsük el, hogy a sávszélesség mellett a kapcsolat megbízhatósága is döntő jelentőségű a mindennapi használat során.
Az igények felől megközelítve a kérdést, az információ intenzív mértékű fogyasztásához (vagy produkálásához) viszonylagos koncentráció, nyugalom szükséges, így várható, hogy az Internet használat jórészt akkor is azokra a helyekre fog korlátozódni, ahol viszonylag hosszabb időt töltünk (otthon, munkahely, várótermek, utazás), ha egyébként meglesznek a mobil Internet elérés feltételei. Ez is azt támasztja alá, hogy ezeken a helyeken érdemes a vezetékes Internet elérést lokális wireless LAN kialakításával kombinálni.
Mobil eszközök drótnélküli LAN-on való használata várhatóan számos munkahelyen nagyon előnyös lesz akár Internet nélkül is (pl. kórházakban, szolgáltatásoknál). Otthon pedig, hallgathatunk zenét olvashatunk könyveket a lokális drótnélküli LAN-on keresztül. Egy mp3 streaming rendszer ma is könnyen összeállítható open source software elemekből és a 11 Mbit/s bőven elég ahhoz, hogy mellette még dolgozni is lehessen. A könyvolvasás megvalósításához jelentős javulás kell az LCD kijelzők felbontóképességében, jelenleg ez a fő akadálya annak, hogy hosszabb szöveget olvassunk a számítógépen.
Spread spectrum technológiák ismertetése:
http://www.wireless-nets.com/whitepaper_spread.htm
A nemrégiben felvetődött WEP biztonsági probléma leírása:
http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html
És az erre adott válasz:
http://slashdot.org/articles/01/02/15/1745204.shtml
Lucent WaveLAN driverek:
http://wavelan.com/template.html?section=m52&envelope=90
IP-Masquerading HOWTO
http://xenia.sote.hu/ftp/mirrors/LDP/HOWTO/IP-Masquerade-HOWTO.html
Firewall and Proxy Server HOWTO
http://xenia.sote.hu/ftp/mirrors/LDP/HOWTO/Firewall-HOWTO.html
Wireless-HOWTO
http://xenia.sote.hu/ftp/mirrors/LDP/HOWTO/Wireless-HOWTO.html
Drótnélküli FireWire implementáció:
http://www.firewireworld.com/news/2000/01/20000127/necfirewirewireless.shtml
A SAS légitársaság IEEE802.11b wireless LAN szolgáltatást nyújt utasainak a repülőgépein és várótermeiben
http://www.scandinavian.net/company/newsfacts/press/010124eng.asp
2001. november
Az előadásban még a 2.2-es kernel használatát ismertettem. Természetesen a 2.4-es verziót is kipróbáltam, de pár hónapig a Lucent driver nem támogatta a 2.4-es kerneleket, a 2.4-es kernelben levő új PCMCIA rendszer pedig nem ismerte fel az ISA-PCMCIA adapterem. Ma már ezek a gondok nem állnak fenn, azóta átálltam 2.4-re. Ma már több választási lehetőség is van. Egyrészt használhatjuk a Lucent drivert (wavelan2_cs, jelenleg 6.10-es verzió, WLLI610.tgz) a 2.4-es kernellel, akár a built-in PCMCIA rendszerrel fordítjuk, akár a régi módon, a különálló PCMCIA csomaggal http://pcmcia-cs.sourceforge.net fordítjuk a kernelt. Használhatjuk a 2.4-es kernelben levő orinoco_cs vagy vwlan_cs (open source) drivereket is, ma már ezek is támogatják a legtöbb funkciót, amire szükségünk lehet. Használhatjuk akár a Redhat 7.2 "gyári" kerneljében levő vwlan_cs modult is. A drótnélküli kártyákról és linux drivereikről egy jó összefoglaló: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.drivers.html. Jean Tourrilhes "Wireless LAN resources for Linux" oldalinak címe: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
Az előadásban említésre került, hogy gyengeségeket fedeztek fel a WEP protokollban. Ma már bizonyított tény, hogy a WEP nem adja meg az ígért biztonságot: pl. Weaknesses in the Key Scheduling Algorithm of RC4. 100MB-1GB adatforgalom lehallgatása szükséges a WEP feltöréséhez, de már kész exploitok vannak. AirSnort: linux exploit a WEP publikált hiányosságára, illetve WEPCrack.
A jelenlegi helyzetben tűzfalon belül nem javasolt drótnélküli LAN-t üzemeltetni, ha biztosítani akarjuk, hogy az adatforgalom ne legyen lehallgatható. Maga a WEP biztosan megtörhető, és abban sem bízhatunk, hogy nem tudnak hatótávolságon belül kerülni. Nagynyereségű antennával egészen messziről is belehallgathatnak a forgalomba. A helyzet tehát ahhoz hasonlítható, mint ha tudtunk nélkül bárki csatlakozhatna az ethernet LAN-unkhoz. Minimális követelmény a cleartext jelszavakat használó protokollok mellőzése, ennél jobb a kódolt VLAN-t használni.
Egy lehetséges megoldás: authentikáció az access point szintjén: NoCatAuth: Authentication for Wireless Networks
Néhány beszámoló:
Többen kérdezték, hogy hol és milyen eszközöket lehet Magyarországon beszerezni. Erre sajnos nem tudok pontos választ adni, én külföldon vettem a kártyáim.. Annyit tudok, hogy több cég is forgalmaz drótnélküli eszközöket, bár a választék nem túl nagy.