FreeDOS-Kompendium: Konfiguration: Netzwerk

Mit der wachsenden Popularität von Netzwerken – jetzt auch im Heimbereich – und sinkenden Preisen für Netzwerkhardware kommt immer öfter der Wunsch auf, auch ältere Rechner in vorhandene Netzwerke einzubinden. Da für diese Rechner oft kein moderneres Betriebssystem als DOS in Frage kommt, und dieses Betriebssystem für viele Anwendungen auch heute noch ausreicht, möchte man es nur wegen der fehlenden Netzwerkfunktionen nicht ersetzen. Es gibt auch für DOS Möglichkeiten, Netzwerkfunktionen und sogar das Internet zu nutzen.

Der folgende Text soll beschreiben, wie man ein TCP/IP-Netzwerk unter FreeDOS einrichtet.

Benötigte Software Bearbeiten

Da FreeDOS selbst keine Netzwerkfunktionalität bereitstellt, muss diese mittels externer Software nachgerüstet werden. Microsoft veröffentlichte zum Zweck der Anbindung eines Computers mit MS-DOS an einen Windows-NT-Server kostenlos den "Microsoft Network Client for MS-DOS", der auch unter der Bezeichnung "MS-Client" (oder "MSClient") bekannt ist und eine auf Client-Funktionen beschränkte, aber teilweise verbesserte Version des Microsoft LAN Managers darstellt. Der Client lässt sich allerdings auch problemlos mit dem freien DOS-Betriebssystem FreeDOS verwenden, das im Internet unter http://www.freedos.org/ herunter geladen werden kann. Des Weiteren ist als Server nicht Windows NT nötig, sondern alle Windows-Versionen ab 95 funktionieren. Als Alternative in einer Linux-Umgebung empfiehlt sich der Samba-Server, der das von Microsoft benutzte SMB-Protokoll (neuere Bezeichnung: CIFS) bereitstellt.

Man bekommt den MS-Client unter ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT/ als zwei selbstentpackende ZIP-Archive:

  • DSK3-1.EXE
  • DSK3-2.EXE

Diese beiden Dateien können auf zwei Disketten oder in ein Verzeichnis (Beispiel: A:\ oder C:\MSCLIENT\SETUP\) entpackt werden. Die in beiden Archiven vorhandenen Dateien sind die enthaltene Dokumentation und können beliebig ersetzt werden, da sie identisch sind.

Weiterhin wird die Datei "NNET.EXE" bzw. "WG1049.EXE" benötigt, wenn man auf dem DOS-Rechner Netzlaufwerke freigeben will. Man bekommt diese Dateien im Verzeichnis ftp://ftp.microsoft.com/Softlib/MSLFILES/ Sollten mit "NNET.EXE" Probleme beim Drucken auftreten, sollte stattdessen die Dateien aus "WG1049.EXE" verwendet werden. Beide Dateien sind selbstentpackende ZIP-Archive, die die Dateien NET.EXE, NET.MSG und NETH.MSG in anderen Versionen enthalten.

Um Laufwerke für andere Rechner im Netzwerk leichter freigeben zu können, kann man sich außerdem noch das Archiv "NETSHAR.EXE" herunterladen. Es enthält eine Pseudo-Grafische Oberfläche für den Befehl NET SHARE.

Alternativ sind diese Dateien unter anderem auf ftp://ftp.wnt.uni-duesseldorf.de/Mirror/ftp.microsoft.com/softlib/mslfiles/ zu finden.

Da die TCP/IP-Unterstützung sehr viel Speicher benötigt (größter Treiber über 78 KB) empfiehlt es sich noch, einige Tools zur Einsparung von konventionellem Speicher einzusetzen und für alle unter DOS benötigten Geräte die Treiber mit dem geringsten Speicherverbrauch einzusetzen. Wer für die Verbindung zu dem FreeDOS-Rechner nicht unbedingt TCP/IP benötigt, sollte statt dessen das "IPX/SPX compatible protocol" ausprobieren, das vom Installationsprogramm standardmäßig vorgeschlagen wird. Die Unterstützung für dieses Protokoll benötigt deutlich weniger Arbeitsspeicher und Konfigurationsaufwand. Gleichermaßen verhält es sich mit NetBEUI, einem simplen Protokoll, das nicht routingfähig (über mehrere PCs weiterleitbar), aber dafür wie geschaffen für kleine Heimnetzwerke ist, die nur Windows-Computer einsetzen. Wenn IPX oder NetBEUI benutzt werden, sollte man sich vergewissern, dass die Windows-Computer unter Systemsteuerung-Netzwerk bzw. Netzwerkverbindungen diese Protokolle installiert haben. Momentan unterstützt der Samba-Server allerdings weder NetBEUI noch IPX, so dass als Universal-Lösung nur TCP/IP in Frage kommt.

Im einzelnen probierte ich folgende Tools zur Speicheroptimierung aus:

  • MEMSTRAT
  • TSR Utilities 3.5
  • LOADSYS.EXE
  • ... und etliche mehr

