NetWare zdarma - Mars a Linware
1.11.1998
Novell NetWare
Novell NetWare (NW) je stabilní hvězdou na nebi lokálních sítí, kde
umožňuje stanicím sdílet různá zařízení prostřednictvím počítačové sítě.
Pracuje na základě architektury klient-server. Klienty zde jsou stanice,
které sdílí disky serveru, společné tiskárny, CD-ROM a podobně. Servery
tak mají v síti výsadní postavení a jsou u nich kladeny vysoké nároky na
výkon a spolehlivost. To vedlo firmu Novell k vývoji vysoce
specializovaného operačního systému, který sice prakticky umí téměř jen
sdílet své disky, ale zato to umí pefektně. Staví se tak do zcela
vyhraněné pozice, kdy na rozdíl od Unixů nekoncentruje veškeré programy
a prostředí pro jejich spouštění do jediného místa, ale přenechává
maximální možnou míru povinností na stanicích. Ty musí mít vlastní
operační systém a NetWare se stará pouze o to, aby se stanicím zdálo, že
všechna sdílená zařízení se nacházejí přímo u stanice samotné. Spuštěné
programy pak běží přímo na jednotlivých stanicích a iluze se sdílenými
zařízeními je pro ně tak dokonalá, že s nimi dokáží pracovat téměř
všechny programy, i když pro provoz v síti původně vůbec nebyly napsány.
Před tím, než může uživatel z nějaké stanice využívat sdílených zařízení
poskytovaných serverem, musí se k němu přihlásit, čili prokázat mu svou
identitu pomocí jména a hesla. Pokud se uživatel úspěšně přihlásí, jsou
mu na oplátku až do odhlášení poskytovány veškeré zdroje, které smí daný
uživatel užívat. Práva k užívání jsou evidována na serveru a uživatelům
je přiděluje správce (administrátor) systému.
Linux, se kterým pracujeme, má o mnoho větší možnosti, než server s
Novell NetWare. Proto se nelze divit, že je v jeho silách dokonce
emulovat činnost samotného NetWare serveru. Linux se pak navenek mimo
jiné tváří, jako by byl NetWare serverem. Nedosahuje sice takových
kvalit jako jeho specializovaný kolega, ale přes to ho může nahradit
více než se ctí. Připočteme-li k tomu prakticky nulovou cenu a
mnohostrannost samotného Linuxu, který můžeme současně používat na
spoustu dalších věcí, začne být tento rys velice zajímavý.
Co je Mars a Linware?
Pokud se Linux chce stát zdánlivým NetWare serverem, musí umět
komunikovat pomocí protokolu IPX, je třeba implementovat NCP protokol a
musí se do sítě začít ohlašovat pomocí SAP protokolu. Čím lépe bude
takto napodobovat svůj vzor, tím lépe pro nás. Tuto službu jsou schopny
zastat dva programy: Mars a Linware.
Linware - český produkt
Autorem Linware je Aleš Dryák z ČVUT v Praze. S vývojem skončil v roce
1995. V roce 1996 tento projekt ožil, když se Aleš sešel s Petrem
Vandrovcem a Jirkou Novákem. J. F. Chadima pak provedl zásadní zásah do
kódu, který vedl do slepé uličky a fakticky k zastavení projektu. Petr a
Jirka pak ještě sice Linware trošku upravili, ale dnes na jeho dalším
vývoji prakticky nikdo nepracuje. Linware je dnes ve funkčním stavu, ale
pro jeho další pokračování je ho nutné prakticky celý přepsat. Zde se
nabízí možnost pro kohokoliv, kdo by měl vůli tento zajímavý projekt a
konkurenci Marsu vést dál.
Mars
Mars (Martin Stover's NetWare Emulator) je původem z Německa a je
neustále zdokonalován. Dnes Mars poskytuje téměř všechny služby jako
Novell NetWare verze 3.12. Na jeho vývoji spolupracuje více lidí z
celého světa a i Martin na projektu stále pracuje. Jak sám píše, hlavním
důvodem, který ho přiměl k uvolnění Marsu do volného užívání, bylo
uveřejnění Linware.
Společné rysy Marsu a Linware
Disky určené ke sdílení jsou ve skutečnosti určité adresáře v lokálním
filesystému Linuxu a uživatelé, kteří se do emulátorů přihlašují,
odpovídají každý normálnímu uživateli v Linuxu. NW přístupová práva pak
vyplývají z Unixových práv uživatele k souborům a adresářům, protože
jsou na uživatele uplatňována stejným způsobem, jako kdyby pracoval
přímo v Linuxu (protože program, který soubory z disku čte a zasílá mu
je na stanici, běží s jeho UID/GID). Ve sdílených adresářích lze použít
symbolických linek, ale nelze je omezit na konkrétní podstrom.
Implementaci klasických NW práv k adresářům a souborům s dědičností do
podadresářů zavádí nově Mars od verze XXXXX. Implementace je zatím v
plenkách a obsahuje drobné nedostatky. Linware pracuje pouze s právy
Unixovými, což vede k jistým omezením, ale na druhou stranu to maximálně
zjednodušuje funkci emulátoru. Nepříjemnost může způsobit program, který
pátrá po právech v adresáři, protože díky této filozofii žádná práva
nenajde i přes to, že má do adresáře přístup.
Hesla pro Linux a pro emulátor jsou vedena zvlášť, protože při
autentifikaci do emulátoru nevyhovuje systém používaný v Unixu, kde jsou
hesla šifrována tak, že z uložené zakódované podoby nelze zpětně zjistit
původní heslo. Výskyt dvou různých hesel na jednom počítači tak může být
zdrojem drobných potíží pro uživatele systému. Na druhou stranu oba
programy umožňují měnit heslo do emulátoru klasickými NW utilitami přímo
ze stanice pomocí funkcí protokolu NCP stejným způsobem, jako měníme
heslo na NetWare serveru.
Hlavní rozdíly mezi Marsem a Linware
Pokusím se stručně popsat hlavní rozdíly mezi oběma programy, které jsou
vidět zvenčí. Nebudu se zabývat ani vlastní stavbou obou programů ani
jejich testováním například na rychlost, stabilitu a jiná další měřítka.
Spolu s vybudováním kvalitní metodiky je to námět nejméně na jednu větší
samostatnou práci.
Mars je složen z více programů, ale navenek pracujeme
jen s jedním. Každého připojeného uživatele obsluhuje samostatný proces.
Má jen jeden konfigurační soubor, který je poměrně obsáhlý, přehledný a
jednotlivé volby jsou v něm dobře zdokumentovány. Nastavit lze téměř vše
a jen velmi málo voleb je nastavitelných pouze při kompilaci, což
přispívá k uživatelskému komfortu. Mars umí vytvořit tiskové fronty, do
kterých můžeme zasílat tiskové úlohy a také tiskový server, který může
odebírat úlohy z jiných NW tiskových front. Z front mohou být úlohy
směrovány přímo do Linuxového tiskového systému nebo lze využít
jakýkoliv jiný tiskový server, který se dokáže na NW tiskové fronty
napojit. Bindery databáze je uložena v samostatných souborech a obsahuje
i zakódovaná hesla uživatelů. Mezi nejsympatičtější rys patří podpora
dlouhých jmen, takže z Windows'95 lze pracovat i s dlouhými názvy (v
NetWare je to tzv. OS/2 namespace) na NW discích. Dokumentace je
přiměřená, v německém jazyce obsáhlejší.
Linware je jen jeden jediný démon, který sám obsluhuje
všechny připojené uživatele. Potřebuje ovšem pro korektní běh dva další
démony IPXRIPD a IPXSAPD. Konfigurační soubor je jeden a je oproti Marsu
nepoměrně skromější. Linware nepodporuje tiskové fronty, nemá bindery
databázi. Hesla jsou uložena v zakódované podobě ve speciálním souboru
/etc/lwpasswd
. Hlavní výhodou Linware je vlastnost, že umí
zkracovat dlouhá jména a umožňuje tak i v prostředí DOSu editovat
soubory s dlouhými jmény, což je výhodné například pro úpravy WWW
stránek z Windows 3.x, které jsou na mnoha místech stále používány pro
svoji nenáročnost. Na druhé straně neposkytuje soubory s dlouhými názvy
pomocí OS/2 namespace, což může být na překážku. Dokumentace je stručná.
Linware potřebuje pro svou činnost patch na jádro, a tak se nevyhneme
jeho kompilaci.
Bootování stanic pomocí BootROM
Abychom omezili šíření virů ve své počítačové síti, je vhodné i přes to,
že máme v každé stanici harddisky, bootovat stanice pomocí BootROMek ze
serveru. Obrazy bootovacích disket jsou na serveru chráněny před viry a
my máme k dispozici po restartu stanice čistý a hlavně funkční počítač.
BootROMky používají k otevírání obrazů na serveru stadardní funkce NCP
protokolu, takže lze bootovat i z obrazů umístěných na emulátorech.
Vyjímkou jsou BootROMky, které používají výhradně RPL protokol. Ten není
v Linuxu implementován a tak máme v tomto ohledu smůlu. Bootovat je
samozřejmě možné i bezdiskové stanice.
Nasazení Marsu a Linware aneb jak je mám rád
Oba emulátory provozuji již poměrně dlouho. Dětské nemoci mají už za
sebou a lze je poměrně seriózním způsobem využívat. Linware používám pro
jeho schopnost zkracovat dlouhá jména souborů pro sdílení domácích
adresářů Linuxu. Uživatelé tak mohou například snadno upravovat své WWW
stránky z DOSu nebo Windows 3.x. Mars jsem nasadil do jedné učebny ve
škole, kde je 11 bezdiskových stanic, které bootují pomocí BootROM a
provozuje se na nich DOS a Windows 3.x. Linux nahradil NW server, běží
na něm WWW server, proxy, obstarává dial-up a podobně. Subjektivním
pozorováním lze říci, že ani po zdvojnásobení operační paměti z 16 na
32MB a výměně procesoru 486DX4/100 za Pentium 120, nedosahuje sdílení
disků rychlosti původního NW serveru. Problémy jsou zejména v situaci,
kdy stanice s Windows 3.x používají odkládací soubor na sdílených
discích. Kontrolka HDD se rozsvítí a stanice na dlouhé vteřiny doslova
ztuhnou. Problém bude nejspíše v optimalizaci přístupu k disku, která
pro tento účel v Linuxu asi není nejvhodnější. Celkový přínos výměny OS
(při dnešních cenách hardware) ovšem považuji přesto za kladný. Na
ostatních místech, kde jsem Mars instaloval, pracuje více než
uspokojivě, protože neplní úlohu jediného serveru se spoustou
bezdiskových stanic, a nejsou na něj tak kladeny extrémní nároky.
Závěr
Pokud si myslíte, že Mars nebo Linware může plně nahradit NetWare
servery od Novellu, zažijete nejspíše zklamání. Profesionální řešení od
firmy Novell vyniká v mnoha ohledech, zejména však v rychlosti,
nenáročnosti na hardware a komplexnosi nabízených služeb. Konkurovat
však nemůže v požadavcích na flexibilitu, univerzálnost a hlavně cenu.
To je místo, kam Mars a Linware patří a kde jistě cítíte i Vy sílu
Linuxu. Nezbývá, než se smířit s daným stavem věcí a využít především
silné stránky každého řešení.
URL
Linware 0.95m3b
WWW stránka Marsu
Milan Keršláger