Najprej pa nekaj besed o odprtokodnih izdelkih v primerjavi s komercialnimi. Kupec je menda kralj, ki lahko izbira. Resnično življenje pa piše drugačne zgodbe. Zgodi se lahko celo, da ima kupec možnost odločitve med zmogljivim odprtokodnim in komercialnim izdelkom, pa se na koncu vseeno odloči za slednjega. Vse skupaj je morda videti nelogično. Ko sem omenil zmogljiv odprtokodni izdelek, sem namerno preskočil besedo brezplačen. Dejstvo je, da je pri velikem številu odprtokodnih izdelkov na voljo možnost brezplačnega prenosa programske opreme in namestitve, kar razširja zmotno mnenje o vsesplošni brezplačnosti. Logika pravi, da je od nečesa vendarle treba živeti, zato so zmogljivejše različice, morebitno vzdrževanje in tehnična podpora uporabniku na voljo za ustrezno plačilo. Drug pomemben dejavnik, ki ga nekateri vse prevečkrat zanemarjajo, a še zdaleč ni nepomemben, je čas. Če je vaš čas brezplačen, potem lahko to dejstvo zanemarite, sicer pa se lahko zgodi, da je ta lahko primerljiv z vrednostjo »čistega zlata«. Če o tem dvomite, poglejte cene različnih storitev zunaj delovnega časa (pribitki v odstotkih so lahko prav neverjetni). Tu je še vprašanje morebitne selitve dokumentov/podatkov, malih nezdružljivosti, vložkov v šolanje uporabnikov ...

Kot primer, ki potrjuje navedene trditve, lahko navedemo pisarniški paket OpenOffice.org (www.openoffice.org/), za katerega se še vedno odloča dokaj omejeno število uporabnikov – vsaj na področju domače uporabe bi bilo lahko število uporabnikov bistveno večje. Marsikdo uporablja »sposojeno« različico programskega paketa, namesto da bi uporabil brezplačne pakete, ki bi za njegove namene v večini primerov ustrezali. No, da ne ostanemo le pri besedah, še lasten zgled – tole besedilo nastaja v okolju OpenOfficovega programa Writer.

Zagon Open Flexible Routerja se ne razlikuje od običajnega zagona Linuxa.

»KUPEC VLAGA V TO, DA BO NAŠ KUPEC«

Ugledna podjetja imajo precej učinkovitih prijemov. Soliden izdelek in ustrezna tehnična pomoč sta nujna pogoja. A dejstvo je, da ima primerljive izdelke (vsaj v razmerju cena/možnosti) verjetno tudi konkurenca. Drugi korak, ki vodi kupca do dobavitelja, je sistem certificiranja, ki je v interesu obeh strani. Kupec vloži svoj denar v šolanje in certifikacijo. Tako lahko v obliki šolanja ponudnik zasluži solidne denarce. Pomembnejše pa je dvoje. Uporabnik izdelke dobro pozna, zato bo imel dobavitelj opreme z njim manj dela/težav, vprašanje pa je, ali bo to upošteval tudi pri ponudbi za morebitno vzdrževanje. Ker uporabnik izdelek bolje spozna, je tudi odločitev za ponovni nakup bistveno lažja kot za »neznani« izdelek. S sistemom certificiranja (ki ga trg priznava), si izdelovalci opreme tudi povečujejo sloves solidnega podjetja na trgu ali, kar je včasih še huje, uporabniki nehajo razmišljati. Pred časom sem slišal besede: »Ja, pa mi povejte drugo možnost, kot so njihovi izdelki ...« Zaradi slabega poznavanja trga in občutka »varnosti«, ki ga imajo kupci ob dobavitelju, pogosto niti ne razmišljajo o drugih možnostih.

