Miért is lehet szükségünk hálózati megosztásokra? Egy irodában vagy munkacsoportként működő céges környezetben az egymás közötti kommunikáció, az adatok cseréje, és a ritkábban használt erőforrások közös használata teszi indokolttá mindezt, de mi a helyzet otthon? Ha a saját gépen letöltött mesefilmet lemezírás nélkül is szeretnénk például a gyerekszobában elérhetővé tenni, wifis telefonunkkal kapcsolatban pedig szeretnénk végre elfelejteni a „már megint hová tettem a telefon USB-kábelét” című otthoni közjátékot, akkor itt az ideje az otthoni hálózat létrehozásának. Mivel több gép esetén legtöbbször routerrel is rendelkezünk, amihez a számítógépeink kábellel vagy vezeték nélküli kapcsolattal csatlakoznak, a hálózat kiépítésének hardveres akadálya nincs.
A hálózat ügyében egy Windows rendszer súgóját tanulmányozva lépten-nyomon olyan kifejezésekbe botlunk, mint „munkacsoport”, „hálózati munkaállomás”, „megosztott hálózati erőforrás”, és rögtön egy irodában, illetve a nyolcvanas-kilencvenes években érezhetjük magunkat, mert a terminológia és a felhasználás alapvető modellje a DOS, a néhai világklasszis Novell Netware, a Windows 3.11 és a UNIX munkaállomások korát idézi. Miért ne lehetne ez is olyan egyszerű, mint a távirányító piros gombja? A legtöbb mai Linux-disztribúció is a megszokott megosztási módszereket alkalmazza, tehát alapesetben elsősorban NFS és SMB lehetőséget kínál, de mégis lassan már egy évtizede rendelkezésre áll rajtuk kívül egy sokkal egyszerűbb módszer is.
A Zeroconfra, vagy más néven Multicast DNS responderre épülő megoldás, amit az Apple 2002-ben vezetett be a termékeinél, és lényegi részeinek forráskódja Apache licenc alatt hozzáférhető, ezért gyorsan terjedt a nyílt forráskód világában. Az mDNSresponder (az mdnsd rendszerdémon) vagy újabb implementációja, az Avahi és tartozékai néhány csomagban szinte minden Linux-disztribúció csomagkezelőjében megtalálhatók. A következő példák a szerző kedvenc vesszőparipáján (vagy állatorvosi lován), az openSUSE-alapokra épülő, magyar Little Susie disztribúción, és annak KDE 3.5 Asztalán keresztül mutatják be a megoldás lehetőségeit. (Ugyanezek a lehetőségek az újabb KDE 4 vagy a Gnome felülettel szállított disztribúciókon is használhatók, természetesen a különböző termékek esetén a beállításokat más-más helyeken kell keresni, és a felhasznált programok vagy appletek neve is tetszőlegesen vagy szükségszerűen más lehet.)
Kezdjünk hozzá!
Ellenőrizzük, hogy rendszerünkön megtalálható-e a szükséges néhány csomag, és azok működését engedélyeztük-e. A YaST vezérlőpultban, a csomagkezelő (Szoftver telepítése...) segítségével keressünk rá a következő – magát a démont és közvetlen tartozékait tartalmazó – csomagokra: avahi, avahi-compat-mDNSrensponder, avahi-lang és avahi-utils.
Emellett nem árt, ha az asztali környezetünkhöz megfelelő libavahi csomagokat is telepítjük.
(Kezdők nyugodt lélekkel kijelölhetnek mindent, ami „libavahi-” kezdetű, így a telepítés csak másodpercekkel tart tovább, de biztosan települ minden szükséges komponens.) Amire még szükségünk lesz a KDE 3.5 felületen: libdns_sd, nss-mdns és kdenetwork3 (utóbbi csomag tartalmazza a kio zeroconf támogatást). Ha ezzel megvagyunk, ellenőrizzük, hogy fut-e a szolgáltatást biztosító démon. A YaST-on belül a Rendszernél a Futásszint-szerkesztő segítségével meggyőződhetünk arról, hogy az avahi-daemon és az avahi-dnsconfd fut-e. Ha nem, egyenként jelöljük ki, és kattintsunk az „Engedélyezés” gombra. Fontos, hogy az openSUSE YaST programja, vagy hasonló grafikus beállító alkalmazás nem mindenhol áll rendelkezésre. Más Linux-disztribúciók esetén előfordulhat, hogy a rendszerszolgáltatások beállítását parancssorból kell elvégeznünk. Ebben az esetben olvassuk el az insserv és a chkconfig parancsok súgóját, amit megtalálhatunk az interneten, de legrövidebb úton a terminálon hívhatjuk elő, például a „man chkconfig” és a „man insserv” parancsok segítségével.
Még egy fontos teendőnk van: mivel a szolgáltatás az 5353-as UDP-portot használja a hálózaton, ezért a tűzfalunkon azt engedélyeznünk kell. Zárójelben meg kell jegyezni, hogy abban az esetben, ha a gépeket otthon használjuk, és router (a legtöbb esetben átjáró és elméletileg egy üzemelő tűzfal) mögött vagyunk, akkor a gépünk tűzfalát akár ki is kapcsolhatjuk. Tehát irány a YaST „biztonsági központja”, a Biztonság és felhasználók ikon, azon belül pedig a Tűzfal. Ha fut, az Engedélyezett szolgáltatások listaelemre, majd a Speciális gombra kattintva írhatjuk be az engedélyezett UDP-portok közé az 5353-ast (és a TCP-portok között a 8001-est is, ennek okára mindjárt rátérünk).
Már csak egy könnyen használható és megjegyezhető gépnevet kell adnunk a számítógépnek.
Installáláskor a telepítőprogram kreált egy részben véletlenszerű nevet, ami például így néz ki: linux-txq7, és a .site domaint osztotta ki hozzá. Ezt legegyszerűbben a YaST-nál Hálózati eszközökön belül a Hálózati beállítások alatt változtathatjuk meg, a Gépnév / DNS fülre kattintva. Itt adhatunk – vigyázva az ékezet nélküli és kisbetűs írásmódra – egy jobban használható nevet (a gépnév lehet nappaliszoba vagy laptop), a tartomány nevét pedig nem árt a célnak jobban megfelelő és ajánlott local domainre cserélni. A teljes gépnév így nappaliszoba.local vagy laptop.local lesz. Ezen a néven érhetjük majd el a gépünk megosztásait a lakásban található többi gépről akár egy sima internetböngészővel is.
Itt az ideje, hogy elkészítsük első, Zeroconffal bejelentett, böngészővel elérhető megosztásunkat. Ma úgyis divat lett mindenre appleteket használni, a KDE 3-as sorozatának Asztalain pedig már tizedik éve alkalmazhatunk ilyesmit (az újabb KDE 4-en, illetve az újabb Windowsokon már egyenesen tobzódhatunk közöttük), szóval nézzünk körül, mi lapul a Kicker panel kisalkalmazásai között. Jobb gombbal kattintsunk a panel üres részére, aztán klikk a Kisalkalmazás hozzáadása a panelhez pontra. A listából válasszuk ki a KPF fájlkiszolgálót, és adjuk hozzá a panelhez. A panelen megjelenik egy kék földgömb, rákattintva pedig egy Új kiszolgáló feliratú menüelem. Nyissuk meg! Rögtön elénk tárul egy kis ablak, amiben a megosztandó könyvtár útvonalát adhatjuk meg, de az asztali webszerver-applet előzékenyen be van állítva a saját, és már a telepítés (vagy a fiók létrehozása) óta létező public_html mappánkra, ezt nyugodtan elfogadhatjuk.
A következő kérdés a figyelt portra vonatkozik, ennek alapértelmezett értéke a 8001-es, majd a biztosított sávszélességről dönthetünk, tehát korlátozhatjuk azt az átviteli rátát, amivel gépünk a kéréseket kiszolgálja. Vigyázat: a limit nem kbit/s, hanem kbájt/s értékkel szerepel, alapértéke 4, ezt nyugodtan emelhetjük két nullával 400-ra, ez már elegendő például DivX formátumú videók folyamatos, akadásmentes házi hálózati lejátszására is, de DVD- vagy HD-tartalmak biztosítása esetén ennél is magasabb korlátot kell megadnunk, a videoanyag bitrátájával összhangban.
Végül a kiszolgálónév kérdése következik, itt az alapértelmezett érték a már előzőekben beállított gépnév. A Befejezésre kattintva egy kis felugró ablak jelzi, hogy a szolgáltatást sikerült Zeroconffal bejelenteni a hálózaton. (Ha az a felirat jelenne meg, hogy nem sikerült, akkor kezdjünk hibát keresgélni a cikk első része alapján végrehajtott telepítési lépéseink között.)
A hálózatunk máris működőképes, a saját mappánkban lévő public_html tartalma egy másik gépünkről a Számítógép ikonra kattintva a Hálózati helyeken belül a Hálózati szolgáltatások alatt már tallózható is. Megadhatjuk a megosztást közvetlenül az alapértelmezett Konqueror fájlkezelő (például a ház ikonra kattintva) címsorában is, vagy a kedvenc internetböngészőnkben, legyen az Firefox, Google Chrome vagy bármi más. Ekkor – a fenti példában szereplő gépnév-beállítás alapján – a http://nappaliszoba.local:8001 címen kell a megosztást tallóznunk, pontosan úgy, mint egy webes könyvtárat. A benne szereplő fájlokat megnyithatjuk, letölthetjük. (látogatóink csak a megadott mappához férhetnek hozzá, egyéb könyvtáraink nem elérhetők, tehát nem fordulhat elő, hogy a kiskorú gyermekünk a saját gépéről eléri mondjuk apa letöltéseit, viszont egyéb hozzáférési jogosultsági korlátozásokat nem tudunk bevezetni, a public_html tartalma a helyi hálón szabadon hozzáférhető) A megosztásokhoz – a könnyebb elérés kedvéért – asztali parancsikonokat is létrehozhatunk. A public_html mappát az Asztalunkra „húzva” és linket készítve könnyebben helyezhetjük el benne a megosztandó fájlokat.
Tippek útravalóul
A fenti megoldás nem alkalmas komolyabb céges környezet kiszolgálására, viszont háztartási, illetve kisebb céges irodai munkára ragyogóan használható. Utóbbi esetben minden irodai dolgozó gépén be kell üzemelnünk egy-egy ilyen kis asztali webszervert, el kell helyeznünk az együttműködésükhöz szükséges parancsikonokat az Asztalokon, ahol nem árt az ikonoknak könnyen kezelhető neveket adni, és a közös munkához szükséges dokumentumok áramlása máris biztosított.
(Sztereotip példával élve, legyen a főnök gépneve fonok.local, ekkor az ő megosztása a http://fonok.local:8001, a parancsikonja neve „Főnök”, míg a titkárnő gépneve mancika.local, a megosztás http://mancika.local:8001, az eléréséhez készített ikon pedig „Mancika” feliratú.) Ugyanezt a szisztémát – értelemszerűen alkalmazva – az otthoni hálózat kialakításánál is követhetjük.
Irodai munkánál az alapszintű megosztási lehetőség mellé nem árt a nyomtató és szkenner megosztását is beüzemelni, ezt a YaST-nál a Hardveren belül a Nyomtató (illetve Szkenner) menüpont alatt szinte teljesen automatikusan, néhány kattintással megoldhatjuk. (A beállított nyomtatóknál az adott gépen engedélyezzük a nyomtató megosztását, a többin pedig tallózzuk ki a megosztott nyomtatókat a YaST beállítófelülete segítségével, helyi nyomtató helyett hálózatit választva.)
KPF asztali kiszolgálóból egy gépen több is futhat, különböző portokra és megosztott mappákra állítva. Így egy kisebb irodában például tematikus, a feladat szerinti bontásban is megoszthatjuk a szükséges tartalmakat, akár több kisebb munkacsoport között is.
A KPF-kiszolgáló alkalmas arra is, hogy helyi csomagtárolót, azaz local repository-t hozzunk létre, például célzott frissítések, csomagok gyors telepítéséhez. Ekkor a létrehozott repo helyi hálózati címét fel kell vennünk a YaST csomagforrásainak listájába. A tároló lehet sima RPM-mappa, de használhatjuk a konzolos createrepo parancsot is „igazi” repository készítéséhez.
Újabb, KDE 4 felülettel ellátott Asztalon dolgozva a KPF asztali kiszolgáló kickerapplet helyett például a Kepas nevű programot alkalmazhatjuk. Bővebben itt.