Der NetWare-Emulator MARSNWE kann einen Novell NetWare 2.2 bzw. 3.11 Server für Datei- und Druckdienste relativ leicht ersetzen und kann dabei auch als IPX-Router verwendet werden. Die Funktionalität neuerer NetWare-Versionen, wie z.B. NDS NetWare Directory Services kann er allerdings nicht bieten. Arbeitsstationen, die mit DOS oder Windows laufen und bereits für den Zugriff auf einen NetWare 2.2/3.11/3.12-Server konfiguriert sind, können mit minimalen Änderungen den Linux-Server mit dem NetWare-Emulator MARSNWE als Server nutzen. Die Administration kann man unter Linux erledigen.
Der MARSNWE auf SUSE LINUX kann nach der Installation gestartet werden, da er bereits soweit vorkonfiguriert ist, dass man ihn sofort testen kann. Die erforderliche IPX-Unterstützung seitens des Kernels ist als ladbares Kernelmodul vorhanden und wird vom Startskript bei Bedarf automatisch geladen. Das Aufsetzen des IPX-Interfaces wird vom MARSNWE automatisch durchgeführt. Netznummer und zu verwendendes Protokoll werden dabei der ausführlich kommentierten Konfigurationsdatei /etc/nwserv.conf entnommen. Gestartet wird der MARSNWE mit dem Kommando rcnwe start. Meldet er dabei am rechten Bildschirmrand in grün done, wurde er erfolgreich gestartet.
Ob der NetWare-Emulator läuft, überprüft man mit rcnwe status, und beendet wird er mit rcnwe stop.
Die Konfigurationsoptionen sind zu durchnummerierten Sections zusammengefasst. Jede Konfigurationszeile beginnt dabei immer mit der Nummer der jeweiligen Section. Interessant sind lediglich die Sections 1 bis 22, wobei aber nicht alle Nummern verwendet werden. Im Normalfall kommt man mit folgenden Sections für die Konfiguration aus:
NetWare Volumes
Servername
IPX-Netzwerk
Benutzernamen
Drucker
Nach Änderungen an der Konfiguration, muss MARSNWE mit dem Befehl rcnwe restart neu gestartet werden.
Die Konfigurations-Optionen im Detail:
1 SYS /usr/local/nwe/SYS/ kt 711 600
Hier werden die zu exportierenden Volumes definiert. Jede Zeile beginnt mit der Nummer der Section (hier 1), danach folgt der Volume-Name und dann der Pfad des Verzeichnisses auf dem Server. Zusätzlich können noch diverse Optionen angegeben werden, die durch einzelne Buchstaben dargestellt sind, sowie jeweils eine Umask für das Erzeugen von Verzeichnissen und eine für Dateien. Wird keine Umask angegeben, wird der Standardwert aus Section 9 verwendet. Das Volume für SYS ist bereits eingetragen. Um Probleme mit Groß- und Kleinschreibung bei Dateinamen zu vermeiden, empfiehlt sich die Verwendung der Option k, denn dann werden alle Dateinamen in Kleinschreibung konvertiert.
2 MARS
Diese Angabe ist optional, standardmäßig wird der Hostname verwendet.
3 auto
Die interne Netznummer wird aus der MAC-Adresse der Netzwerkkarte generiert, wenn hier auto angegeben ist. Normalerweise behält man diese Einstellung bei.
4 0x0 * AUTO 1
4 0x22 eth0 ethernet_ii 1
Hier gibt man die NetWare-Netznummer an und auf welche Netzwerk-Schnittstelle es mit welchem Protokoll gebunden werden soll. Das erste Beispiel setzt alles automatisch auf, während das zweite die Netznummer 0x22 auf die Netzwerkkarte eth0 mit dem Frametyp Ethernet-II bindet. Hat man mehrere Netzwerkkarten und trägt diese alle mit unterschiedlichen Netznummern ein, so wird IPX dazwischen geroutet.
9 0751 0640
Gibt die Standardrechte an, mit denen Verzeichnisse und Dateien angelegt werden.
10 65534
11 65534
Gruppen- und Benutzer-ID für nicht angemeldete Benutzer. Hier nogroup und nobody.
12 SUPERVISOR root
Der Supervisor wird auf den Benutzer root abgebildet.
13 LINUX linux
Die Zuordnung der NetWare-Benutzer zu den Linux-Usern wird hier festgelegt. Optional kann ein festes Passwort mit eingetragen werden.
15 0 top-secret
Gibt man hier statt der 0 eine 1 an, werden die Linux-Logins automatisch als NetWare-Logins zur Verfügung gestellt, das Passwort ist in diesem Fall „top-secret“.
21 LP - lpr -
Der erste Parameter LP ist der Name des NetWare-Druckers, als zweites kann man den Namen des Spool-Verzeichnisses angeben und als drittes das Druckkommando.
22 PS_NWE LP_PS 1
Drucker die über pserver aus dem ncpfs angesprochen werden, können hier definiert werden.
Das ncpfs ist eine Sammlung kleiner Programme, mit denen man einen NetWare 2.2/3.11 Server von Linux aus administrieren, NetWare-Volumes mounten oder Drucker verwalten kann. Will man auf neuere NetWare-Server ab Version 4 zugreifen, muss auf diesen die Bindery-Emulation und IPX aktiviert sein.
Folgende Programme stehen dafür zur Verfügung, deren Funktion man den entsprechenden Manual-Pages entnehmen kann:
| nwmsg | ncopy | ncpmount | ncpumount |
| nprint | nsend | nwauth | nwbocreate |
| nwbols | nwboprops | nwborm | nwbpadd |
| nwbpcreate | nwbprm | nwbpset | nwbpvalues |
| nwdir | nwdpvalues | nwfsctrl | nwfsinfo |
| nwfstime | nwgrant | nwpasswd | nwpurge |
| nwrevoke | nwrights | nwsfind | nwtrustee |
| nwtrustee2 | nwuserlist | nwvolinfo | pqlist |
| pqrm | pqstat | pserver | slist |
Wichtig ist zum Beispiel ncpmount, mit dem man Volumes von einem NetWare-Server unter Linux einhängen (mount) kann und ncpumount, um es wieder auszuhängen (umount).
Außerdem enthält das ncpfs Tools zur Konfiguration des IPX-Protokolls und IPX-Routing:
ipx_cmd ipx_configure ipx_interface ipx_internal_net ipx_route
Mit ipx_configure oder ipx_interface kann man die IPX-Konfiguration der Netzwerkkarte vornehmen. Hat man MARSNWE laufen, macht dieser das aber bereits automatisch.