Bevor jetzt jemand versucht, alle diese Dateien herunter zu laden: Letztendlich blieb ich bei den TSR Utilities, da sie die anderen Programme überflüssig machten. Sie sind beispielsweise unter http://www.simtel.net/pub/pd/50836.html erhältlich.

Sollte es mit den angegebenen Links Probleme geben (es gehört zu den Hobbys mancher Systemadministratoren, Verzeichnisstrukturen hin und wieder zu ändern), helfen Suchmaschinen wie FTPSearch weiter. Weiterhin setzte ich folgende Treiber mit minimalem Speicherverbrauch ein:

DOS-Anwendungen Bearbeiten

Hier finden Sie eine kleine Auswahl an DOS-basierten Netzwerk-Programmen.

Web-Browser:

(Zur Zeit keine "offizielle" Homepage - wenn nötig nach "Arachne 1.90J1" suchen)

Telnet und ftp: http://www.simtel.net/msdos/ncsatlnt.html

Mail und News: http://www.simtel.net/msdos/mailnews.html

Die Installation Bearbeiten

Speicher optimieren, erster Teil Bearbeiten

Zunächst schafft man sich also ein Maximum an freiem DOS-Speicher durch Einsatz speichersparender Treiber oder weglassen von nicht benötigten Treibern. Treiber für CD-ROM-Laufwerke sind für ihren Speicherhunger bekannt, hinzu kommen dann immer noch mal rund 8 KiB für SHSUCDX.EXE, so dass man sich überlegen sollte, die CD-Treiber nicht zu laden, da man CDs nach erfolgreicher Installation ja über das Netzwerk nutzen kann. SHSUCDX stellt übrigens auch für andere DOS eine platzsparende Alternative zu MSCDEX.EXE oder NWCDEX.EXE (rund 20 KiB Speicher) dar und ist auf http://www.geocities.com/jadoxa/shsucdx/index.html erhältlich. Die FreeDOS-Distribution enthält SHSUCDX.EXE bereit.

Die Auswahl der Konfigurationen kann über ein in der CONFIG.SYS oder FDCONFIG.SYS einzurichtendes Startmenü vorgenommen werden. Um den Speicher für das Hochladen von Treibern verwenden zu können, benötigt man FDXMS.SYS für XMS-Speicher ebenfalls im BIN-Verzeichnis und UMBPCI.SYS oder RDOSUMB, da FreeDOS keine UMBs von Hause aus mit einem Treiber versorgt. Ich gehe hier aber nur näher auf UMBPCI.SYS ein. Speicheroptimierung ist bei der Vielzahl der verschiedenen Rechner ein eigenes Thema und man kann sich hier so richtig austoben, um das letzte Bit aus seinem Rechner herauszuholen, was aber sehr zeitaufwendig ist.

Als erstes wird der Speichermanager für FreeDOS geladen.

DEVICE=C:\FDOS\BIN\FDXMS.SYS

Der Pfad muss dazu natürlich angepasst werden, er zeigt hier auf das Standardinstallationsverzeichnis von FreeDOS 1.0. Die Klein- oder Großschreibung spielt übrigens keine Rolle.

Mit dem DOS-Tool MI.EXE aus dem UMBPCI-Projekt oder mit dem Programm MEM.EXE aus FreeDOS kann man sich die Speicherbelegung anzeigen lassen. Danach lädt man UMBPCI.SYS in der gleichen Weise. In Versionen ab 3.00 sucht UMBPCI.SYS selbst nach nutzbaren Speicherbereichen, so dass man keine Parameter mehr angeben muss.

DEVICE=C:\FDOS\BIN\UMBPCI.SYS

Beim Starten gibt UMBPCI eine Meldung aus, welcher Speicherbereich genutzt wird. Dieser Wert kann dann wiederum als Parameter für UMBPCI.SYS benutzt werden, so dass nicht bei jedem Starten des Computers erst nach nutzbaren Bereichen gesucht wird. Die UMBPCI-Zeile für die CONFIG.SYS für meinen Computer lautet also:

DEVICE=C:\FDOS\BIN\UMBPCI.SYS I=CD00-EFFF
Achtung: Diese Zeile darf nicht ohne Veränderungen für andere PCs übernommen werden!

Nun füge ich noch folgende Zeile in der (FD)CONFIG.SYS hinzu. Dadurch wird der Helfer-Treiber für "Installierbare Dateisystem" (Installable File Systems, IFS) – in diesem Fall für das Nutzen von Netzwerkfreigaben unerlässlich – geladen. Das DEVICEHIGH sorgt dafür, dass der Treiber in die nun verfügbaren UMBs geladen wird.

DEVICEHIGH=C:\MSCLIENT\IFSHLP.SYS
Achtung: Die Datei IFSHLP.SYS aus Windows 95, 98 oder Me ist eine andere Version und nicht mit dem Client kompatibel. Dies sollte besonders auf einem System mit einem Multiboot zwischen FreeDOS und Windows beachtet werden.