Ob prej omenjenih besedah pa ne smemo zanemariti še nečesa. Vprašanje je, ali se vsi v podjetju obnašajo tako racionalno kot v domačem okolju. Morda ste že slišali podobno razmišljanje: »Kaj imam od tega? Če se odločim za izdelek priznanega proizvajalca, ne bo težav, saj se lahko še vedno rešim z izgovorom, da smo zagotovili najboljše, kar trg omogoča. Ob veliko manjših težavah pri brezplačnem izdelku pa bo prvo vprašanje, zakaj smo se odločili zanj, ne pa za kaj 'boljšega'.« Vsekakor se v bran odprtokodnim rešitvam zavedajte dejstva, da veliko dragih komercialnih sistemov deluje na »nezanesljivem« in »brezplačnem« Linuxu.

Pomembno je kako se prijavimo v sistem.

NE SVETI SE VSE, KAR JE ODPRTA KODA

Sam verjamem v brezplačne oziroma odprtokodne izdelke in jih uporabljam. Zavedam pa se, da odprtokodni projekti prinašajo tudi določene pasti. Najrazličnejši projekti, ki so včasih prava eksotika in rastejo kot gobe po dežju, se v nekaterih primerih uspešno končajo, drugi pa ne preživijo niti do faze stabilnega delovanja. Zgodi se celo, da uspešen projekt po določenem času preprosto obmiruje (konča se razvoj) ali se obrne v smer, ki nam ne ustreza več. Vodilo odprtokodnih rešitev je največkrat solidno delovanje, brez posebne želje po izpodrivanju komercialnih izdelkov, zato se lahko zgodi, da boste več informacij našli na spletnih straneh kot v različnih »uradnih« dokumentacijah. Odprta koda je lahko tudi odlično izhodišče ali osnova za lastno nadgradnjo, a v tem primeru se moramo zavedati, da smo po vsej verjetnosti odvisni od samega sebe – bomo projekt res speljali do želenega cilja, kako bo z nadgradnjo, kdo bo projekt vzdrževal, če podjetje zapusti »mama« rešitve ...? Ob vseh plusih in minusih se sam odločam le na podlagi vložka in pridobljene uporabne vrednosti. Če ocenim, da lahko dobim v določenem času funkcionalno ustrezno rešitev, ki ne zahteva posebno velikega vložka v obliki znanja ali časa glede na rezultat, je odločitev vsekakor lažja. Dobrodošle so seveda dodatne informacije, ki jih lahko pridobimo glede različice programske opreme, aktivnosti samega projekta (pogostost popravka, kdaj je bil izdan zadnji ...), potrebne dokumentacije, razpoložljivosti in številu uporabnikov na forumih.

MOŽNOSTI SO POVSOD

Odprtokodni izdelki so zanimivi tako na področju programske kot tudi strojne opreme. Ena od največjih dodanih vrednosti je, da standardno (in po možnosti) strojno opremo z manjšimi posegi spremenimo v namensko napravo. Seznam tako pridobljenih naprav je dolg, zato omenimo le nekatere možnosti. Star računalnik lahko postane strežnik za tiskalnik (npr. CUPS - www.cups.org/), spremenimo ga lahko v telefaksni strežnik (npr. Hylafax – www.hylafax.org), postane lahko bolj ali manj zmogljiv usmerjevalnik (npr. XORP – www.xorp.org/) , dobro pa se lahko počuti v vlogi klicnega strežnika v omrežju preko katerega prenašamo govor preko IP protokola (VoIP – Voice over IP; npr. Asterisk – www.asterisk.org/).

Zaradi vloge, ki ga imajo krajevna in dostop do spleta v vsakdanjem življenju, si bomo tokrat ogledali možnost usmerjevalnika. Med zmogljivejšimi rešitvami na tem področju najdemo Open Flexible Router (OFR), ki ga ponuja Vyatta (www.vyatta.com). Z izdelkom OFR in standardno strojno opremo x86 lahko uporabnik naredi visokozmogljiv usmerjevalnik za LAN/WAN, ki naj bi bil po zagotovilih razvijalcev primerljiv z izdelki priznanih proizvajalcev, kot sta Cisco Systems in Juniper. Ker so tovrstne primerjave vedno nehvaležne in dober prostor za špekulacije (saj je v raziskavah vedno najboljši tisti, ki jih navaja), je bolje, da se vsak sam prepriča. kako in kaj. Glede na obljube pa ne čudi podatek, naj bi si OFR mesečno preneslo s spletne strani okrog 20.000 uporabnikov.

