Wie bindet man einen Novell Netware-Server ein? #

Dieser Artikel ist sicherlich für die meisten Linux-Interessierten völlig uninteressant. Obwohl Novell mit seinem Netzwerk-Betriebssystem "Netware" in den 80ern den Markt der Firmenserver dominiert hat, spielt dieses Protokoll im Zeitalter der IP-Intranets kaum noch eine Rolle. Trotzdem kann in so mancher Firma (z.B. meiner) noch ein alter Novell-Server in der Ecke herumstehen und seinen Dienst verrichten.

Wäre es da nicht schön, wenn man auf die Volumes (d.h. Laufwerke) dieses Servers von seiner Linux-Maschine aus zugreifen könnte? Nun gut!

Mein Novell-Server läuft unter Netware 4.11. Es wird nicht TCP/IP zur Kommunikation benutzt, sondern ein Novell-eigenes Protokoll namens IPX/SPX. Für unsere Zwecke brauchen wir davon nur den IPX-Teil. (Übrigens kann TCP/IP und IPX problemlos auf ein und demselben Ethernetkabel gleichzeitig gefahren werden, da andere Ethernet-Frametypen verwendet werden. Das System der Frametypen stammt noch aus einer Zeit, als noch nicht jeder bei der Kreation eines Standards darauf geachtet hat, daß andere damit nichts anfangen können.) Wie üblich bezieht sich die Anleitung auf Debian Linux.

Kernel konfigurieren #

Da IPX in keinem Standardkernel drin sein dürfte, kommt man um eine Koernelkompilierung nicht herum. Wichtig ist, sowohl bei den Netzwerkeinstellungen IPX zu aktivieren als auch bei den Filesystemen das ncpfs.

Pakete installieren #

Folgende Debian-Pakete sind zu installieren:

  ipx
  ncpfs

Schnittstelle Konfigurieren #

Im Prinzip muss das Netzwerk-Interface erstmal normal eingerichtet werden und dann mittels des Befehls ipx_interface für IPX konfiguriert werden. Darum brauchen wir uns aber nicht wirklich zu kümmern, weil die Debian-Startskripten uns das abnehmen. In die Datei /etc/network/interfaces kommt folgender Eintrag:

  iface eth0 ipx dynamic
          frame 802.3

Es kann gut sein, daß ein anderer Frametyp genommen werden muss. Probiert ggf. mal 802.2 aus oder lest die manpage von ipx_interface.

Jetzt das Interface neu initialisieren mit

  ifdown eth0
  ifup eth0

und mit ifconfig sollte man sehen, daß IPX-Daten für das Interface existieren. Wenn das so ist, kann man mit den Befehlen nwsfind und slist den Server anzeigen lassen. Falls der Server nicht gefunden wird, stimmt was nicht. :-(

mounten #

ich habe folgende Zeile in /etc/fstab eingefügt:

  servername:/sys   /mnt/novell   ncpfs noauto,server=SERVERNAME,volume=SYS,user=USERNAME,nopasswd,uid=65534,gid=65534 0 0

Der erste Eintrag kann auch anders aussehen und direkt den Usernamen enthalten. Komischerweise kann dort aber nicht der Pfad bzw. das Volume stehen (was ich dort hingeschrieben habe). Bei meinem guten alten RedHat 5.2 ging das nämlich so...

wichtig ist, daß man unter Debian noauto verwendet. Das ncp-Filesystem wird nicht richtig als Netzwerksystem erkannt und deshalb ansonsten gemountet, bevor die Netzwerkinterfaces oben sind. Also nicht automatisch mounten sondern von Hand oder ein eigenes Startskript schreiben, das entsprechend später ausgeführt wird und das Volume mountet.

Will man ein NCP-Verzeichnis doch normal maunten, so muss man folgendes in /etc/init.d/mountnfs.sh vor der Zeile mit "case "$MTPT" in" einfügen:

                # -TB-
                # Ich brauche IPX, was komischerweise erst viel spaeter
                # eingerichtet wird statt bei den anderen Netzwerksachen
                case "$FSTYPE" in
                  ncp|ncpfs)
                        /etc/init.d/ipx start
                        ;;
                esac

                # -TB-
                # entweder bin ich doof oder hier fehlt das wichtigste...
                # also fuege ich es hier mal ein:
                /bin/mount $MTPT

Die richtige manpage für die Optionen kommt mit man mount.ncp.

-- ThomasBayen

BTrieve #

BTrieve ist eine von Novell eine Zeit lang vertriebene Datenbank. Ich habe mich eine Weile mal damit beschäftigt. Um dieses sehr spezielle Thema hier nicht zu sehr zu strapazieren, habe ich es auf die Seite BTrieveDatenbank ausgelagert.

Server unter Linux #