Ein kleiner deutscher Tastaturtreiber von FreeDOS, der nur knapp 400 Bytes benötigt:

DEVICEHIGH=C:\FDOS\BIN\KEYBGR.SYS

Einigen alten Microsoft-Programmen muss ein MS-DOS Version 6.22 vorgaukelt werden. Falls nur der MS-Client benutzt wird, kann man diese Einstellung entfallen lassen, denn die von FreeDOS 1.0 standardmäßig an Programme gemeldete DOS-Version 7.10 funktioniert ebenfalls mit allen Programmen des Clients.

VERSION=6.22

Installation des MS-Clients Bearbeiten

Als nächstes wird nun der MS-Client mit dem zugehörigen Setup-Programm installiert. Dazu sollte man sich vorher vergewissern, dass man den DOS- oder Windows-3.11-Treiber; genauer, den NDIS2-Treiber für seine Netzwerkkarte parat hat und sich das Verzeichnis aufschreiben, in dem er auf der Treiberdiskette gespeichert ist. In diesem Verzeichnis sollte der eigentliche Treiber mit der Endung .DOS und die Textdatei OEMSETUP.INF mit Installationsinformation existieren. Für Windows 3.11 gedachte Dateien funktionieren hier ohne Probleme, falls man die Konfiguration der Parameter nicht im Setup vornimmt. Dieses Verzeichnis muss später von Hand eingegeben werden, also sollte der Pfad am besten nicht allzu lang und leicht zu merken sein (Beispiel: D:\NDIS2DOS). Andernfalls sollte man sich den Pfad am besten aufschreiben. Überdies ist die Bedienung des Setup-Tools recht gewöhnungsbedürftig, so dass ich es nur dazu benutze, um die benötigten Programmdateien zu installieren und die Konfigurationsdateien anzulegen. Allerdings kann man auch alle Parameter der einzelnen Geräte und Protokolle mit dem Setup einstellen.

Um das Setup zu starten, sollte man zuerst das aktuelle Verzeichnis in das Setup-Verzeichnis setzen. Das geht beispielsweise mit folgenden Befehlen an der Eingabeaufforderung:

C:
CD C:\MSCLIENT\SETUP

Oder, falls man von Disketten installiert:

A:
CD A:\

Nun wird die Datei SETUP.EXE ausgeführt. Dazu wird der Name der Datei, wahlweise mit Erweiterung, als Befehl eingegeben:

SETUP

Zunächst fragt das Setup nach dem Netzwerktreiber. Nur dann, wenn man keine der aufgelisteten Netzwerkkarten installiert hat (in diesem Fenster sollte man auch einmal scrollen, um sich davon zu überzeugen), wählt man "Other (not listed)" an und muss nun das entsprechende Verzeichnis auf der Treiberdiskette manuell vorgeben. Ältere Karten ohne eigene Treiber laufen häufig auch mit "Novell/Anthem NE2000 compatible". Wer diesen oder einen ähnlichen Treiber benutzt, muss allerdings im Setup oder später von Hand in der PROTOCOL.INI die richtigen Adresswerte für die Karte angeben. Treiber für neuere PCI-Karten (zum Beispiel RTL8139) benötigen meist keine Einstellungen mehr, sondern erkennen die Karte automatisch.

So sieht beispielsweise die Sektion der PROTOCOL.INI für eine NE2000-kompatible Karte aus:

[MS$NE2000]
DriverName=MS$NE20
IOBASE=0x320
INTERRUPT=11 

So sieht die Sektion hingegen für eine RTL8139-kompatible Karte aus, ohne weitere Einstellungen:

[RTSND]
DriverName=RTSND$

Nach der Auswahl des Netzwerkkartentreibers fragt das Setup nach der "OEM Driver Disk", falls das TCP/IP-Protokoll oder einer der mit dem MS-Client enthaltenen OEM-Netzwerkkartentreiber installiert wurde. Es ist also die zweite Diskette des MS-Clients gemeint, auf der diese Treiber zu finden sind. Wenn man die beiden Archive zuvor beispielsweise nach C:\MSCLIENT\SETUP entpackt hat, drückt man bei der Anfrage einfach die Eingabetaste, da das bisherige Installationsverzeichnis (Inhalt der Diskette 1) bereits eingegeben ist. Ansonsten gibt man das Verzeichnis des Inhalts der Diskette 2 ein, oder tauscht die Diskette 1 im Diskettenlaufwerk mit der Diskette 2 aus.

Nachdem alle Dateien kopiert wurden folgt der Einstellungsdialog, der in zwei Fenster aufgeteilt ist, zwischen denen man mit der TAB-Taste (unter ESC, meist ein Pfeil nach Rechts und einer nach Links abgebildet) wechselt.

Tipp: Man kann den nun folgenden Dialog nach der Installation jederzeit wieder aufrufen, indem man SETUP.EXE im Verzeichnis, in das installiert wurde, ausführt. Dadurch gehen aber manche manuelle Einstellungen verloren.