Prijava kot administrator sistema

ODPRT IN PRILAGODLJIV

Open Flexible Router temelji na kodi, ki je bila razvita v okolju XORP (eXtensible Open Route Platform), dodane pa so bile tudi nekatere možnosti, ki jih koda XORP ni vsebovala (npr. Virtual Router Redundancy Protocol – VRRP ter SNMP in nekateri omrežni protokoli). OFR lahko brezplačno prenesemo s spletne strani www.vyatta.com/download. Na tej strani najdemo dve različici. Trenutno aktualna brezplačna je VC4.1.4 (Vyatta Community Edition 4.1.4), druga, Community, pa je plačljiva. No, resnici na ljubo je še tretja, ki je namenjena uporabi v virtualizacijskem okolju (VmWare). Obe različici (Community in Subscription) imata isto programsko opremo, razlikujeta pa se v podpori uporabniku. Brezplačna različica nima tehnične podpore, nadgradnje in popravki izhajajo v polletnih ciklih (vsakih šest mesecev enkrat). Pri plačljivi različici dobi uporabnik tehnično podporo ter dostop do nadgradenj in popravkov takoj, ko so ti na voljo.

Zaradi nizke cene in ocene, da je PC platforma dovolj robustna za večino okolij, lahko uporabnik izbere nenamensko strojno opremo. To je računalnik z Intelovim procesorjem, ki ima vsaj 500 MHz procesor, 256 MB delovnega pomnilnika (RAM) ter disk z velikostjo vsaj 500 MB. Če se vam zdi tovrstna strojna oprema nekoliko podhranjena, le informacija, da namenska oprema običajno še zdaleč ne dosega strojnih zmogljivosti, kot smo jih vajeni v svetu osebnih računalnikov. Seveda ne smemo pozabiti tudi na potrebno število ethernetnih vmesnikov. Namestitev lahko izvedemo tudi v računalniku z manj pomnilnika, vendar bomo imeli pri kompleksnejšem delovanju hitro težave (npr. tabele). Enako velja za trdi disk. 450 MB je minimum, ki zadošča za namestitev sistema, če želimo namestiti še kakšne dodatne pakete ali posodobitve, pa to ne bo mogoče.

Ukazna vrstica deluje domače tudi uporabnikom komercialnih usmerjevalnikov

KJE IN KAM

Tudi če ste prepričani, da že imate najboljši usmerjevalnik, je smiselno pogledati, kaj ponuja Vyatta. Seveda pa bo treba uporabiti tudi nekaj znanja. Dobrodošlo, no, skoraj nujno je, da ima uporabnik predznanje s področja omrežnih protokolov. Če imate morda izkušnje s praktičnim konfiguriranjem usmerjevalnikov (npr. Cisco IOS), toliko bolje. Uporabnik lahko OFR uporablja na različne načine. Tako imenovani LiveCD ne potrebuje posebne nastavitve na sistem, saj je vse na zgoščenki in ga lahko uporabimo predvsem za testne namene. Da konfigurcije po zaustavitvi sistema ne izgubimo, jo shranimo na zapisljiv medij (disketo – ukaz init-floppy), podprta pa naj bi bila tudi uporaba TFTP strežnika. V primeru trajne namestitve lahko OFR namestimo na trdi disk osebnega računalnika, CompactFlash kartico ali USB ključek. S stališča uporabe je zanimiva tudi možnost namestitve v virtualizacijsko okolje (VmWare, Xen), vendar moramo v tem primeru dobro poznati še to okolje.

3, 2, 1 …

