Moj usmerjevalnik ima Linux
Glede na to, da je strojna oprema v novejših usmerjevalnikih sorazmerno zmogljiva, se kar sama od sebe porodi zamisel, da bi jim naložili še kakšno dodatno nalogo ...
Pozor!
Naj opozorimo, da nalaganje neoriginalne programske opreme ali posegi v strojno opremo lahko povzročijo trajno okvaro, predvsem pa prenehanje veljavnosti garancije vašega usmerjevalnika.
Stanje sistema v mirovanju.
S temi "dodatnimi nalogami" se ukvarjajo razni projekti, ki razvijajo alternativno programsko opremo za najbolj priljubljene izdelke na trgu. Eden izmed njih je tudi odprtokodni OpenWRT (www.openwrt.org). Gre za operacijski sistem s polno uporabnim datotečnim sistemom in orodjem za upravljanjem paketov programske opreme, kakršne poznamo iz najbolj razširjenih distribucij Linuxa. OpenWRT je na voljo v dveh različicah. Starejša (t. i. Whiterussian) je sicer primernejša za produkcijsko rabo, a so njen razvoj pred slabega pol leta (razen varnostnih popravkov) ustavili in se posvetili novejši (t. i. Kamikaze) različici, ki je bolj primerna za razvoj in eksperimentiranje (zaenkrat nima niti spletnega vmesnika za konfiguracijo).
Primer delovanja programa ctorrent.
Namestitev je zelo enostavna in morebitnim uporabnikom OpenWRT ne bi smela povzročati težav. Datoteko s celotnim sistemom najprej prenesemo s spletne strani projekta (na kateri najdemo podrobnejša navodila za namestitev in dolg seznam podprtih naprav), se prijavimo v spletni vmesnik za upravljanje usmerjevalnika in na strani, ki je namenjena nadgrajevanju sistema, datoteko naložimo vanj. Po namestitvi, ki traja nekaj minut, se usmerjevalnik spet zažene in že se lahko ob pomoči orodja telnet povežemo nanj. Na voljo nam je običajna Linuxova ukazna vrstica, prek katere upravljamo sistem. Zaradi te značilnosti OpenWRT se od uporabnikov pričakuje osnovno obvladovanje ukazne vrstice Unixa. Nalaganje dodatnih paketov programske opreme, s katerimi lahko sistem popolnoma prilagodimo svojim potrebam, opravljamo ob pomoči orodja ipkg, pri čemer nam uspešno pomaga dokumentacija v sklopu wiki strani projekta.
Toda čemu vse to? Kaj nam OpenWRT omogoča? Glede na to, da gre za popoln operacijski sistem, smo teoretično omejeni le z zmogljivostjo strojne opreme. Na voljo so nam gonilniki za veliko zanimivih zunanjih vmesnikov in naprav, ki v sodelovanju s pestro programsko opremo, ki jo imamo na voljo, lahko nadomestijo marsikatero opravilo, ki ga praviloma opravljajo "pravi" računalniki. Na usmerjevalnik lahko na primer naložimo spletni strežnik, ki v internetu gosti spletno stran, ki jo shranimo na pomnilniško kartico SD ali MMC. Druga možnost je usmerjevalnik s priključkom USB, na katerega priključimo zunanji disk. Taka konfiguracija nam omogoča, da ob pomoči usmerjevalnika iz interneta prenašamo večje količine podatkov in jih shranjujemo na disk. Do prenesenih podatkov imamo lahko nato iz krajevnega omrežja dostop prek spletnega, FTP ali Samba strežnika. Poleg vsega drugega je možna tudi postavitev poštnega, DNS ali FTP strežnika. Vse omenjene rešitve nam omogočajo, da se izognemo stalno prižganemu domačemu računalniku, kar se pozna predvsem pri porabi električne energije in hrupu, saj so domači usmerjevalniki precej skromnejši porabniki energije kakor povprečni domači računalnik.
Obremenitev sistema ob treh aktivnih prenosih Bittorrent.
Tisti z malo več poguma se lahko lotite tudi posegov v strojno opremo usmerjevalnika in tako še dodatno povečate uporabnost svoje naprave. Tako kot domači računalniki nam tudi naš usmerjevalnik ponudi možnost navijanja, s čimer lahko povečamo njegovo zmogljivost. Ker se zaradi tega sestavni deli bolj segrevajo, je priporočljivo, če napravo dodatno hladimo. Z nekaj truda si lahko na ohišje namestimo enostaven zaslon LCD, na katerem prikazujemo razne informacije o delovanju. Nanj lahko izpisujemo trenutno obremenitev sistema, prenos podatkov, število neprebranih elektronskih sporočil ... Če želimo uporabljati pomnilniške kartice, lahko v usmerjevalnik vgradimo bralnik teh kartic. Možnosti je zelo veliko. Za večino so že na voljo bolj ali manj dodelani gonilniki.
Preizkus
In s čem smo se ukvarjali mi? OpenWRT smo preizkusili na usmerjevalniku Linksys WRT54GL. Naprava je opremljena z Broadcomovim procesorjem, ki tiktaka pri frekvenci 200 MHz, in s 16 MB delovnega pomnilnika. Izvedli smo dva preizkusa: pri prvem smo prek protokola Bittorrent prenašali datoteke, pri drugem pa usmerjevalnik uporabili kot spletni strežnik.
Ker naša naprava ni omogočala neposrednega priklopa zunanjega diska USB, smo nanjo priklopili omrežno mapo, ki je bila fizično v osebnem računalniku. Za prenašanje datotek smo uporabili program ctorrent. Omenjeni program za vmesno shranjevanje podatkov privzeto uporablja 16 MB pomnilnika. Glede na to, da je ob neobremenjenem sistemu ostalo na voljo le približno 3 MB pomnilnika, je že en aktivni prenos povzročil sesutje sistema. Ko smo nastavitve spremenili tako, da si je ctorrent lastil le 0,5 MB pomnilnika, smo lahko vzporedno poganjali 3-4 aktivne prenose. Edina resna pomanjkljivost take rešitve je v uporabi oddaljenega vira sekundarnega pomnilnika (beri: prižganega računalnika ...), to pa je mogoče elegantno rešiti z uporabo usmerjevalnika s priključkom USB in zunanjim diskom.
Obremenitev sistema ob streženju desetih sočasnih zahtevkov http.
Tudi v vlogi spletnega strežnika se je naš usmerjevalnik dobro odrezal. Nanj smo naložili statično spletno stran, ki je zasedala 33,8 KB. Konfiguracijo smo preizkušali ob pomoči orodja ab, ki smo ga poganjali na računalniku v krajevnem omrežju. Usmerjevalniku je uspelo postreči z največ sto sočasnimi zahtevki, na katere je odgovarjal poprečno 24 milisekund. To pomeni, da se je opisana rešitev izkazala za sorazmerno uporabno. Možno je tudi poganjanje dinamičnih spletnih strani PHP, a bi konfiguracija, ki to omogoča, potrebovala več prostora oziroma pomnilnika, to pa bi lahko rešili z vgradnjo bralnika pomnilniških kartic.
Skupni imenovalec vseh opisanih rešitev je v njihovi sorazmerno zapleteni in nepredvidljivi naravi. Če se želimo ukvarjati z omenjenimi posegi, moramo imeti voljo do eksperimentiranja, nekoliko vztrajnosti ter nekaj naprednejšega znanja s področja strojne in programske opreme. Vse to večinoma drži tudi za sam OpenWRT, kar je razlog, da bodo po njem posegli naprednejši uporabniki. A naj vas to ne prestraši. Za projektom stoji močna skupnost, ki skrbi za obširno dokumentacijo, ki nepoučenemu, a nadobudnemu novincu lahko zelo pomaga tako pri programerskih kot tudi pri bolj elektrotehniških posegih. Tisti manj zahtevni bodo popolnoma zadovoljni s kakim drugim sistemom, kot je na primer prav tako odprtokodni DD-WRT (www.dd-wrt.com), ki je do uporabnika dosti bolj prijazen in o katerem smo v Monitorju že pisali (Monitor 4/2007).
Skupni imenovalec vseh opisanih rešitev je njihova sorazmerno zapletena in nepredvidljiva narava. Če se želimo ukvarjati z omenjenimi posegi, moramo imeti voljo do eksperimentiranja, nekoliko vztrajnosti ter nekaj naprednejšega znanja s področja strojne in programske opreme.
Ctorrent za vmesno shranjevanje podatkov privzeto uporablja 16 MB pomnilnika. Glede na to, da je ob neobremenjenem sistemu ostalo na voljo le približno 3 MB pomnilnika, je že en aktiven prenos povzročil sesutje sistema.
OpenWRT
Kaj: Alternativni operacijski sistem za najbolj priljubljene domače usmerjevalnike.
Kje: www.openwrt.org.
Cena: Brezplačno (projekt je izdan pod odprtokodno licenco GPL).
Za: Širok nabor možnosti, dolg seznam podprtih naprav, dobra dokumentacija.
Proti: Primeren le za naprednejše uporabnike, tovrstni posegi povzročijo prenehanje veljavnosti garancije.