Im oberen Fenster wählt man mit den Cursortasten aus, was bearbeitet werden soll, im unteren, was gemacht werden soll ("Change Configuration", "Remove", ...). Durch Drücken der Eingabetaste wird dann der jeweilige Konfigurationsdialog gestartet. Man braucht ihn, um beispielsweise TCP/IP als Protokoll hinzuzufügen, einzurichten und dem Rechner einen Namen und die Arbeitsgruppe zu geben. Als Redirector wählt man "Basic" (einfach) aus, das spart Speicher. Falls man sich an einer LAN-Manager- oder Windows-NT-Domäne anmelden will, wird allerdings der erweiterte Redirector benötigt.

An dieser Stelle nochmals der Hinweis: Wer nicht unbedingt auf TCP/IP angewiesen ist, sollte bei zu knappem konventionellen Speicher (und entsprechenden Fehlermeldungen von DOS-Anwendungen) auf ein anderes Protokoll, zum Beispiel IPX oder NetBEUI, ausweichen. Die Unterstützungen für diese Protokolle benötigen deutlich weniger Speicher als die für TCP/IP.

Ich habe an dieser Stelle lediglich TCP/IP hinzugefügt und den Namen vergeben, da ich es leichter finde, die PROTOCOL.INI im Verzeichnis des MS-Clients manuell anzupassen, als sich durch das Setup zu hangeln. In diesem Fall sollte man jedoch vermeiden, dass nach Beenden des Setups (Anwählen von "The Options are correct") der Rechner neugestartet wird. Dies erreicht man, in dem man im letzten Bildschirm statt der Eingabetaste F3 drückt (was auch explizit aufgeführt wird). Ansonsten würde die nun veränderte Datei AUTOEXEC.BAT beim Start ausgeführt werden, die jetzt das Starten des MS-Clients beinhaltet. Sollte man dies im Setup nicht deaktiviert haben, wird dabei im Netz wahrscheinlich erfolglos nach einem DHCP-Server gesucht. Falls man FDAUTO.BAT (Setupvorschlag von FreeDOS 1.0) oder eine andere Startdatei statt AUTOEXEC.BAT benutzt, entfällt dieser Schritt.

Tipp: Die Internetverbindungsfreigabe von Windows 98 SE und höher arbeitet auch als DHCP-Server. Auch viele Router stellen (gegebenenfalls nach Aktivierung) einen DHCP-Server bereit. Falls man einen solchen im Netzwerk hat, entfällt optional ein Teil der Konfiguration.

Nach dem Beenden des Setups editiert man die PROTOCOL.INI im Verzeichnis, das im Setup angegeben wurde. Alle Zeilen, die mit einem Semikolon ( ; ) beginnen, sind Kommentare und können auch gelöscht werden. Der Abschnitt [TCPIP] sollte etwa folgendermaßen aussehen:

[TCPIP]
; Sektionsname
NBSessions=6
; NetBIOS Sitzungen. Nicht verändern.
DefaultGateway0=192 168 0 1
; Gateway. IP-Adresse des Routers oder PCs, an den der DOS-Rechner angeschlossen ist.
SubNetMask0=255 255 255 0
; Subnetzmaske. Normalerweise ist immer "255 255 255 0" richtig.
IPAddress0=192 168 0 5
; IP-Adresse dieses Rechners. Fängt meistens mit "192 168 " an.
DisableDHCP=0
; 1 = DHCP nicht suchen, Adressen oben benutzen.  2 = DHCP suchen, Adressen oben nicht benutzen
DriverName=TCPIP$
; Treibername. Beim TCP/IP, das mit dem MS-Client mitgeliefert wird, immer "TCPIP$".
BINDINGS=MS$NE2000
; Sektion der Netzwerkkarte. Nicht verändern. Kann anders sein. (Beispiel: RTSND)
LANABASE=0 
; Netzwerk-Adapter Basis. Nicht verändern.
Achtung: Die IP-Adressen werden nicht wie in den meisten Programmen durch Punkte, sondern durch Leerzeichen getrennt!

Durch editieren der PROTOCOL.INI lassen sich die IP-Adresse übrigens auch ohne größeren Aufwand ändern. Nun kann der Rechner neu gestartet werden. Falls beim Starten die AUTOEXEC.BAT ausgeführt wird, sollte nun der MS-Client automatisch gestartet werden. Andernfalls gibt man den Befehl C:\AUTOEXEC.BAT an der Eingabeaufforderung ein, um die Datei selbst zu starten.

Konnte das gewählte Protokoll und der Netzwerkkartentreiber erfolgreich geladen werden, stehen jetzt die üblichen Netzwerkfunktionen zur Verfügung. Sie entsprechen denen in Windows, werden aber – natürlich über die Eingabeaufforderung – mit dem Programm NET.EXE benutzt. Am besten kann man sich alle Befehle mit NET HELP | MORE (detailliertere Hilfe zum jeweiligen Befehl mit NET HELP Befehl | MORE) ansieht. Mit NET VIEW sollten sich beispielsweise die Freigaben der anderen Rechner im Netz anzeigen lassen, NET USE dient dem Verbinden einer Netzwerkfreigabe auf ein DOS-Laufwerk oder eines Netzwerkdruckers auf ein DOS-Gerät.

