mars_nwe-0.97.pl04
This commit is contained in:
11
doc/CHANGES
11
doc/CHANGES
@@ -120,4 +120,15 @@ Erste 'oeffentliche' Version
|
||||
- Parameter -k fuer SIGTERM und -h fuer SIGHUP eingebaut.
|
||||
- eigene 'pipe' Routine fuer Druck Queue Aufruf eingebaut.
|
||||
- namespace services call rename file/dir eingebaut.
|
||||
<----- ^^^^^^^^^^ pl3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- utmp/wtmp Ipx-Adresseintraege korrigiert.
|
||||
- setgroups(0,NULL) in nwserv eingbaut. (security)
|
||||
- falls internal net = 0 wird nun die IP Nummer als internal net verwendet.
|
||||
- Zugriffsrechte Bindery erweitert und korrigiert.
|
||||
- Volume option -r fuer readonly eingebaut.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
373
doc/HOWTO.ger
Normal file
373
doc/HOWTO.ger
Normal file
@@ -0,0 +1,373 @@
|
||||
Dieses HowTo ist noch unfertig.
|
||||
|
||||
Aktuelle Version erhaeltlich bei:
|
||||
Hardy Buchholz <hardy@kool.f.eunet.de>
|
||||
|
||||
|
||||
ALLGEMEINES
|
||||
^^^^^^^^^^^
|
||||
|
||||
MARS_NWE ist ein frei erhaeltlicher Netware-Emulator fuer Linux.
|
||||
(auch fuer Unixware)
|
||||
|
||||
|
||||
IPX
|
||||
^^^
|
||||
|
||||
|
||||
QUICKINST (fuer alle Ungeduldigen und Wiederholungstaeter ;-)
|
||||
^^^^^^^^^
|
||||
1. "make" aufrufen.
|
||||
2. "config.h" evtl. anpassen.
|
||||
3. "make" aufrufen.
|
||||
4. "nw.ini" zum Konfigurieren des Servers bearbeiten.
|
||||
5. "make install" (und dann "make install_ini" wenn neue Konf-Datei).
|
||||
6. "nwserv" starten, MsDOS | WIN | WfW | WIN95 | OS/2-Clients starten,
|
||||
einloggen, Spass haben ;-)
|
||||
|
||||
|
||||
Und wenns dann doch nicht funktioniert:
|
||||
|
||||
INSTALLATION
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Kernel
|
||||
^^^^^^
|
||||
Voraussetzung um MARS_NWE laufen zu lassen ist ein Kernel mit
|
||||
IPX-Option. Grundsaetzlich sollte der MARS_NWE unter allen neueren
|
||||
Kernelversionen nutzbar sein. Die Kernelpatches aus dem Verzeichniss
|
||||
"mars_mwe/examples" sind keine Vorraussetzung, steigern die
|
||||
Performance des Servers aber ganz erheblich (ca. 30-40%). Weiter wird
|
||||
dringend empfohlen, die Option FULL_INTERNAL_NET in der
|
||||
Kernel-Konfiguration auf NEIN zu setzen. Sind die genannten
|
||||
Bedingungen erfuellt, steht der Installation vom MARS_NWE von der
|
||||
Linux-Seite nichts mehr im Weg, andernfalls sollte zuerst ein neuer
|
||||
Kernel erzeugt (IPX = Y, FULL_INTERNAL_NET = N, Patch eingespielt?)
|
||||
und Linux neu gebootet werden.
|
||||
|
||||
|
||||
Novell
|
||||
^^^^^^
|
||||
Im Augenblick (Mai 96) werden noch einige Novell-Dateien benoetigt, um
|
||||
sich z.b. auf dem Server anzumelden, Printqueues einzurichten etc.
|
||||
Ausserdem muss ein Verzeichniss existieren, dass spaeter als Volume
|
||||
"SYS" genutzt werden kann. Als minimale Dateien werden "LOGIN.EXE",
|
||||
"CAPTURE.EXE", "MAP.EXE" und vielleicht noch "SYSCON.EXE" gebraucht.
|
||||
In allernaechster Zukunft sollte es von Martin Stover auch die
|
||||
"mars_dosutils" geben, so dass auf die Novell-Files verzichtet werden
|
||||
kann. Damit ist dann ein vollwertiger Netware-kompatibler Server als
|
||||
Freeware fuer Linux verfuegbar. Die Novell-Unterverzeichnisse "LOGIN",
|
||||
"PUBLIC", "SYSTEM" und "MAIL" werden beim ersten Aufruf von "nwserv"
|
||||
automatisch erzeugt (dafuer sollte der Eintrag 16 in der
|
||||
"nw.ini/nwserv.conf" auf 1 bleiben). Man kann also mars_nwe, nachdem
|
||||
in der nwserv.conf Datei der SYS Eintrag bearbeitet wurde, erstmal
|
||||
einmal starten und dann per Client versuchen einen attach zu erhalten.
|
||||
Der Client muss dann ein leeres LOGIN Verzeichnis bzw. Volume (bei
|
||||
vlms) vorfinden. Dann sollte sich der Client mit einem extern
|
||||
gestarteten LOGIN.EXE oder entsprechendem aus mars_dosutils auf dem
|
||||
Server als Supervisor einloggen und die benoetigten Dateien ins LOGIN
|
||||
Verzeichniss kopieren. Dieses hat den Vorteil, dass die Dateien in der
|
||||
richtigen Schreibweise gross bzw. klein in das Verzeichnis kopiert
|
||||
werden. Dateinamen die nicht in das Dos-Schema passen, oder
|
||||
irrtuemlich in Gross- und Kleinschreibung gemischt wurden, sind
|
||||
spaeter fuer den Client schlicht nicht sichtbar (waere z.b. bei LOGIN.
|
||||
EXE nicht so schoen, wenns unsichtbar bliebe ;-).
|
||||
|
||||
|
||||
Directories
|
||||
^^^^^^^^^^^
|
||||
Wie bereits gesagt muss wenigstens ein Verzeichniss mit der
|
||||
Novell-Directory-Struktur existieren, wofuer der "nwserv" aber mit
|
||||
Eintrag 16=1 in der nwserv.conf selbst sorgt. Daneben wird ein oder
|
||||
mehrere Verzeichnisse gebraucht, die als Uebergabeverzeichnisse fuer
|
||||
die Printqueues und eventuell eingerichtete Pipe-Dateien dienen.
|
||||
Letztere koennen aber jederzeit nachtraeglich angelegt und auch neu
|
||||
konfiguriert werden, unverzichtbar ist nur das Verzeichniss mit den
|
||||
Novell-Directories, dass spaeter als Volume SYS freigegeben wird.
|
||||
Generell ist es bestimmt keine schlechte Idee, alle Verzeichnisse und
|
||||
Files, die fuer die Clients sichtbar sein sollen, gross zu schreiben.
|
||||
|
||||
|
||||
MARS_NWE
|
||||
^^^^^^^^
|
||||
Die aktuelle Version vom MARS_NWE auspacken, was jetzt wohl schon
|
||||
passiert ;-) ist. Wenn alles komplett ist, gibts jetzt die
|
||||
Verzeichnisse "mars_nwe", "mars_nwe/examples" und "mars_nwe/doc". Im
|
||||
doc-Verzeichniss sind ein paar Texte zum MARS_NWE und im
|
||||
examples-Verzeichniss finden sich u.a. die bereits besprochenen
|
||||
Patches. Hat bisher alles geklappt, kann jetzt der erste "make"
|
||||
aufgerufen werden. Damit werden die Dateien "mk.li" und "config.h"
|
||||
erzeugt. "mk. li" ist ein Scriptfile, mit dessen Hilfe der "make" fuer
|
||||
Linux angepasst wird und braucht fuer Linux normalerweise nicht
|
||||
veraendert werden, die "config.h" (die eigentliche Konfigurationsdatei
|
||||
fuer "make" und den Compilerlauf) sollte aber wenigstens kontrolliert
|
||||
werden.
|
||||
Im Einzelnen kann man hier Folgendes einstellen:
|
||||
Mit DO_DEBUG wird gesteuert, ob der Debugging-Code mit compiliert
|
||||
werden soll. Generell ist besser mit debug-code, denn der Debug-Level
|
||||
kann dann spaeter ueber die nwserv.conf eingestellt werden.
|
||||
Abhaengig vom Eintrag DO_TESTING wird der MARS_NWE nur local (im
|
||||
aktuellen Verzeichniss) oder endgueltig installiert.
|
||||
Die meisten folgenden Eintraege sind selbsterklaerend (MAX_CONNECTIONS
|
||||
...). Um MARS_NWE mit ncpfs oder WIN95 zu betreiben sollte
|
||||
WITH_NAMESPACE_CALLS = 1 gesetzt werden.
|
||||
INTERNAL_RIP_SAP ist standard auf 1, soll der MARS_NWE aber nur als
|
||||
Server und nicht als Router eingesetzt werden, muss es auf Null
|
||||
gesetzt werden, dann muss aber auch das Routing von Hand eingerichtet
|
||||
werden und es wird ein externer RIP/SAP Daemon benoetigt. Wenn dieser
|
||||
Define auf Null gesetzt ist, wird beim compilieren ein tool namens
|
||||
"nwrouted" erzeugt. Dies ist der Routingund IPX-Konfigurationsteil aus
|
||||
MARS_NWE. Er kann z.B. verwendet werden, wenn Linux normalerweise ohne
|
||||
MARS_NWE lauft, IPX-Routing aber (z.B. fuer Linux als IPX-Client)
|
||||
gebraucht wird, bzw. wenn MARS_NWE nur ab und zu, dass Routing aber
|
||||
generell fuer Clients benoetigt wird.
|
||||
|
||||
Grundsaetzlich kann MARS_NWE auf zwei Arten eingerichtet werden:
|
||||
|
||||
1.Man kann alle Routen "von Hand" anlegen und MARS_NWE nur als Server
|
||||
einsetzen. Hat natuerlich den Nachteil, dass man selbst fuer korrektes
|
||||
IPX-Routing und richtige Einstellung der Internal-Net Nummern etc.
|
||||
sorgen muss, bzw. dass zusaetzliche Programme wie ipx-configure, ipxd
|
||||
usw. benoetigt werden. In mars_nwe/config.h muss folgende Zeile
|
||||
vorhanden sein:
|
||||
#define INTERNAL_RIP_SAP 0
|
||||
Wie schon gesagt, wird dabei ab Version 0.97-PL3 der "routed" erzeugt.
|
||||
|
||||
2.
|
||||
(Der Standard-Modus) MARS_NWE legt alle Routen selbst, man kann die
|
||||
entsprechenden Devices in der Conf-Datei bestimmen und der MARS_NWE
|
||||
arbeitet als RIP/SAP-Router (z.B. auch ueber ISDN...). Es werden keine
|
||||
zusaetzlichen Tools wie IPX_Configure etc. benoetigt.
|
||||
|
||||
Sind alle Defines gesetzt, kann der zweite make gestartet werden.
|
||||
Damit werden die Binaries "nwserv", "ncpserv", "nwbind", "nwconn" und
|
||||
"nwclient" erzeugt (wenn INTERNAL_RIP_SAP=0 war auch "nwrouted").
|
||||
Bevor der MARS_NWE endgueltig installiert wird, sollte jetzt die
|
||||
"nw.ini" bearbeitet werden. Diese wird vom anschliessenden "make
|
||||
install" ins "/etc/"-Verzeichniss unter dem Namen "nwserv.conf"
|
||||
kopiert und ist die eigentliche Konfigurationsdatei fuer den MARS_NWE.
|
||||
Sollte bereits eine "nwserv.conf" im "/etc"-Verzeichniss liegen, wird
|
||||
diese nicht automatisch ueberschrieben. Will man, dass die
|
||||
"nwserv.conf" mit der neuen "nw.ini" ueberschrieben wird (z.B. beim
|
||||
Wechseln auf eine neue MARS_NWE-Version, so muss noch ein "make
|
||||
install_ini" durchgefuehrt werden.
|
||||
Die "nwserf.conf" kann jederzeit nachtraeglich bearbeitet werden,
|
||||
viele Einstellungen koennen mit dem Aufruf "nwserv -h" in den
|
||||
laufenden Server uebernommen werden. Die Eintraege sind nummeriert,
|
||||
alles nach einem "#" ist Kommentar und wird ignoriert. Die Eintraege
|
||||
und ihre Bedeutung sind kurz in der "nwserv.conf" selbst kommentiert.
|
||||
Im Detail wird die "nwserv.conf" weiter unten besprochen. Fuer einen
|
||||
ersten Testlauf sollten die Eintraege 1,3,4, und 12 unbedingt
|
||||
kontrolliert oder geaendert werden. Nachdem das passiert ist, wird der
|
||||
"make install" aufgerufen, um die Binaries und die "nwserf.conf" zu
|
||||
installieren.
|
||||
Ist alles fehlerfrei durchgelaufen (ein paar Warnings beim
|
||||
Compilerlauf zaehlen nicht ;-), kann der "nwserv" zum testen
|
||||
aufgerufen werden. Danach sollten mit "ps" drei Prozesse sichtbar sein
|
||||
(etwa folgendermassen):
|
||||
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
1132 psf 1 < 0:00 nwserv
|
||||
1133 psf 1 N 0:00 nwbind NWE_SERVER 22.22.22.22:0.0.0.0.0.1:4.51 4001
|
||||
1134 psf 1 N 0:00 ncpserv NWE_SERVER 22.22.22.22:0.0.0.0.0.1:4.51 4001
|
||||
1136 pP8 1 N 0:00 ps
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
|
||||
Passiert ist folgendes:
|
||||
Der Hauptprozess "nwserv" ruft die beiden Prozesse "nwbind" und
|
||||
"ncpserv" auf ("ncpserv" lauert auf eventuell startende IPX-Clients).
|
||||
Die Parameter hinter den beiden Prozessen nwbind und ncpserv haben
|
||||
folgende Bedeutung:
|
||||
|
||||
NWE_SERVER: Der Name, der in den nw.ini (nwserv.conf) als
|
||||
SERVER-Name angegeben wurde (Eintrag Nr.2),
|
||||
oder falls nichts eingegeben wurde der Unix-
|
||||
Hostname.
|
||||
|
||||
22.22.22.22 Internal-Net Nummer des Servers.
|
||||
|
||||
0.0.0.0.0.1 Node-Nummer des Servers.
|
||||
|
||||
4.51 Socket-Nummer.
|
||||
|
||||
4001 Socket, ueber den die Prozesse miteinander kom-
|
||||
munizieren
|
||||
|
||||
Es hat also keinen Sinn, "nwbind" oder "ncpserv" als eigenstaendige
|
||||
Programme aufzurufen!
|
||||
|
||||
Ein "cat /proc/net/ipx*" sollte jetzt in etwa folgendes zeigen:
|
||||
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
ipx:
|
||||
Local_Address Remote_Address Tx_Queue Rx_Queue State Uid
|
||||
22222222:4000 Not_Connected 00000000 00000000 07 000
|
||||
22222222:0452 Not_Connected 00000000 00000000 07 000
|
||||
22222222:0453 Not_Connected 00000000 00000000 07 000
|
||||
22222222:4001 Not_Connected 00000000 00000000 07 000
|
||||
22222222:0451 Not_Connected 00000000 00000000 07 000
|
||||
22222222:4002 Not_Connected 00000000 00000000 07 000
|
||||
22222222:4003 Not_Connected 00000000 00000000 07 000
|
||||
ipx_interface:
|
||||
Network Node_Address Primary Device Frame_Type
|
||||
22222222 000000000001 Yes Internal None
|
||||
0000000A 0000E8037ECC No eth0 802.3
|
||||
0000AFFE FCFCAC100101 No isdn2 EtherII
|
||||
ipx_route:
|
||||
Network Router_Net Router_Node
|
||||
0000AFFE Directly Connected
|
||||
0000000A Directly Connected
|
||||
22222222 Directly Connected
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
|
||||
Die "ipx_interfaces" sind in diesem Beispiel eine Ethernetkarte (eth0)
|
||||
und ein ISDN-Interface (auch das geht!). Das erste "Interface" ist der
|
||||
Server mit seiner Internal-Net Nummer. "ipx_route" zeigt die aktuellen
|
||||
Netzwerk-Routen, die vom nwserv verwaltet werden, d.h. die beiden
|
||||
Netzwerke 0000AFFE und 0000000A sind augenblicklich erreichbar. "ipx"
|
||||
zeigt die Sockets auf denen der Server lauscht. Meldet sich nun ein
|
||||
IPX-Client auf dem Netz (Start von NETX oder mit VLM), so wird fuer
|
||||
jeden Client ein Prozess "nwconn" gestartet, der die Connection
|
||||
verwaltet. Wenn der Client erkannt wurde und alles funktioniert hat,
|
||||
dann zeigt ein "ps" unter anderem folgendes:
|
||||
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
51 psf 5 < 0:00 /sbin/nwserv
|
||||
53 psf 5 N 0:00 nwbind NWE_SERVER 22.22.22.22:0.0.0.0.0.1:4.51 4001
|
||||
54 psf 5 N 0:00 ncpserv NWE_SERVER 22.22.22.22:0.0.0.0.0.1:4.51 4001
|
||||
...
|
||||
342 psf 5 N 0:00 nwconn 54 0.0.0.a:0.20.cb.0.1a.e8:40.3 1 4001
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
|
||||
Hier ist ein Client dazugekommen mit folgenden Daten:
|
||||
|
||||
Netzwerk-Nummer (nicht Internal-Net): 0.0.0.A
|
||||
Kartennummer (Physikalisch): 0.20.cb.0.1a.e8
|
||||
Socket-Nummer: 40.3
|
||||
Connection Nummer: 1
|
||||
Die letzte Nummer (4001) ist eine MARS_NWE interne Socketnummer.
|
||||
|
||||
Auf der Client-Seite sollte jetzt der Server mit SLIST sichtbar sein:
|
||||
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
Known NetWare File Servers Network Node Address Status
|
||||
-------------------------- ------- ------------ ------
|
||||
NWE_SERVER [22222222][ 1]Default
|
||||
|
||||
Total of 1 file servers found
|
||||
<-------------------- schnipp --------------------------------------->
|
||||
|
||||
Auch die Dateien im Verzeichniss SYS:\LOGIN des Servers sollten jetzt
|
||||
sichtbar sein (wenn nicht, ist moeglicherweise die Option "k" gesetzt
|
||||
und die File-Namen sind auf der Linux-Seite grossgeschrieben oder
|
||||
umgekehrt?. Siehe auch Kapitel Novell, weiter oben).
|
||||
|
||||
|
||||
NWSERV.CONF
|
||||
|
||||
Die Datei "nw.ini" ist waerend der Installation als Vorlage fuer die
|
||||
eigentliche Konfigurationsdatei "nwserv.conf" angelegt und bearbeitet
|
||||
worden. Alle relevanten Einstellungen des MARS_NWE (ausser den
|
||||
Compilereinstellungen in der "config.h") werden hier vorgenommen.
|
||||
Einige davon koennen sogar waehrend der Laufzeit des Servers mittels
|
||||
"nwserv -h" uebernommen werden.
|
||||
In letzter Zeit hat Winfried Truemper die Kommentare ueberarbeitet und
|
||||
erweitert, so dass viele Parameter jetzt in der Datei selber erklaert
|
||||
werden.
|
||||
Hier sollen nur ein paar Einstellungen diskutiert werden, die immer
|
||||
wieder Fragen aufwerfen:
|
||||
Mindesten ein Eintrag 1 (Volumes) muss vorhanden sein. Wie
|
||||
schon im Kapitel Novell gesagt, gibt es auf Netware-Servern eine
|
||||
minimale Directory-Struktur die aus den Verzeichnissen "LOGIN",
|
||||
PUBLIC, "SYSTEM" und "MAIL" besteht, und in der standardmaessig
|
||||
bestimmte Dateien (Login-Scripte, Map-, Capture- und Login-Commands
|
||||
etc.) abgelegt sind. Damit der Client auf den Server Zugreifen kann
|
||||
muessen diese also vorhanden sein. Mit Eintrag 16=1 werden diese beim
|
||||
ersten Start von "nwserv" angelegt. Der Volume-Name ist ueblicherweise
|
||||
"SYS".
|
||||
Beim Anlegen und Eintragen der Optionen fuer das Volume SYS unbedingt
|
||||
auf Gross- und Kleinschreibung achten, sonst sind diese Dateien
|
||||
nachher fuer den Client nicht Sichtbar. Alle weiteren Volumes sind
|
||||
Optional und koennen beliebige Verzeichnisse (ausser /) freigeben.
|
||||
Auf Verzeichniss "/" hat nur der root=Supervisor Zugriff. Volumes
|
||||
koennen mit NFS gemountete Verzeichnisse, CD-Roms, Floppys und
|
||||
beliebige unter Linux mountbare Filesystems sein. Die einzige
|
||||
Einschraenkung besteht in der Beschraenkung auf entweder alles gross
|
||||
oder klein geschrieben und der Dos-Namensgebung fuer die Files
|
||||
(xxxxxxxx.xxx).
|
||||
Eine Besonderheit sind beim MARS_NWE die sogenannten PIPE-Volumes.
|
||||
Hier koennen spaeter Shell-Scripte abgelegt werden, auf die vom
|
||||
Dos-Client aus lesend und schreibend zugegriffen werden kann (siehe
|
||||
PIPE-Volumes, weiter unten).
|
||||
Eintrag 3 ist fuer die Internal-Net Nummer. Diese ist nur fuer den
|
||||
Server und muss einmalig im gesamten Netzwerk sein. Mit einer Null als
|
||||
Eintrag, wird die IP-Nummer des Linux-Hosts genommen, die ja
|
||||
ueblicherweise einmalig im Netz ist. Die Node-Nummer ist bei
|
||||
Netware-Servern 1, sollte also auch hier nicht anders eingestellt
|
||||
werden. Die Internal-Net Nummer einzurichten ist zwingend notwendig
|
||||
wenn der Server auch als Router arbeiten soll (mehr als ein
|
||||
Net-device), oder mehr als ein Server im Netz aktiv ist, sollte aber
|
||||
generell geschehen.
|
||||
Bei Netware gibt es zwei Typen von Netzwerknummern, die interne und
|
||||
externe Netzwerknummer. Die hier eingestellte interne wird verwendet,
|
||||
damit nur solche Pakete vom Server empfangen werden, die auch direkt
|
||||
fuer ihn bestimmt sind. Wenn mehrere Net-devices im Server
|
||||
konfiguriert sind, dann uebernimmt der Server automatisch
|
||||
Routing-Aufgaben. In diesem Fall sollen Pakete, die nicht fuer den
|
||||
Server bestimmt, sind ja nur weitergeleitet werden. Die in der
|
||||
Netzwerkkarte enthaltene physikalische Netzwerknummer ist daher
|
||||
natuerlich ungeeignet.
|
||||
Die Server unterscheiden sich aus Sicht der Arbeitsstationen nur durch
|
||||
ihre interne Netznummer, Pakete werden von den Clients nur an diese
|
||||
geschickt, der Server adressiert seine Paeckchen an den Client mit
|
||||
Absender = interne Netznummer und Empfaenger = externe Netznummer. Die
|
||||
externe Netzwerkadresse (in Eintrag 4) muss nun mit der Netzwerknummer
|
||||
des LAN's uebereinstimmen, das an das hier konfigurierte Device
|
||||
angeschlossen ist. Der Frame-Typ muss natuerlich auch mit dem
|
||||
uebereinstimmen, der auf diesem LAN gueltig ist (Standard bei
|
||||
Netware-Netzen ist meist 802.3, 802.2 ist bei einigen neueren (Netware
|
||||
3.12 ..) zu finden.
|
||||
Neuerdings kann in der "nwserv.conf" auch ein Autodetect der
|
||||
Net-Devices eingestellt werden. Dies kann natuerlich nur
|
||||
funktionieren, wenn an diesem Device mindestens ein anderer
|
||||
Netware-Server haengt, der korrekt eingerichtet ist, damit vom
|
||||
MARS_NWE die externe Netzwerknummer und der Frame-Typ vom laufenden
|
||||
Datenverkehr abgeleitet werden kann.
|
||||
Eintraege 7 - 13 legen die Securety- und Login-Details fest. Als
|
||||
Besonderheit bei Eintrag 7 gilt: auch wenn die 8 (allow empty passwds)
|
||||
eingetragen ist, muss der Supervisor ein Passwort haben (zumindest,
|
||||
wenn der Root auf dem Linux-Rechner eines hat). Die Optionen fuer
|
||||
Eintrag 7 (Passwd-Handling) sind hirarchisch gestaffelt, wobei die
|
||||
Null nur verschluesseltes Passworthandling zulaesst, und damit die
|
||||
sicherste Variante darstellt. Die unter 12 und 13 einzutragenden
|
||||
Usernamen und Passworte werden beim ersten Start von "nwserv" in die
|
||||
Bindery-Dateien (*.pag und *.dir-Files in /etc/) eingetragen. Danach
|
||||
koennen (und sollten in der Praxis auch) diese Eintraege wieder aus
|
||||
der "nwserv.conf" entfernt werden.
|
||||
|
||||
|
||||
|
||||
FILE-SERVICES
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
PINT-QUEUES
|
||||
^^^^^^^^^^^
|
||||
|
||||
PIPE-VOLUMES
|
||||
^^^^^^^^^^^^
|
||||
|
||||
CLIENTS INSTALLIEREN
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
FAQ's
|
||||
^^^^^
|
||||
|
||||
|
||||
TIPS UND LESESTOFF
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
EMAIL-ADRESSEN
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
|
||||
183
doc/INSTALL
183
doc/INSTALL
@@ -1,70 +1,133 @@
|
||||
=========> !! important NOTE !!
|
||||
You can configure mars_nwe in two ways.
|
||||
1. You want mars_nwe to handle routing/sap and configuring
|
||||
ipx-interfaces. This is the default mode.
|
||||
You do not need any other ipx-tool or routers/daemons.
|
||||
In this modus the correct coexisting working
|
||||
of mars_nwe, dosemu, ncpfs or Caldera's nwclient was tested.
|
||||
-> you must use kernel < 1.3.60 or use kernel >= 1.3.60 and compile
|
||||
your kernel with IPX-option CONFIG_IPX_INTERN=N
|
||||
This do NOT mean 'no internal net' but 'no *full* internal net'.
|
||||
In mars_nwe/config.h there must exist the following line:
|
||||
#define INTERNAL_RIP_SAP 1
|
||||
If you have other IPX/NCP servers in your net you can let
|
||||
your external nets configured automaticly.
|
||||
To do this you must use internal net: entry '3' must be filled
|
||||
with a *UNIQUE* NetNumber and you must place minimal one
|
||||
entry '4' with '0' as networknumber, device = '*' and frame=auto.
|
||||
example for conf/ini file: (see also examples/nw.ini):
|
||||
3 0x77777 # UNIQUE network number for internal net.
|
||||
4 0x0 * AUTO # autocreat Interfaces
|
||||
This is the file "INSTALL", a step-by-step guide on how to install
|
||||
the mars_nwe-package.
|
||||
|
||||
(1) Get a 'good' ipx-kernel-version and compile
|
||||
it with IPX-support, but no full internal net. You can do
|
||||
this by answering the following questions when running
|
||||
"make config":
|
||||
|
||||
The IPX protocol (CONFIG_IPX) [N/m/y/?] y
|
||||
Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] n
|
||||
|
||||
For general questions about how to compile a kernel,
|
||||
please see the Linux Kernel-HOWTO.
|
||||
Best kernels for mars_nwe are 1.3.57
|
||||
(with little patch from example directory)
|
||||
or kernels >= 1.3.60.
|
||||
Older kernels will sometimes not work because of
|
||||
bugs in the ipx-code. See examples directory for
|
||||
some patches.
|
||||
|
||||
(2) Decide, if mars_nwe should initialize your IPX-subsystem,
|
||||
make routing and handle sap/rip or if you want to do this
|
||||
with 3rd party products by hand.
|
||||
Before mailing problems with mars_nwe please try the first.
|
||||
|
||||
(2a) Configuration of the IPX-subsystem by "mars_nwe"
|
||||
|
||||
You do not need any other ipx-tool or routers/daemons
|
||||
in this case.
|
||||
It was tested that "mars_nwe", "dosemu", "ncpfs" or
|
||||
Caldera's "nwclient" do coexist friendly in this case.
|
||||
|
||||
|
||||
If there is no other IPX/NCP Server on your net then
|
||||
network number in entry '4' can be any number.
|
||||
4 0x10 eth0 ethernet_ii # eth0 device with network number '0x10'
|
||||
# and frame ETHERNET_II.
|
||||
4 0x20 eth0 802.3 # eth0 device with network number '0x20'
|
||||
# und frame ETHERNET_802.3.
|
||||
Set INTERNAL_RIP_SAP to "1" in `mars_nwe/config.h':
|
||||
|
||||
2. You want to run mars_nwe only as a fileserver and use
|
||||
special tools to configure ipx and rip/sap routers.
|
||||
-> In this mode you must use tools like ipx-configure and
|
||||
ripd to configure ipx-interfaces, routes and handle rip/sap.
|
||||
In mars_nwe/config.h there must exist the following line:
|
||||
#define INTERNAL_RIP_SAP 0
|
||||
#define INTERNAL_RIP_SAP 1
|
||||
|
||||
=========> create programs
|
||||
1. call make.
|
||||
2. perhaps you must modify mk.li and config.h
|
||||
3. call make
|
||||
|
||||
=========> configure
|
||||
modify nw.ini !
|
||||
IMPORTANT !!
|
||||
Please read examples/nw.ini if you use a new version
|
||||
of mars_nwe and make the needed changes to your
|
||||
'ini' or 'conf' file.
|
||||
=========> install
|
||||
"make install"
|
||||
"make install_ini" to overwrite your old _installed_ ini.
|
||||
If you have other IPX/NCP servers on your local net you
|
||||
can let "mars_nwe" choose TRV ("the right values"(tm))
|
||||
for you.
|
||||
You request this with the following entries in `nwserv.conf':
|
||||
|
||||
=========> start programs
|
||||
call nwserv ( as root !! )
|
||||
tested with Linux Version 1.2.13 and 1.3.32 and higher
|
||||
the linux-kernel must be configured with IPX=Y.
|
||||
ipx-interface and ipx-routes are setup by the program if the
|
||||
entry 4 (devices) in the nw.ini file is filled.
|
||||
3 0x0 # use your IP number for internal net.
|
||||
4 0x0 * AUTO # autocreat Interfaces
|
||||
|
||||
Make sure that no other server is using your internal net number
|
||||
as it's networknumber.
|
||||
|
||||
If there is no other IPX/NCP Server on your net then the network-
|
||||
number from section '4' can be any number.
|
||||
|
||||
4 0x10 eth0 ethernet_ii # eth0 device with network number '0x10'
|
||||
# and frame ETHERNET_II.
|
||||
4 0x20 eth0 802.3 # eth0 device with network number '0x20'
|
||||
# und frame ETHERNET_802.3.
|
||||
|
||||
|
||||
(2b) Manual configuration of the IPX-subsystem
|
||||
|
||||
In this mode you must use tools like ipx-configure and
|
||||
ipxd to configure ipx-interfaces, routes and handle rip/sap.
|
||||
|
||||
Set INTERNAL_RIP_SAP to "0" in `mars_nwe/config.h':
|
||||
|
||||
#define INTERNAL_RIP_SAP 0
|
||||
|
||||
|
||||
(3) Compile the programs from the mars_nwe-package
|
||||
|
||||
Unpack the source of "mars_nwe" and change to the directory
|
||||
`mars_nwe' (you already did that, otherwise you won't read this).
|
||||
Enter the command:
|
||||
|
||||
make
|
||||
|
||||
This will create the file `config.h' and 'mk.li'.
|
||||
Edit them to suit your needs. 'mk.li" only needs to be altered under
|
||||
very rare conditions or if you have problems with compiling/linking
|
||||
this package.
|
||||
|
||||
Now run "make" again:
|
||||
|
||||
make
|
||||
|
||||
|
||||
(4) Edit the configuration-file `nw.ini'.
|
||||
|
||||
Make sure you have all required sections included in your old
|
||||
configuration-file, if you upgrade to a new version of "mars_nwe".
|
||||
|
||||
|
||||
(5) Install everything
|
||||
|
||||
Just say
|
||||
|
||||
make install
|
||||
and perhaps
|
||||
make install_ini
|
||||
|
||||
The later is only if you want to _overwrite_ the already installed
|
||||
versions of the configuration-file "nwserv.conf" by the "nw.ini" file.
|
||||
|
||||
|
||||
(6) Create the directories visible to DOS-clients
|
||||
|
||||
At least the volume "SYS" must be defined in the configuration-file
|
||||
"nwserv.conf". Create the associated directory if it does not
|
||||
already exists and place the programs "login.exe" and "slist.exe"
|
||||
into the "LOGIN" directory. You also can use the free mars_dosutils
|
||||
with a poor version of these programms.
|
||||
|
||||
(7) Fire it up
|
||||
|
||||
As root, execute the command
|
||||
|
||||
nwserv
|
||||
|
||||
|
||||
(8) Stop programs (server down)
|
||||
|
||||
If nwserv isn't daemonized, then the server can be stopped
|
||||
with ^C, otherwise the server must be shut down with a
|
||||
kill of nwserv or with starting 'nwserv -k' or with the
|
||||
right dos client programm (fconsole server down) as supervisor.
|
||||
Entry 210 in the nw.ini file gives the time in seconds, before
|
||||
the server really shuts down.
|
||||
|
||||
=========> stop programs (server down)
|
||||
If nwserv isn't daemonized, then the server can be stopped
|
||||
with ^C, otherwise the server must be shut down with a
|
||||
kill of nwserv or with the right dos client programm
|
||||
(fconsole server down) as supervisor. Entry 210 in the
|
||||
nw.ini file gives the time in seconds, before the server
|
||||
really shuts down.
|
||||
|
||||
good luck :-)
|
||||
|
||||
Martin
|
||||
(mstover@freeway.de)
|
||||
Martin Stover <mstover@freeway.de>
|
||||
|
||||
|
||||
@@ -65,6 +65,3 @@ I would appreciate hearing about further documented applications of
|
||||
the PIPE filesystem or suggestions for other ways of using it.
|
||||
|
||||
Martin
|
||||
|
||||
(translated by Michael Beddow)
|
||||
|
||||
|
||||
109
doc/README
109
doc/README
@@ -1,70 +1,79 @@
|
||||
(C)opyright (C) 1993,1996 Martin Stover, Marburg, Germany
|
||||
|
||||
to compile and install, please read INSTALL !
|
||||
mars_nwe - Martin Stovers netware emulation
|
||||
Copyright (C) 1993,1996 Martin Stover, Marburg, Germany
|
||||
|
||||
This is a little try to emulate some functions from
|
||||
a NOVELL-SERVER under UNIX (LINUX).
|
||||
The first version I have written 1993 on a USL1.1
|
||||
with TLI-Code.
|
||||
1994 I have ported it to LINUX. This was easy, because
|
||||
I only have to write a small TLI->SOCKET emu.
|
||||
|
||||
Unfortunately I had no full description of the NCP-calls,
|
||||
so many of the calls based on trying. :-(
|
||||
Help on how to compile and install can be found in `INSTALL'.
|
||||
|
||||
WARNING: this code has still many BUG's !!
|
||||
|
||||
BINDERY: this are the *.pag and *.dir files.
|
||||
These files are generated by the first starting
|
||||
of mars_nwe and are filled with the minimal
|
||||
needed Objects and Properties.
|
||||
The User SUPERVISOR must be described in the
|
||||
nw.ini file, entry 12
|
||||
"mars_nwe" is an attempt to emulate the basic functionality
|
||||
of a netware-server under UNIX (Linux).
|
||||
The first version was written 1993 on a USL1.1 with TLI-Code.
|
||||
1994 I ported it to LINUX, which was easy because I only had
|
||||
to write a small TLI->SOCKET emulation (see the modul
|
||||
"emutli").
|
||||
|
||||
NETWORK: If there is a real Novell-Server on the
|
||||
same net-line, then the NETWORK Number of
|
||||
the network device in nw.ini should match
|
||||
the NETWORK Number of the Novell-Server.
|
||||
Unfortunately I had no complete description of the NCP-calls,
|
||||
so that the handling of many calls is based on experiments. :-(
|
||||
|
||||
LINUX
|
||||
KERNEL: the only linux-kernel depending files
|
||||
are emutli.[hc].
|
||||
WARNING: this code still has many BUG's!
|
||||
|
||||
short description of the processes.
|
||||
1) nwserv : the main program.Initiates all and starts 'ncpserv'.
|
||||
sends broadcasts, wdogs, sap and rip packets.
|
||||
If nwserv is started with a parameter, then the simple
|
||||
test client 'nwclient', only for debugging, is started.
|
||||
BINDERY:
|
||||
These are the *.pag and *.dir files.
|
||||
They are generated by the first starting
|
||||
of mars_nwe and are filled with the minimal
|
||||
needed Objects and Properties.
|
||||
The User SUPERVISOR must be described in the
|
||||
nw.ini file, entry 12
|
||||
|
||||
2) ncpserv: opens NCP-Socket and handles NCP-Requests.
|
||||
When there comes NCP-Request 0x1111 (Get Connection Nr)
|
||||
then there will be started a new process 'nwconn'.
|
||||
Every client-ncp-request reaches nwconn over
|
||||
ncpserv.
|
||||
NETWORK:
|
||||
If there is a real Novell-Server on the
|
||||
same net-line, then the NETWORK Number of
|
||||
the network device in nw.ini should match
|
||||
the NETWORK Number of the Novell-Server.
|
||||
|
||||
3) nwconn: will be started for every connection. Is connected
|
||||
to ncpserv with a pipe.
|
||||
LINUX KERNEL:
|
||||
the only linux-kernel depending files
|
||||
are emutli.[hc].
|
||||
|
||||
Problems and TODO:
|
||||
Many:-(
|
||||
|
||||
Here is a short list.
|
||||
o - password changings from clients
|
||||
o - make routing better.
|
||||
o - making printing better.
|
||||
o - clean the code !!!
|
||||
o - make bindery code more complete.
|
||||
o - and much more ...
|
||||
Short description of the programs from this package:
|
||||
----------------------------------------------------
|
||||
|
||||
nwserv:
|
||||
the main program. Initiates all subsystems and
|
||||
starts 'ncpserv'.
|
||||
Sends broadcasts, wdogs, sap and rip packets.
|
||||
If nwserv is started with the parameter 'y', then the simple
|
||||
test client 'nwclient', only for debugging, is started.
|
||||
Parameter '-k' is for stopping the actual running nwserv
|
||||
and parameter '-h' for sending a HUP signal to the
|
||||
running nwserv.
|
||||
|
||||
ncpserv:
|
||||
opens NCP-Socket and handles NCP-Requests.
|
||||
For every incoming NCP-Request 0x1111 (Get Connection Nr)
|
||||
a new instance of 'nwconn' ist started.
|
||||
Every client-ncp-request reaches nwconn over ncpserv.
|
||||
|
||||
nwconn:
|
||||
started for every single connection. Communicates with
|
||||
ncpserv over an ipx-socket.
|
||||
|
||||
nwbind:
|
||||
the bindery program. Communicates with
|
||||
ncpserv and nwconn over an ipx-socket.
|
||||
|
||||
|
||||
Have luck with trying. :)
|
||||
|
||||
|
||||
Martin
|
||||
(mstover@freeway.de)
|
||||
Martin Stover <mstover@freeway.de>
|
||||
|
||||
BTW: The kick to make mars_nwe public was the publication of
|
||||
linware ( lwared ), the NetWare-Emulator from
|
||||
Ales Dryak <A.Dryak@sh.cvut.cz>
|
||||
|
||||
BTW: The kick to make mars_nwe public was the
|
||||
publication of linware ( lwared ), the Novell-Server-Emulator
|
||||
from Ales Dryak (A.Dryak@sh.cvut.cz).
|
||||
I hope both products can make profit from each other.
|
||||
-----> SuperNOS ala Linux ;-)
|
||||
Novell don't want to make it anymore. :-(
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
Begin3
|
||||
Title: mars_nwe
|
||||
Version: 0.97.pl3
|
||||
Entered-date: 07-May-96
|
||||
Description: full novell-server-emulator (src),beta
|
||||
supports file-services, bindery-services,
|
||||
printing-services, routing-services
|
||||
Version: 0.97.pl4
|
||||
Entered-date: 11-May-96
|
||||
Description: Full netware-emulator (src), beta.
|
||||
Supports file-services, bindery-services,
|
||||
printing-services, routing-services.
|
||||
Keywords: novell, netware, server, ipx, ncp, tli
|
||||
Author: mstover@freeway.de (Martin Stover)
|
||||
Maintained-by: mstover@freeway.de (Martin Stover)
|
||||
Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs
|
||||
140kB mars_nwe-0.97.pl3.tgz
|
||||
140kB mars_nwe-0.97.pl4.tgz
|
||||
Alternate-site: ftp.uni-duisburg.de /pub/linux/ipxware
|
||||
Platforms: Linux (1.2.xx, 1.3.xx), UnixWare 2.0x
|
||||
Copying-policy: GNU
|
||||
|
||||
Reference in New Issue
Block a user