Prvi korak je izdelava zagonskega CD-ja (LiveCD), ki jo naredimo iz datoteke *.iso (npr. www.vyatta.com/downloads/VC4.1.4/vyatta-livecd-VC4.1.4.iso). Ta CD naloži OFR le v delovni pomnilnik in zato ne povzroči izgube podatkov na trdem disku. Preden nadaljujemo namestitev, še pomembna informacija: OFR je najlažje opisati kot operacijski sistem za usmerjevalnik, ki deluje na osnovi Linuxa. Zato pozna tudi dva uporabniška računa. Prvi ima nadzor nad samim operacijskim sistemom Linux in ima zato klasično ime root (administrator sistema). Drugi je račun, s katerim se prijavimo, ko želimo konfigurirati usmerjevalnik (administrator usmerjevalnika). To je uporabniški račun z imenom vyatta. Privzeto geslo je v obeh primerih enako – vyatta. Glede na način prijave je različen tudi pozivnik (ukazna vrstica).

Če želimo sistem namestiti na trdi disk, vnesemo po prijavi (kot root) ukaz install-system. Sistem nas sam vodi prek namestitve, uporabnik le potrjuje/izbira posamezne možnosti. V nadaljevanju bomo večkrat opazili razliko med posameznimi različicami (2, 3 oziroma 4). V trenutno aktualni različici (4.1.4) lahko uporabnika zmede informacija o disku. Do vključno različice 3 je diske IDE prepoznal kot običajne diske (npr. hda, hdb, hdc, z novo različico pa jih je spremenil v sda …). Brez strahu, če je velikost diska in particij v skladu s pričakovanji, lahko nadaljujemo namestitev. To namestitev smo izbrali tudi v našem primeru. Na podoben način lahko izvedemo tudi namestitev na USB-ključek. Sistem načeloma sam najde vse diske, na katere lahko namesti programsko opremo. Pomagamo pa si lahko tudi z ukazom tail –f /var/log/messages, ki mu sledi priklop USB-ključka (tega mora sistem zaznati). Pri namestitvi na USB-ključek moramo preveriti, da strojna oprema ne le zazna ključek, temveč dovoli tudi zagon z USB-naprave (npr. USB HDD). Ustrezno je treba nastaviti tudi vrstni red naprav pri zagonu (zagonska sekvenca v BIOS-u). V postopku namestitve (install-system) ne pozabite spremeniti privzetega gesla za dostop.

Open Flexible Router v virtualiziranem okolju VMware.

KONFIGURACIJA

Usmerjevalnik je pripravljen za delo. Prve korake bomo izvedli kar lokalno prek tipkovnice. Tokrat se bomo prijavili z uporabniškim imenom vyatta. Kot administrator usmerjevalnika (uporabnik vyatta) imamo dva načina delovanja. Prvi nam omogoča nadzor nad usmerjevalnikom, drugi način je namenjen konfiguriranju sistema (podobno kot pri Ciscovem IOS, enable in cont t). V osnovnem (operativnem) načinu je pozivnik (prompt) videti kot

vyatta@vyatta:~$,

v konfiguracijskem načinu pa kot

vyatta@vyatta#.

V konfiguracijski način delovanja preidemo tako, da vnesemo ukaz configure, zapustimo pa ga z ukazom exit.

Prvi korak, ki ga bomo izvedli, je konfiguracija enega od ethernetnih vmesnikov. Dodeliti mu želimo IP-naslov 192.168.1.1, maska omrežja pa bo 255.255.255.0 (oziroma /24). Najprej gremo z ukazom configure v konfiguracijski način delovanja. Nato vnesemo vrstico

set interface ethernet eth0 address 192.168.1.1/24

v starejših različicah je namesto / uporabljen parameter prefix-length

set interfaces ethernet eth0 address 192.168.1.1 prefix-length 24

svoj vnos potrdimo z ukazom commit. Konfiguriranje zapustimo z ukazom exit. Če je računalnik priključen v krajevno omrežje z naslovnim prostorom 192.168.1.0, lahko preverimo povezavo z ukazom ping 192.168.1.1. Svoj vnos lahko preverimo tudi z ukazom show interfaces, ki nam med drugim izpiše tudi