Speicher optimieren, zweiter Teil Bearbeiten

Wenn man mit geladenem MS-Client die DOS-Speicherbelegung anschaut, bekommt man meist erst mal einen Schreck: Weniger als 500 KB frei! Was für Programme laufen denn da noch? Nicht mehr viele.

Glücklicherweise kann man das Ganze noch etwas optimieren, indem man viele der Treiber mit LOADHIGH oder LH in die UMBs hochlädt. Um den MS-Client nur bei Bedarf laden und sogar auch wieder entladen zu können (siehe unten), kann man zunächst die vom Installationsprogramm in der Datei C:\AUTOEXEC.BAT erstellten Einträge in eine separate Datei namens NETSTART.BAT verschieben. Alle Zeilen, die in dieser Datei mit zwei Doppelpunkten ( :: ) beginnen, sind Kommentare und können auch entfernt werden. Das Beispiel zeigt eine NETSTART.BAT für das TCP/IP-Protokoll, für das NetBEUI-Protokoll würde die Datei nur die Markierung für das spätere Entladen und den Befehl LH C:\MSCLIENT\NET.EXE START enthalten.

@echo off

:: Falls alte Markierung existiert, löschen. Siehe unten
IF EXIST C:\MSCLIENT\UNLOAD.MRK del C:\MSCLIENT\UNLOAD.MRK

:: Informationen zum Entladen des Clients in der
:: Markierungsdatei C:\MSCLIENT\UNLOAD.MRK speichern
:: MARKNET.EXE ist Bestandteil der TSR Utilities
C:\MSCLIENT\MARKNET.EXE C:\MSCLIENT\UNLOAD.MRK

:: MS-Client mit TCP/IP-Protokoll laden
LH C:\MSCLIENT\NET.EXE INIT
C:\NET\NETBIND.COM
:: C:\MSCLIENT\NET.EXE START NETBIND
LH C:\MSCLIENT\UMB.COM
LH C:\MSCLIENT\TCPTSR.EXE
LH C:\MSCLIENT\TINYRFC.EXE
LH C:\MSCLIENT\NMTSR.EXE
C:\MSCLIENT\EMSBFR.EXE
LH C:\MSCLIENT\NET.EXE START

Der auskommentierte Befehl NET.EXE START NETBIND würde bei Ausführung das gleiche wie NETBIND.COM tun. Da die Datei NETBIND.COM dann entfallen kann, ist dies besonders auf Startdisketten mit Netzwerkclient sinnvoll, denn so kann man etwas Speicherplatz sparen.

Die Treiber, die im ersten Teil erwähnt wurden, bedürfen keiner Sonderbehandlung und werden ebenso mit LOADHIGH oder LH geladen. Gleiches trifft auf den Maustreiber CTMOUSE zu, bei dessen Aufruf sogar das LH weggelassen werden kann: Das Programm platziert sich selbst in einem geeigneten UMB. Ansonsten kann man hier natürlich auch selbst etwas experimentieren, um zu schauen, welche TSRs und Treiber man noch in den oberen Speicher geladen bekommt.

Tipp: Da mitunter der größte Treiber TCPTSR.EXE trotz ausreichend freien hohen Speichers im konventionellen Speicher Platz wegnimmt, habe ich mit einigen Utilities experimentiert und bin letztlich zu dem Ergebnis gekommen, dass man sowohl UMB.COM als auch EMSBFR.EXE weglassen kann. Bisher ergaben sich mit dieser Konfiguration keine Probleme.
Andererseits sollte man UMB.COM trotzdem laden, falls der Speicher beim Laden des Clients nicht besonders knapp wird. Das Programm sorgt nämlich dafür, dass weitere Teile des MS-Clients, die noch im unteren Speicher liegen, doch noch in den oberen Speicherbereich kommen. Bei mir ergeben sich dadurch ein paar KiB mehr unterer Speicher, wofür aber mehr UMBs benutzt werden.

Das Netzwerk einrichten Bearbeiten

Netzwerkfunktionen nutzen Bearbeiten

Man kann mit dem MS-Client beispielsweise die Uhrzeit des Computers mit der auf einem anderen Computer abgleichen. Dazu steht nach dem Starten des MS-Clients Folgendes in der AUTOEXEC.BAT oder FDAUTO.BAT oder der separaten NETSTART.BAT:

C:\MSCLIENT\NET.EXE TIME \\SERVER1 /set /yes

Damit wird die Zeit auf dem DOS-Client mit der auf dem Computer namens "SERVER1" synchronisiert. Um Fehler durch abweichende Systemuhren zu vermeiden, sollte man dauerhaft vernetzte Rechner regelmäßig, zum Beispiel einmal täglich, miteinander synchronisieren. Außerdem erfolgt dann die Sommer- und Winterzeitumstellung auch auf dem DOS-Client automatisch, wenn ein Windows-PC im Netzwerk existiert.

