Dieses HowTo ist noch unfertig.

Aktuelle Version erhaeltlich bei:
Hardy Buchholz <hardy@kool.f.eunet.de>

ALLGEMEINES
^^^^^^^^^^^



MARS_NWE (Martin Stovers Netware-Emulator)  ist  ein  Netware-Emulator
fuer  Linux  (und auch fuer  Unixware). Entstanden  ist  der  MARS_NWE
zuerst 1993  auf einer  USL1.1  und  wurde  spaeter (1994)  nach Linux
portiert. Die Anregung MARS_NWE  allgemein zugaenglich zu machen,  kam
durch LINWARE  (von  A.Dryak). Problematisch  bei  der Entwicklung vom
MARS_NWE ist der Umstand, dass  das NCP (Netware-Core-Protokoll) keine
oeffentliche Spezifikation hat, sondern zu den Novell-Interna gehoert.
Daher sind viele Funktionen eines "echten" Netware-Servers nur  schwer
realisierbar, und vieles beruht auf Vermutungen und ausprobieren.

Was kann MARS_NWE?
Inzwischen  realisiert  der  MARS_NWE die  wichtigsten  Services eines
echten Netware-Servers. Im Einzelnen heisst dies:

File-Services:
Natuerlich  steht  an  erster  Stelle  das  zur Verfuegung stellen von
Massenspeicher  und Dateien fuer  verschiedene  Clients. Hier  hat der
MARS_NWE gerade im heterogenen Netzwerk einiges zu bieten. Als Volumes
koennen  saemtliche  unter  Linux  mountbare  Filesysteme  freigegeben
werden. Interessant sind dabei  natuerlich  vor allem auch NFS-mounted
directorys,  CDROMS,  selbst  mit  Volker  Lendeckes  NCPFS gemountete
Netware-Volumes  eines   anderen  Servers  koennen  wieder  exportiert
werden, sowie selbverstaendlich alle auf  dem  Host  lokal vorhandenen
File-system-varianten.

Print-Services:
sind im MARS_NWE ebenfalls realisiert, allerdings in anderer Form, als
bei  Netware,  d.h.  es  existieren  keine  Printqueues,  die  mit den
Netware-Tools verwaltet werden koennen, sondern der  Druckauftrag wird
mittels Uebergabe-Vezeichnissen an den Linux-Spooler weitergereicht.

Routing:
Als  Router  ist  der MARS_NWE  besonders geeignet, da er weitesgehend
automatisch zwischen  den verschiedensten Welten als Router vermittelt
(u.a. auch ueber ISDN).

PIPE-Volumes:
Eine Besonderheit des  MARS_NWE sind die sogenannten PIPE-Volumes, die
im  Detail  weiter  unten erklaert  werden. Hiermit  kann man z.B. von
einem  Dos-Client   auf   Unix-Shellscripte   lesend  und   schreibend
zugreifen.


Schwachstellen, Probleme und TODO's




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
(<=1.3.60)  Kernelversionen  nutzbar  sein.  1.3.57  und   1.2.13  ist
ebenfalls eine fuer MARS_NWE geeignete  Kernelversion, aeltere (1.3.x)
sind   zum   Teil  problematisch,  wegen   Bug's   im   IPX-Code.  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  (mehr   dazu   im
KERNEL-HOWTO).

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. 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  Security-  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
^^^^^^^^^^^^^^