ethernet eth0 {
address 192.168.1.1/24
hw-id MAC_naslov
}
...

Podobno lahko konfiguriramo tudi druge vmesnike in njihove lastnosti (hitrost, duplex ...). Pri vnosih si lahko pomagamo tudi s pritiskom na tipko TAB ali tako, da vnesemo eno ali več črk ukaza. Tako nam na primer vnos črke s in pritisk na tipko TAB izpiše možnosti – save, set, show. Če želimo, izberemo set in znova pritisnemo tipko TAB, ki nam zdaj izpiše možnosti, povezane z ukazom set (med drugim tudi interaces), če postopek nadaljujemo, lahko s sistemom zgradimo zgoraj navedeni ukaz set interface ethernet ... Če niste na svojem sistemu ali imate težave, je dobro vedeti, katero različico programske opreme imate nameščeno. To ugotovimo z ukazom show version. Zelo uporaben pa je tudi ukaz show –all. Če je izpis predolg, si lahko pomagamo z ukazi: q – izhod, presledek – premik navzdol, b – premik navzgor.

Z vnosom nismo vedno zadovoljni. Pri napačnem vnosu ne izvedemo potrditve z ukazom commit, temveč uporabimo ukaz discard (exit discard). OFR je v resnici nekoliko »unixaški«, saj je le malo stvari privzeto delujočih. Do našega usmerjevalnika še ne moremo dostopati prek krajevnega omrežja, zato moramo izvesti zagon ustreznega strežnika (ssh strežnik). To storimo tako, da v konfiguracijskem načinu (configure) vnesemo ukaz set service in pritisnemo tipko TAB. Izpišejo se nam storitve, ki so nam na voljo. Za aktiviranje dostopa ssh vnesemo set service ssh, vnos pa potrdimo z ukazom commit. Vrstico bi lahko tudi nadaljevali in določili dodatne možnosti (allow-root, port, protocol-version).