Einrichtung von Netzwerkdruckern:

C:\MSCLIENT\NET.EXE USE LPT2: \\SERVER1\hpdeskjet /persistent:no /yes
C:\MSCLIENT\NET.EXE USE LPT3: \\SERVER1\hplaser /persistent:no /yes

Hier werden die LPT-Ports 2 und 3, die physisch nicht an diesem Rechner existieren müssen, mit einem Drucker auf dem Computer "SERVER1" verbunden. LPT-Port 1 bleibt der physische LPT-Port am Client-Rechner.

Verbindung von Netzlaufwerken:

C:\MSCLIENT\NET.EXE USE F: \\SERVER1\VERZ1 /persistent:no /yes
C:\MSCLIENT\NET.EXE USE G: \\SERVER1\VERZ2 /persistent:no /yes
C:\MSCLIENT\NET.EXE USE H: \\SERVER2\VERZ1 /persistent:no /yes
C:\MSCLIENT\NET.EXE USE I: \\SERVER2\VERZ2 /persistent:no /yes

Hier werden verschiedene Freigaben auf den Computern "SERVER1" und "SERVER2" über Laufwerksbuchstaben für DOS eingebunden. Auf diese Laufwerke ist dann ein Zugriff wie auf jedes andere, normale Laufwerk möglich, je nach Berechtigung aber eventuell nur lesend.

Freigaben oder DOS als Server Bearbeiten

Normalerweise kann der MS-Client nicht als Server agieren. Das heißt, man kann zwar in FreeDOS Freigaben anderer Computer benutzen, hat aber selbst nicht die Möglichkeit, Dateien freizugeben. Es existieren aber mehrere kostenlose Updates von Microsoft für das sogenannte "Microsoft Workgroup Add-On for MS-DOS". Das Workgroup Add-On ist eine kommerzielle Variante des MS-Clients, die in der Lage ist, als Server zu agieren. Da diese Updates jeweils die aktualisierten Dateien NET.EXE, NET.MSG sowie NETH.MSG aus dem Workgroup Add-On enthalten, kann man es als inoffizielles Upgrade für den MS-Client benutzen. Allerdings muss auch erwähnt werden, dass dies eine unlautere Methode ist, und dass man den Einsatz daher wirklich bedenken sollte.

Um das Upgrade durchzuführen und auf dem FreeDOS-Rechner Laufwerke, Verzeichnisse oder Drucker freigeben zu können, benötigt man eines der beiden Archive NNET.EXE oder WG1049.EXE. Diese enthalten unterschiedliche die beiden möglichen Updates von Microsoft, also Server-Versionen von NET.EXE, NET.MSG und NETH.MSG. Falls es Probleme mit dem Drucken im Netz gibt, sollte man statt NNET.EXE WG1049.EXE einsetzen, man kann WG1049.EXE aber auch komplett statt NNET.EXE benutzen. Das Archiv, dessen Inhalt man verwenden möchte, entpackt man mit beispielsweise diesem Befehl:

NNET.EXE -o C:\MSCLIENT\ N*.*

Dadurch werden alle enthaltenen Dateien, die mit N beginnen, in das angegebene Verzeichnis des MS-Clients extrahiert. Die alten Exemplare werden ungefragt ausgetauscht. Die Datei README.TXT, die den Updates beiliegt, wird allerdings nicht extrahiert, da sonst die gleichnamige Datei des MS-Clients gelöscht werden würde. Die Upgrade-Dateien tragen ein älteres Dateidatum als die Original-Dateien, was daran liegt, dass der MS-Client eine spätere, aber lediglich reduzierte Version des Workgroup Add-Ons darstellt. Zuletzt ist noch die Datei SYSTEM.INI im Verzeichnis des MS-Clients zu editieren. Die Werte dieser beiden Einträge müssen "Yes" lauten:

[network]
FileSharing=Yes
PrintSharing=Yes 
Tipp: Nach jeder Benutzung des Programms SETUP.EXE werden die beiden Werte wieder auf "No" gesetzt. Man kann den Wert jedoch auch bei geladenem Protokoll ändern, sofern der Serverdienst noch nicht gestartet wurde (siehe unten).

Im Archiv NETSHAR.EXE, das ebenfalls ins Verzeichnis des Clients entpackt werden kann, befindet sich das Programm NETSHARE.EXE. Damit lassen sich nun die Freigaben über ein Popup-Fenster ähnlich dem des Befehls NET.EXE einrichten; TAB oder SHIFT+TAB schaltet hierzu zwischen den einzelnen Eingabefeldern um. Ohne NETSHARE.EXE lassen sich die Freigaben nur innerhalb von Batchdateien oder auf der Kommandozeile einrichten; hierfür steht der Befehl NET SHARE zur Verfügung.