Es gibt ein Projekt namens Mars, mit dem man einen Novell-Server unter Linux bekommen kann. Wer es genauer braucht (weil er z.B. eine BTrieveDatenbank braucht wie ich), kann versuchen, ein vollständiges Netware in einer Virtualisierung laufen zu lassen. Geschafft habe ich das selber auch noch nicht. Hoffnungsvolle Ergebnisse einer Installation hatte ich aber mit Novell 4.11 unter VirtualBox (QEmu ergab bei der Installation ganz früh einen schwarzen Bildschirm) und mit Novell 5.1 nur unter Bochs (QEmu und VirtualBox hängen beide an der gleichen Stelle beim Entpacken einer Java-Klassenbibliothek). Leider nahm das mir zur VErfügung stehende 4.11SB nicht meine 4.11 Lizenzdiskette. Das 5.1 lief wohl, allerdings ist die Einrichtung nicht so intuitiv, daß ich das alleine und "mal eben" machen konnte.

Original-Server übernehmen #

Letztlich war es mir dann möglich, mein vorhandenes (bereits installiertes) System in eine virtualisierte Umgebung zu überführen. Ich habe das alte System mit einer Debian-Installations-CD gebootet, um dann mit dem auf PartImage beschriebenen dd-/ssh-Befehl die ganze Partition auf einen anderen Rechner zu sichern. Dort habe ich dann QEmu gestartet und dieses Image bei der hda-Option angegeben.

Festplatten-Treiber #

In der Datei "startup.ncf" (eine Art autoexec.bat für den Novell-Server) habe ich folgende Änderungen vorgenommen, um den Adaptec SCSI-Treiber auf einen für die IDE-Platte, die QEmu emuliert, umzustellen:

  ; load AIC7870.DSK slot=1
  ; load ide.dsk port=1f0 interrupt=e
  load ideata.ham port=1f0 int=e

Der ide.dsk-Treiber sollte theoretisch auch gehen, ist aber wohl älter als der ideata.hem-Treiber. Bei mir lief auch nur der letztere. Danach bootete das System wie gewohnt.

Interessant zu wissen ist, daß es neben der Datei "startup.ncf" noch eine Datei "autoexec.ncf" gibt, die Startbefehle enthält. Letztere verschwindet allerdings immer wieder, ihr Inhalt bleibt aber scheinbar dennoch aktiv. Als das Ding schliesslich lief, sah ich keinen Wert mehr darin, dieses Phänomen näher zu untersuchen.

Netzwerk-Treiber #

Das Netzwerk konnte ich erst nach einigen Schwierigkeiten zum Laufen bringen. Ich habe von der Realtek Downloadseite Treiber für NE2000 PCI (RTL 8029) geholt und per mtools auf die DOS-Partition meines Novell-Servers geschrieben. Läuft der Novell-Server, kann man mit

  load install

ein Installations-Tool starten, mit dem ich dann den neuen Treiber, der "PCISRV" heisst, installiere.

Idle-Treiber #

Von VMWare gibt es einen Idle-Treiber namens nw4-idle.nlm. Dieser muss (in Grossbuchstaben benannt) in das SYSTEM-Verzeichnis des Novell-Servers und kann dann per "load nw4-idle" geladen bzw. besser per "load install" in die "autoexec.ncf" eingetragen werden. Dann benötigt der Server nur noch die CPU-Zeit, die wirklich nötig ist.

Interessante Links für Leute, die sich auch heute noch mit Netware beschäftigen (müssen):


Mich würde interessieren, wie du das Passwort-Problem praktisch löst. Hast du einen eigenen User auf dem Novell-Server angelegt? Außerdem finde ich es nicht gerade besconders prickelnd das Passwort im Klartext in ein Skript oder in die fstab reinzuschreiben. -- LinuxWiki:BennySiegert

Ich habe hier konkret einen eigenen User auf dem Novell-Server, den ich dann in der fstab mit angebe. Dieser User ist ohne Passwort, so daß das Problem gar nciht nicht entsteht. :-) Die Absicherung passiert einerseits über eine Bridge, die Pakete nach IP, MAC, etc. filtert, da der Novell-Teil meines Netzes ein eigenes physikalisches Subnetz bildet. Zum anderen beinhaltet das durch den angegebenen Novell-Account erreichbare Volume keine wirklich kritischen Daten.
Generell musst Du für sowas das Passwort irgendwo im Klartext haben. (Wenn Du es verschlüsselst, musst Du alle Tools (und Keys) dazu installieren, um es zu entschlüsseln, womit dann der Witz weg ist.) Irgendwann kommt immer der Punkt, wo Du es an den Server schicken musst. Dafür musst Du Zugriff auf den Klartext haben. -- ThomasBayen
Hatten wir doch schonmal wo!? :-)))) -- MichaelZacherl
Jetzt hab ich genug davon ;-) Ich habe eine eigene Seite zum Thema gemacht: WarumPasswoerterImKlartextSeinMuessen. -- ThomasBayen

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-9) was last changed on 26-Oct-2008 22:20 by ThomasBayen