Morda se boste vprašali, kaj je z možnostjo grafičnega dostopa. Žal vas moram razočarati, saj te možnosti v trenutno aktualni različici preprosto ni. V starejših različicah je bila dostopna kot set service http (commit) oziroma set service webgui (commit). Še enkrat torej spoznanje, da se posamezne različice med seboj v določenih pogledih bistveno razlikujejo. Pri težavah se držite pravila: preverite, kot kateri uporabnik ste prijavljeni, v kakšnem režimu delovanja ste, preverite, ali imate pravo različico programske opreme, »interaktivno« si pomagajte s tipko TAB in, nikakor ne na koncu, preberite dokumentacijo. Žal se vse prevečkrat pokaže, da uporabniki ne posežejo po stričku Googlu, saj da včasih že prva stran rezultatov iskanja ustrezen odgovor. Lep primer je nedelovanje ukaza ping v konfiguracijskem načinu (#), brez težav pa deluje v običajnem (operativnem) načinu delovanja (>).

GREMO DALJE

Pri napakah se včasih zgodi, da smo vnos že potrdili z ukazom commit. V tem primeru si bomo pomagali z ukazom delete. Naš vmesnik bomo izbrisali z ukazom:

delete interface ethernet eth0 address 192.168.1.1/24
(potrdimo z ukazom commit)

Uspešnost brisanja pa preverimo z ukazom show interfaces. Kot lahko vidimo, smo v ethernetnem vmesniku eth0 zbrisali pripadajoči IP-naslov. Z ukazom:

delete interface ethernet eth0
(potrdimo z ukazom commit)

pa bi zbrisali ethernetni vmesnik eth0 iz usmerjevalnika. V tem primeru bi ga bilo treba najprej konfigurirati z ukazom:

set interface ethernet eth0
(potrdimo z ukazom commit)

Šele nato bi lahko nanj prilepili IP-naslov vmesnika.

PRVO PRAVILO

Pred vsako spremembo konfiguracije delujočo shranimo. Če storimo pri vnosu na neznanem mestu napako, lahko sistem brez težav obnovimo v prvotno stanje. Shranjevanje konfiguracije pa je nujno tudi pri delovanju s CD-ja (LiveCD – ko sistema ne namestimo), saj se, če konfiguracije ne shranimo, ta pri ugašanju/ponovnem zagonu izgubi. Konfiguracijske podatke shranimo na disketo z ukazom init-floppy, ki pripravi disketo. Disketna enota (/dev/fd0) se priklopi v /media/floppy, konfiguracijska datoteka pa bo shranjena v imeniku config kot datoteka config.boot. To je privzeto mesto in ime, na katerega lahko shranimo podatke z ukazom save. Če želimo shraniti konfiguracijo pod drugim imenom, storimo to z ukazom save, ki mu sledi ime datoteke (npr. save mojMikro01). Če imamo Open Flexible Router nameščen na trdem disku, bo ukaz save shranjeval konfiguracijske podatke v datoteko na disku v imeniku /opt/vyatta/etc/config oziroma datoteko config.boot v tem imeniku. Verjetno že slutite, kako bomo sistem obudili. Uporabili bomo ukaz load, ki naloži konfiguracijsko datoteko config.boot. Ko sledi ukazu load še ime datoteke, naloži datoteko s tem imenom (npr. load mojMikro01). V tem primeru imamo lahko na sistemu več konfiguracijskih datotek, ki jih po potrebi naložimo.

Kot vidimo, OFR ni igrača, namenjena uporabnikom, ki z veseljem klikajo, pa čeprav ne poznajo popolnoma pomena posameznih ukazov. Marsikdo, ki je vajen »resnih okolij«, pa bo ob pregledu obsežne dokumentacije verjetno ugotovil, da gre za izdelek, v katerega je vredno vložiti čas in ga spoznati do skrajnih možnosti. Pri prvih korakih si je smiselno pomagati z različnimi tipičnimi konfiguracijami, ki jih lahko uporabnik priredi po svojih potrebah.


Zanimivosti in nasveti
• Kljub možnosti izbire med komercialnim in brezplačnim izdelkom se uporabniki velikokrat odločajo za komercialne rešitve. Dejstvo, da se uporabnik odloči za rešitev ki »ni klasična«, je pri marsikom povezana z nelagodjem in občutkom potovanja po trnovi poti.
• Odločitev za odprtokodno rešitev mora biti povezana tudi z drugimi odločitvami. Zavedati se je treba, da odprta koda ne pomeni vedno tudi brezplačnega izdelka. Med strateške odločitve sodi zato tudi vložek v lastno znanje, ki utegne biti v današnjih časih zlata vreden.
• Komercialni izdelki pogosto obljubljajo varnost in zanesljivo delovanje. Roko na srce, veliko komercialnih rešitev sistemov deluje na podlagi bolj kot ne standardne strojne opreme Linuxa, žal pa se podjetja bolj kot na funkcionalnost usmerjajo na licenčne omejitve. Število razvijalcev odprte kode pa je v določenih primerih lahko večje, kot si jih lahko privoščijo tudi največja podjetja.
• Pri Vyattovem izdelku Open Flexible Router hitro opazimo razlike med posameznimi programskimi različicami. Razlika ni le v sami sintaksi ukazov, temveč tudi v nekaterih funkcionalnostih.
• Vyatta je z izdelkom Open Flexible Router posegel predvsem v poslovni segment. To je vidno tudi z možnostmi, ki jih usmerjevalnik podpira. Obvladovanje izdelka zahteva kar nekaj časa, saj priročnik obsega več kot petsto strani. Čas do želenega delovanja lahko uspešno skrajšamo z različnimi primeri tipskih konfiguracij, ki jih priredimo za svoj namen.
• Open Flexible Router ni igrača, ki bi jo lahko namestili v katerikoli računalnik. Pri novejših različicah bo prvi »filter« izveden že pri zagonu, ki preverja letnico BIOS-a in opozori, če ta ni ustrezna.

Moj mikro, Marec 2009 | Marko Koblar