Bevor Freigaben erstellt werden, muss der Server-Dienst gestartet werden. SHARE.EXE wird bei der FreeDOS-Installation ins FreeDOS-Verzeichnis kopiert und sollte vor dem Starten des Serverdienstes auch geladen werden, da sonst nur Laufwerke und keine Verzeichnisse freigegeben werden können.

LH C:\FDOS\BIN\SHARE.EXE
LH NET START SERVER

Mit folgendem Befehl gibt man dann beispielsweise das Verzeichnis C:\USER mit Lesezugriff frei, es wird im Netz unter USER sichtbar. Falls ein Client sich mit dem Passwort "meinpw" anmeldet, erhält er hingegen Vollzugriff.

NET SHARE USER=C:\USER /FULL:meinpw /READ
Achtung: Vor und nach dem Gleichheitszeichen zwischen dem Freigabenamen und dem Pfad dürfen keine Leerzeichen stehen.

Auf anderen Rechner könnte dann beispielsweise dieser Befehl die Freigabe einem Laufwerk zuordnen, falls der Computername des FreeDOS-Servers "SERVER" ist:

NET USE G: \\SERVER\USER

Auf dem Server lässt sich die Freigabe USER wie folgt wieder aufheben:

NET SHARE USER /delete /yes

MS-Client nach Benutzung wieder entladen Bearbeiten

Wird das Netzwerk nicht mehr benötigt, kann der MS-Client komplett wieder entladen werden (vielen Dank für diesen Hinweis an mailto:ralf@backmagic.de). Ein Beispiel für eine NETSTOP.BAT:

@echo off

:: Netzwerkverbindungen und Freigaben trennen
C:\MSCLIENT\NET.EXE STOP /yes > nul

:: Den MS-Client mit den gespeicherten Informationen aus
:: C:\MSCLIENT\UNLOAD.MRK aus dem Speicher entfernen
:: RELNET.EXE ist Bestandteil der TSR Utilities
C:\MSCLIENT\RELNET.EXE /H /R C:\MSCLIENT\UNLOAD.MRK 

:: Nicht mehr benötigte Markierung löschen
del C:\MSCLIENT\UNLOAD.MRK

Die beiden Programme MARKNET und RELNET sind Bestandteil der TSR-Utilities (siehe Tools zur Speicheroptimierung). Das ZIP-Archiv mit den TSR-Utilities wird einfach mit

md c:\tsr
unzip tsrcom35.zip c:\tsr 

in ein separates Verzeichnis auf der Festplatte entpackt, eine besondere Installation ist nicht notwendig.

Damit kann man den MS-Client rückstandsfrei wieder aus dem Speicher entfernen. Eine Funktionsgarantie kann nicht gegeben werden; in jedem Falle sollte die nach dem entpacken der TSR-Utilities vorliegende Datei TSR.DOC (keine WinWord-Datei, sondern normaler ASCII-Text) gelesen werden, da sie viele nützliche Hinweise enthält.

ACHTUNG: Einige Netzwerkkartentreiber setzen die Register der Netzwerkkarten nicht zurück, wenn sie auf diese Weise entladen werden. Das führt bei einem erneuten Versuch, den Client zu laden, zum aufhängen des Rechners beim ersten Aufruf von NET USE ...

Abhilfe: Den Rechner mit [STRG] + [ALT] + [ENTF] neu starten, in hartnäckigen Fällen hilft der Resetknopf oder vielleicht ein besserer Netzwerktreiber. überhaupt sollte man sich immer um einen aktuellen Treiber für die Netzwerkkarte bemühen. Hilfestellung geben die Downloadseiten der jeweiligen Hersteller oder Suchseiten wie

http://www.drivershq.com/

http://www.treiber.de/

http://www.driverguide.com/

Ein weiteres Beispiel für den Einsatz der TSR-Utilities findet sich auf

http://www.backmagic.de/support/techtalk/preboot.htm


Client für die Internetnutzung vorbereiten Bearbeiten

Wie komme ich mit einem DOS-Rechner an den Kommunikations-Server heran?

Entgegen dem Readme.txt vom Workgroup Add-on gibt es keinen "Advanced Button". Man muss manuell in der tcputils.ini hinzufügen/ändern (hostname muss nur als Eintrag vorhanden sein.):

TCPUTILS.INI
; alle TCPIP_XIF ändern in TCPIP
[tcpglobal]
...
hostname=username 

;und einen neuen Eintrag hinzufügen
[dnr]
drivername=DNR$
bindings=TCPIP
;ip-Nummer ohne Punkte
nameserver0=0 0 0 0


Änderungen in der Autoexec.bat oder Netstart.bat:

... 
lh DNR.EXE
...

wenn er noch hochgeladen werden kann

Um den WWW Browser Arachne mit festem IP auf NDIS-Paket-Treibern aufzusetzen benötigt man die Datei DIS_PKT9.ZIP oder DIS_PKT11.ZIP Wichtig ist dort nur der Treiber DIS_PKT9.DOS oder DIS_PTK.DOS. Dazu editiert man wieder die PROTOCOL.INI und fügt folgende Zeilen hinzu.

