Abychom neměli pocit, že je všechno jednoduché, existuje více norem, které předepisují, jak má hlavička rámce v sítích typu Ethernet vypadat (viz tab. 1). Síťová karta musí umět správně dekódovat přijatý rámec, jinak ho může považovat za chybný. Proto je vhodné používat na segmentu pokud možno jen jeden rámec a nepřivádět jak síťovou kartu tak administrátora do schizofrenického stavu. Otázkou pak ovšem zůstává, který rámec je ten pravý.
Název rámce | Charakteristika |
Ethernet 802.2 | standard firmy Novell pro 4.x, umí přepravovat pouze IPX/SPX |
Ethernet 802.3 | standard firmy Novell do 3.x, umí přepravovat pouze IPX/SPX |
Ethernet II | umí přepravovat IPX/SPX i TCP/IP, nejrozšířenější, nejjednodušší |
Ethernet SNAP | umí přepravovat IPX/SPX i TCP/IP |
Pokud chcete používat ve své síti protokol TCP/IP, nevyhnete se použití jednoho z posledních dvou rámců. Nejvýhodnějším je určitě Ethernet II, protože je nejjednodušší ze všech a hlavně je univerzální (lze v něm přepravovat kromě IPX/SPX a TCP/IP spoustu dalších protokolů). O rámci 802.2 se někdy říká, že je přenášen v rámci 802.3 (při použití paketového analyzátoru se tak jeho struktury jeví). Ethernet SNAP je kombinací rámců 802.2 a 802.3. Rozumný důvod, proč firma Novell tak vehementně prosazovala právě první dva, neznám. Dnes je prioritním protokolem pro Novell NetWare 5.x protokol TCP/IP (s rámcem Ethernet II), i když je nadále možné používat jakékoliv další kombinace IPX protokolu s ostatními rámci.
Někdy není možné na jednom segmentu vystačit jen s jedním rámcem, protože například některé BootROM nebo stanice se staršími ovladači rámec Ethernet II neumí. Ovšem určitě platí, že v jednoduchosti je síla. Proto raději důkladně zvažte, co všechno Vám na segmentu bude běhat. Neexistuje žádný důvod, proč by neměl být rámec Ethernet II používán. Osobně používám na segmentech jen jeden rámec (Ethernet II) a ostatní přidávám jen v případě nezbytné nutnosti (pro BootROM).
Síťové rozhraní můžeme nechat nakonfigurovat automaticky, pokud je na síti už IPX používáno. Automatickou konfiguraci obstarává jádro odposlechem provozu na síti. Pokud na síti není žádný IPX provoz, musíme rozhraní nakonfigurovat ručně. Pro běžný provoz automatickou konfiguraci nedoporučuji, protože Windows'95 vysílají do sítě chybné pakety a to pak může vést k nesprávnému rozpoznání čísla sítě a používaných typů rámců, proto je vhodná spíše jen pro první kroky. Pro manuální konfiguraci potřebujete znát číslo sítě pro každý používaný rámec. Pokud ho nevíte, informujte se u svého administrátora.
Automatická konfigurace:
modprobe ipx ipx_configure --auto_interface=on --auto_primary=on cat /proc/net/ipx_*Automatickou konfiguraci je vhodné zkontrolovat podle výpisu souboru
/proc/net/ipx_interface
, který obsahuje seznam všech
registrovaných IPX rozhraní včetně typů rámců a čísel sítí. Automatické
nakonfigurování rozhraní může chvíli trvat (cca 10-30 vteřin).
K ruční konfiguraci IPX rozhraní slouží utilita ipx_interface
Právě jedno rozhraní by mělo být přepínačem -p
označeno
jako primární. Takové rozhraní je považováno za implicitní a je použito,
když v programu při otevírání soketu neuvedeme číslo sítě. Tvar použití
příkazu vypadá takto:
ipx_interface činnost [-p] rozhraní typ_rámce číslo_sítě
Činnost | Popis |
---|---|
add | přidává IPX rozhraní, vždy je nutné uvést název rozhraní a typ rámce. Pokud není uvedeno číslo sítě, je zjištěno odposlechem. |
del | ruší na uvedeném rozhraní uvedený rámec |
delall | ruší všechna rozhraní |
check | zobrazí konfiguraci příslušného rozhraní |
ipx_interface
Typ rámce může být 802.2 pro rámec Ethernet 802.2, 802.3 pro rámec Ethernet 802.3, EtherII pro rámec Ethernet II a Snap pro rámec Ethernet SNAP.
Příklad ruční konfigurace rozhraní pro rozhraní eth0, rámec Ethernet II, číslo sítě 12 (primární interface) a rámec 802.3, číslo sítě 13:
modprobe ipx ipx_interface add -p eth0 etherii 12 ipx_interface add eth0 802.3 13
Po těchto krocích si můžeme ověřit konfiguraci například takto:
monkey:~# cat /proc/net/ipx_interface Network Node_Address Primary Device Frame_Type 00000012 00A024D6F9F9 Yes eth0 EtherII 00000013 00A024D6F9F9 No eth0 802.3 monkey:~# cat /proc/net/ipx_route Network Router_Net Router_Node 00003333 00000012 0020AFF67402 00001111 00000013 0020AFF67402 00000013 Directly Connected 00000012 Directly Connected monkey:~# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:A0:24:D6:F9:F9 inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0 IPX/Ethernet II addr:00000012:00A024D6F9F9 IPX/Ethernet 802.3 addr:00000013:00A024D6F9F9 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:587 errors:0 dropped:0 overruns:0 TX packets:141 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x6100
Správnou funkci síťového rozhraní můžeme ověřit například výpisem
dostupných NetWare serverů pomocí příkazu slist
:
monkey:~> slist Known NetWare File Servers Network Node Address ----------------------------------------------------- PRUM 0003333 000000000001 PAT 0001111 000000000001
Pokud bychom chtěli nakonfigurovaná rozhraní z nějakého důvodu zrušit, mohli bychom postupovat například takto (na Vašem systému nemusí být nutně použity všechny uvedené příkazy):
ipx_configure --auto_interface=off --auto_primary=off ipx_interface delall rmmod ipx
cat /proc/net/ipx_route
. Tuto činnost
Linux vykonává podobně jako NW server a stejně jako on musí ohlašovat
ostatním směrovačům a stanicím, jaké jsou dostupné sítě a zárověn musí sám
dle hlášení ostatních směrovačů automaticky upravovat své směrovací
tabulky pro IPX protokol. O tuto činnost se stará zvláštní program.
Tento zvláštní program bývá označován jako démon a stačí ho vlastně jen
spustit. O vše ostatní se postará sám, pokud před tím správně
nakonfigurujeme všechna síťová rozhraní, což už ale perfektně umíme.
Zajímavé je, že pokud budeme používat program Mars, o kterém ještě bude
řeč, nebudeme démona potřebovat, protože je přímo součástí Marsu. To je
velmi sympatické, i když možná někdy už méně praktické.
Pokud jsme připojeni k NW serveru, utility toto spojení používají. Jestliže při spuštění utility nejsme k žádnému serveru připojeni, utility se po spuštění nejprve přihlásí k NW serveru, pak provedou požadovanou činnost a na závěr se od serveru odpojí.
Pojídačům RPM balíků je třeba říct, že by bylo dobré nejprve odinstalovat současný balík a pak teprve kompilovat. Zkušenější uživatelé nebudou jistě mnoho rad potřebovat (nebo je naleznou na nějakém jiném místě).
cd /usr/src tar xzf ncpfs-2.2.0.9.tgz cd ncpfs-2.2.0.9 make make install
NCP filesystem support
.
cd /usr/src tar xzf linux-2.0.35.tar.gz zcat ncpfs-2.2.0-kernel-2.0.34.gz | patch -s -p0Při konfiguraci jádra nezapomeneme na podporu IPX protokolu a NCP filesystému, který umožňuje připojovat (mountovat) NW disky do našeho Linuxu. Samozřejmě zvolíme volby dle svého uvážení a potřeb.
monkey:/usr/src/linux# make config [...] The IPX protocol (CONFIG_IPX) [Y/m/n/?] [...] NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS) [Y/m/n/?] Packet singatures (CONFIG_NCPFS_PACKET_SIGNING) [Y/n/?] Proprietary file locking (CONFIG_NCPFS_IOCTL_LOCKING) [N/y/?] Clear remove/delete inhibit when needed (CONFIG_NCPFS_STRONG) [Y/n/?] Use NFS namespace if available (CONFIG_NCPFS_NFS_NS) [Y/n/?] Use LONG (OS/2) namespace if available (CONFIG_NCPFS_OS2_NS) [N/y/?] Allow mounting of volume subdirectories (CONFIG_NCPFS_MOUNT_SUBDIR) [Y/n/?] [...] monkey~# make dep clean zImage modules modules_installSignování paketů je obrana proti spoofingu. Spoofing je metoda zabývající se vyslání datagramu tak, aby se zdálo, že odešel z jiné stanice než ve skutečnosti (například jako z té, kde sedí SUPERVISOR). Automatické odstraňování atributu remove/delete inhibit slouží k tomu, aby Linux uměl smazat i soubor, který má nastaven atribut zákazu smazání/přejmenování. Atribut je před smazáním souboru odstraněn jen v případě, že je to potřeba. Podpora NFS a OS/2 namespace umožňuje přenos dlouhých jmen uložených na NW svazku do Linuxu. Bohužel jsou krátká jména (8+3) v OS/2 namespace přenášena velkými písmeny, což je trochu nepříjemné. Pro připojování NW disků s dlouhými jmény je proto lepší používat NFS namespace. Poslední volba umožňuje připojování jen určeného podstromu (obdoba MAP ROOT) místo klasického způsobu, kdy jsou do přípojného místa připojeny všechny svazky (volume) serveru.
~/.nwclient
~/.nwclient
,
který má uživatel ve svém domácím adresáři. V tomto souboru si můžeme
předdefinovat servery, jména i hesla. Protože hesla jsou velmi citlivou
záležitostí, musí být soubor čitelný jen pro vlastníka (chmod 600
~/.nwclient
), jinak s ním utility odmítnou pracovat. Záznamy v
souboru se dělí na řádky s tímto pořadím údajů:
Jméno_serveru/jméno_uživatele případné_heslo
Příklad souboru ~/.nwclient
:
# Osobní účet, raději bez hesla (heslo bude nutné vkládat pokaždé ručně) PRUM/RENE.HUZVA # Anonymní účet na serveru BIMBO, bez hesla BIMBO/GUEST - # Poloveřejný účet pro návštevy s heslem pižďuch PRUM/NAVSTEVA pizduchPokud takový soubor nemáme, je potřeba uvádět jméno serveru a uživatelské jméno na každé příkazové řádce.
Příkaz | Popis příkazu | Ekvivalent v NW 3.x |
---|---|---|
slist
| výpis známých NW serverů v síti | slist
|
nwuserlist
| výpis uživatelů připojených k NW serveru | userlist
|
nsend
| zasílání zpráv uživatelům | send
|
ncopy
| NW file copy (v rámci jednoho serveru) | ncopy
|
nwpasswd
| změna NW hesla | setpass
|
nwfsinfo
| informace o NW serveru | ???
|
ncpmount
| připojení disků z NW | |
ncpumount
| odpojení NW disků |
ncpmount a ncpumount
mount
a umount
. Rozdílným pojetím systémů však
nelze na připojených NW discích pracovat s NW přístupovými právy.
Unixová práva a vlastníky lze jednotně nastavit pouze při připojování
disku a to pro celý připojovaný strom.
ncpmount -S server -U uživatel /home/huzva/novell ncpmount /home/huzva/novellPři připojování je registrováno UID uživatele, který operaci provedl, a tak může připojování a odpojování provádět každý uživatel (pokud jsou obě utility SUID root), protože je mu dovoleno odpojit jen svá připojení. V následující tabulce jsou uvedeny parametry příkazové řádky, prvních šest je možné použít i u většiny ostatních utilit.
Přepínač | Popis přepínače | Implicitní hodnota |
---|---|---|
-S server | jméno připojovaného NW serveru | první v .nwclient |
-U uživatel | jméno uživatele na NW serveru | podle .nwclient |
-b | přihlášení k bindery | přihlášení k NDS |
-P heslo | uživatelovo heslo | podle .nwclient |
-n | uživatel nemá heslo | podle .nwclient |
-b | připojit se v režimu bindery | pokud lze, nejprve k NDS |
-V svazek | připojit pouze tento svazek | připojit všechny svazky |
-u UID | uživatel vlastnící připojený strom | aktuální uživatel |
-g GID | skupina vlastnící připojený strom | aktuální skupina |
-f práva | přístupová práva k souborům | 0755 |
-d práva | přístupová práva k adresářům | 0755 |
Příkaz | Popis příkazu | Ekvivalent v NW 3.x |
---|---|---|
pqlist
| výpis dostupných tiskových front na NW serveru | pconsole
|
pserver
| print server pro NW tiskové fronty | pconsole
|
pqstat
| výpis úloh v tiskové frontě | pconsole
|
pqrm
| odstranění úlohy z tiskové fronty | pconsole
|
nprint
| klient pro tisk do NW tiskových front | nprint
|
Další utility jsou popsány na URL uvedených na konci dokumentu.
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 0.99.pl9.
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.
Největším problémem jsou pouze nové 3Com síťové karty. Ovladač při intenzivním a dlouhodobém zatížení padá i s jádrem. Řešením pro mě bylo použití starší ISA karty (též 3Com). Jaká je nejnovější situace nevím, ale lze říci, že na běžné použití si nemusíte dělat starosti.
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, na které zatím nedozrál.
Domácí stránka Marsu: | http://www.compu-art.de/download/mars_nwe.html |
Mirror v Čechách: | http://ftp.spsselib.hiedu.cz/pub/mirrors/mars.www/ |
NCPFS utility: | ftp://platan.vc.cvut.cz/pub/linux/ncpfs/ |
Podrobná konfigurace Marsu: | http://www.spsselib.hiedu.cz/~kerslage/manuals/linux/Mars.html |
Další podrobnější články: | http://www.spsselib.hiedu.cz/~kerslage/ |