= 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|http://www.compu-art.de/mars_nwe/index.html], 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|http://bochs.sourceforge.net] ([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|http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=15&PFid=15&Level=4&Conn=3&DownTypeID=3&GetDown=false&Downloads=true#RTL8029AS] 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.

== Links ==

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

* http://netwarefaq.de - deutsche Natware-FAQ mit vielen Tips und Tricks
* http://stuff.mit.edu/afs/sipb/project/vmdialup/lib/vmware-console/help-guestinstall/ - Installationsanleitungen u.a. für Novell auf VMWare, hilft auch ohne selbiges
* http://support.novell.com/cgi-bin/search/searchtid.cgi?/2958220.htm - Fehlerpatch von Novell, der evtl. damit zu tun hat, das Netware nicht mehr auf neueren Rechnern läuft
* http://www.netwarefiles.de/ - Super Toolsammlung, u.a. auch zur BTrieveDatenbank

----

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