[pktdrv]
drivername=PKTDRV$
bindings=ms$ne2000
intvec=0x63
novell=no

Der "intvec" ist der Software-Interrupt-Vektor, auf den Arachne aufsetzen. Diesen Wert wird im Setup Netzwerkkarte von Arachne automatisch gefunden.

Im Arbeitsverzeichnis (default c:\net) editiert man SYSTEM.INI. In dieser Datei die Zeile transport unter [network drivers] um den Eintrag um dis_pkt9.dos oder dis_pkt.dos erweitern. Die SYSTEM.INI wird auch unter FreeDOS ausgewertet.

Nun überprüfen wir an der Eingabeaufforderung mit

PING 192.168.0.1 

ob unter Server-Rechner erreichbar ist. Mit

PING www.freedos.org 

müsste nun auch die IP-Nummer aus dem Internet erscheinen. Wer will kann dann mit dieser IP-Nummer noch mal pingen, somit wird die Erreichbarkeit mit einer Geschwindigkeitsmessung ausgegeben.

Der FreeDOS-Rechner erscheint nun im Netzwerk unter dem Kommentar MS-DOS Peer Server. Wer will kann die Datei NET.EXE im Verzeichnis C:\NET mit einem Hex-Editor editieren. Von der Adresse 730EA bis Adresse 730FB findet man diesen Eintrag. Ich habe hier den Text FreeDOS PeerServer eingetragen, so das im Netzwerk hier FreeDOS PeerServer erscheint. Wer die von mir gepatchte Datei gerne haben möchte, der kann sich diese gerne hier downloaden (NETPATCH.ZIP). Natürlich kann hier auch ein Name eingetragen werden aber nicht länger als 18 Zeichen. Sollte hier jemand Fragen haben bitte eine eMail an mich (vogl.m at t-online dot de) schreiben.

Es gibt auch eine ins Deutsche umgeschriebene Version, so das alle Meldungen in Deutscher Sprache erscheinen. Diese liegt ebenfalls hier schon mit dem neuen Kommentarpatch FreeDOS PeerServer vor (net-de.zip). Nach dem entpacken die beiden Dateien NET.EXE und NET.MSG einfach in das Verzeichnis kopieren. Aus Sicherheitsgründen die bereits existierenden Dateien vorher bitte sichern.


Der MS-Client unter FreeDOS Bearbeiten

Möchte man TCP/IP unter FreeDOS nutzen. Für FreeDOS ist die Einrichtung des Clients mit einigen kleineren Besonderheiten verbunden.

Probleme mit der DOS-Version Bearbeiten

Diese Probleme bekommt man vor allem mit SHARE.EXE. Diese Datei befindet sich im FreeDOS-Verzeichnis C:\DOS\BIN. SHARE.EXE läuft aber nicht ohne weiteres unter FreeDOS, wenn man unter MS-Windows das Netzwerk nutzen möchte, dann man muss dem Programm zunächst mit VERSION=6.22 ein MS-DOS 6.22 vorgaukeln. Dazu muss VERSION in der CONFIG.SYS mit

VERSION=6.22 

angegeben werden.


Der grafische WWW-Browser Arachne Bearbeiten

Nachdem man den WWW-Browser Arachne durch die selbstentpackende Datei ins Verzeichnis Arachne entpackt hat startet man die Datei Setup.

Nun erscheinen drei Icons. Wir entscheiden uns für das mittlere Icon mir der Netzwerkkarte.

Es erscheint eine Begrüßung durch das Programm. Hier fahren wir einfach fort (das ganze ist relativ selbsterklärend). Nun sagt uns das Setup, das der Netzwerktreiber gefunden wurde.

Jetzt klicken wir mit dem Mauszeiger auf Manuell. In diesem Fenster machen wir nun alle Eintragungen. Wichtig ist, dass Arachne hier ein eigener Stack also eine eigene IP-Nr. zugewiesen wird, die noch nicht im Netzwerkvergeben ist.

Subnet-Mask ist 255.255.255.0

1. Nameserver ist 192.168.0.1

1. Gateway ist 192.168.0.1

alle anderen Eintragungen auf 0.0.0.0 setzten.

Das war auch schon alles. Nun speichern wir das ganze und wir landen anschließend auf der voreingestellten Startseite Arachne und haben es geschafft.

Weitere Seiten zum Thema Netzwerke unter FreeDOS Bearbeiten

Auf Grund der Tatsache, dass Microsoft etliche Dienste zum 1. September 2002 eingestellt hat und auch andere Links nicht mehr zur Verfügung standen, habe ich die benötigte Software hier hinterlegt.

http://486.eznos.org/

http://286eznos.org/

http://www.mwpms.uklinux.net/page5.htm

http://steve.fstower.com:8088/

Hier noch ein Link zum Thema Dokumentation Netzwerktechnologie

http://www.tecchannel.de/internet/209/index.html