Das Paket SAMBA_LPD besteht aus den einzelnen OPT-Paketen
Obwohl die vier OPT-Pakete zu einem Installations-Paket zusammengefasst sind, ist es möglich, sie einzeln zu aktivieren oder deaktivieren. Beim Deaktivieren verliert man natürlich die Funktionalität des entsprechenden OPT-Paketes. Eine Ausnahme ist OPT_NMBD, welches nicht ohne OPT_SAMBA läuft.
Wichtig: Bei Aktivierung von OPT_LPD ist unbedingt OPT_LPDSRV='no' zu setzen!
Die einzelnen OPT-Pakete sind in den folgenden Abschnitten beschrieben.
Mit OPT_SAMBA='yes' können Windows-Clients direkt über das SMB-Protokoll drucken. Es ist dann keine weitere Client-Software (bis auf den Druckertreiber) notwendig.
Wichtigste Voraussetzung zum Drucken über Samba ist aber immer die Einstellung von OPT_LPD='yes' !
Weiterhin ermöglicht dieses optionale Paket rudimentäre Fileserverfunktionen. Rudimentär deshalb, da fli4l keine Nutzerverwaltung hat und deshalb die Freigaben keinen Beschränkungen unterliegt. Wer einen ausgewachsenen File-Server benötigt, sollte dafür besser
verwenden. Die für dieses System intergrierte Samba-Version ist immer auf dem aktuellen Stand und hat weder Probleme mit grossen Partitionen noch mit dem Einsatz als Primary Domain Controller (PDC). Die Konfiguration lehnt sich an fli4l an und ist daher ähnlich einfach. Samba für fli4l ist vorrangig dafür gedacht, eine einfachere Druckerkonfiguration unter Windows zu ermöglichen.
Es ist möglich, Samba ohne Nmbd (NetBios NameServer, siehe OPT_NMBD) zu installieren, da beide zusammen sehr viel Platz verbrauchen.
Deshalb wurden die an sich zusammengehörigen Programme auf einzelne OPT- Pakete verteilt - OPT_SAMBA und OPT_NMBD. Auch wenn diese OPT-Pakete zusammen mit OPT_LPD in einem grossen Paket stecken, können sie so einzeln aktiviert werden. Eine Ausnahme ist OPT_NMBD, welches nicht ohne OPT_SAMBA läuft.
Wer auf die Anzeige in der Netzwerkumgebung unter Windows verzichten will, setzt OPT_SAMBA='yes' und OPT_NMBD='no'. Trotzdem die Druckerfreigaben dann unter Windows nicht angezeigt werden, ist ein Zugriff darauf möglich, wenn man den genauen Pfad kennt. Dazu gibt es weiter unten unter ``Einrichtung eines Windows-SMB-Clients bei aktiviertem Samba (OPT_SAMBA='yes')'' eine genauere Beschreibung.
Wer auf die Anzeige in der Netzwerkumgebung nicht verzichten möchte, setzt
OPT_SAMBA='yes' und OPT_NMBD='yes'.
Zur Firewall: Ist PF_INPUT_ACCEPT_DEF='yes'
(bzw.
PF6_INPUT_ACCEPT_DEF='yes'
für IPv6) gesetzt, dann werden in die
INPUT-Kette Regeln eingebaut, welche die Samba-Ports (137-139 und 445)
für den Zugriff aus den entsprechend konfigurierten Netzen (siehe hierzu die
Variablen SAMBA_BIND_ALL,
SAMBA_BIND_IPV4_x und
SAMBA_BIND_IPV6_x) öffnen. Bei
PF_INPUT_ACCEPT_DEF='no'
(bzw. PF6_INPUT_ACCEPT_DEF='no'
für
IPv6) müssen Sie sich selbständig darum kümmern, dass die Rechner aus Ihren
Netzwerken auf den Samba-Server zugreifen können.
Damit die Druckerfreigaben in der unter Windows definierten Arbeitsgruppe sichtbar werden, muss die Arbeitsgruppe für Samba mit der unter Windows definierten Arbeitsgruppe übereinstimmen. Wenn also unter Windows die Arbeitsgruppe ``workgroup'' heisst, muss diese Variable folgendermassen definiert werden:
SAMBA_WORKGROUP='workgroup'
Dies ist auch die Standard-Einstellung.
Von welchen Netzen aus ist der Zugriff auf Samba gestattet?
Mit diesem Parameter wird eingestellt, welche Netze auf Samba zugreifen dürfen. Samba ermittelt und berücksichtigt beim Erstellen einer neuen Konfiguration die internen Netze aus den Grundeinstellungen von fli4l. Aus Sicherheitsgründen wird nur Rechnern aus diesen Netzen ein Zugriff gestattet. Sollen Rechner aus anderen Netzen zugreifen dürfen, müssen diese hier gesondert konfiguriert werden. Es reicht dabei aus, nur die zusätzlichen Netze anzugeben. Die Angabe hat dabei in der Form
NETZWERKNUMMER/ANZAHL-DER-GESETZTEN-BITS-IN-NETMASK
zu erfolgen, also z.B. fuer Netze der Form 192.168.x.0:
SAMBA_TRUSTED_NETS='192.168.6.0/24'
Standard-Einstellung: SAMBA_TRUSTED_NETS=''
Mit dieser Variable kann eingestellt werden, ob Aktionen in den Dateien log.smb und log.nmb aufgezeichnet werden sollen. In welches Verzeichnis diese Dateien geschrieben werden, wird mittels SAMBA_LOGDIR bzw. durch den gewählten Installationstyp bestimmt. Die Variable sollte nur für die Fehlersuche auf 'yes' gesetzt werden, da die Log-Dateien je nach Einstellung von SAMBA_LOGDIR oder gewählter Installationsvariante in die RAM-Disk geschrieben werden und deshalb die Gefahr besteht, dass diese irgendwann überläuft. SAMBA_LOG gilt gleichermassen für OPT_SAMBA und OPT_NMBD, da OPT_NMBD ohne OPT_SAMBA nicht läuft. Wenn Ihr SAMBA_LOG='no' setzt, solltet Ihr dringend nachlesen, was dabei bei der Variable SAMBA_LOGDIR zu beachten ist.
Standard-Einstellung: SAMBA_LOG='no'
Das Log-Verzeichnis für die Dateien log.smb und log.nmb
Mit dieser Variable kann eingestellt werden, in welches Verzeichnis die Dateien log.smb und log.nmb geschrieben werden. Dabei kann die Variable entweder leer bleiben oder sie muss mit einem absoluten Pfad zu einem beschreibbaren Verzeichnis gefüllt werden. Ein absoluter Pfad beginnt immer mit einem '/'. Das Verzeichnis muss ausserdem bereits existieren. Bleibt die Variable leer, so entscheidet das Vorhandensein einer schreibbar unter /data eingehängten Partition darüber, wo die Logdateien abgelegt werden:
Existiert keine schreibbar unter /data eingehängte Partition (typischerweise alle Installationstypen ausser B), so wird bei leerer Variable SAMBA_LOGDIR nach /var/log (in die Ramdisk) geschrieben.
Existiert eine schreibbar unter /data eingehängte Partition (typischerweise Installationstyp B), so wird bei leerer Variable SAMBA_LOGDIR nach /data (die Datenpartition) geschrieben.
Wenn die Variable gefüllt ist, dann werden die Dateien log.smb und log.nmb in das angegebene Verzeichnis geschrieben, wenn dieses Verzeichnis beschreibbar ist. Es macht keinen Sinn, hier eventuell eine nur lesbar eingebundene Opt-Partition anzugeben. Wenn die Logdateien nicht geschrieben werden können, startet Samba eventuell nicht. Ihr solltet also einen triftigen Grund haben und sehr genau nachdenken, bevor Ihr SAMBA_LOGDIR füllt.
Wenn Ihr SAMBA_LOG='no' setzt, muss die Variable SAMBA_LOGDIR entweder leer gelassen werden oder aber auf ein Verzeichnis verweisen, welches auf einem Linux-Dateisystem (minix, ext2, ext3) liegt, da bei SAMBA_LOG='no' log.smb und log.nmb nach /dev/null gelinkt werden und diese symbolischen Links nur dann sauber funktionieren. Wenn man also definitiv keine Samba-Logdateien und auch keine Links zu solchen in /var/log haben möchte, setzt man beispielsweise
SAMBA_LOG='no' SAMBA_LOGDIR='/tmp'
In den meisten Fällen ist SAMBA_LOGDIR='' die richtige Entscheidung, deshalb ist das auch die Standard-Einstellung.
Standard-Einstellung: SAMBA_LOGDIR=''
Diese Variable konfiguriert das Verzeichnis, in dem persistente Daten des Samba-Servers in so genannten TDB-Dateien gespeichert werden. In diesen Dateien wird u.a. vermerkt, welche Druckertreiber zum fli4l-Server hochgeladen wurden, siehe hierzu den Abschnitt ``Point'n'Print'' für Details. Auch die eigentlichen Druckertreiber werden unterhalb dieses Verzeichnisses abgelegt. Man kann diese Variable mit `auto' belegen; in diesem Fall wird vom fli4l ein passendes Verzeichnis auf einem persistenten Speichermedium erstellt und unterhalb von /var/lib/persistent/samba/db eingehängt.
Standard-Einstellung: SAMBA_TDBPATH='auto'
Beispiel: SAMBA_TDBPATH='/data/samba/tdb'
Diese Variable konfiguriert das so genannte Spool-Verzeichnis für eingehende Druckaufträge. Wird über das Samba-Protokoll gedruckt, landen die Druckdaten zuerst in dem hier eingestellten Verzeichnis bevor sie dann an den LPD-Druckserver weitergegeben werden. Man kann diese Variable mit `auto' belegen; in diesem Fall wird vom fli4l ein passendes Verzeichnis auf einem persistenten Speichermedium erstellt und unterhalb von /var/lib/persistent/samba/spool eingehängt.
Zu beachten ist, dass dieses Verzeichnis beim Starten des fli4l-Routers geleert wird. Man sollte also kein Verzeichnis einstellen, das noch andere, wichtige Daten enthält!
Standard-Einstellung: SAMBA_SPOOLPATH='auto'
Beispiel: SAMBA_SPOOLPATH='/data/samba/spool'
Mit SAMBA_BIND_ALL='yes'
wird der Samba-Server an allen
verfügbaren lokalen Netzwerk-Schnittstellen auf Anfragen ``horchen''. Falls
dies nicht gewünscht wird, muss SAMBA_BIND_ALL='no'
gesetzt werden;
zusätzlich muss man über die Arrays SAMBA_BIND_IPV4_% bzw.
SAMBA_BIND_IPV6_% die Netze konfigurieren, auf denen der
Samba-Server Anfragen beantworten soll.
Standard-Einstellung: SAMBA_BIND_ALL='no'
Ist SAMBA_BIND_ALL='no'
, so werden über dieses Array die IPv4-Netze
konfiguriert, innerhalb deren der Samba-Server Anfragen beantwortet.
Beispiel:
SAMBA_BIND_IPV4_N='1' SAMBA_BIND_IPV4_1='IP_NET_1'
Standard-Einstellung: SAMBA_BIND_IPV4_N='0'
Ist SAMBA_BIND_ALL='no'
, so werden über dieses Array die IPv6-Netze
konfiguriert, innerhalb deren der Samba-Server Anfragen beantwortet.
Beispiel:
SAMBA_BIND_IPV6_N='1' SAMBA_BIND_IPV6_1='IPV6_NET_1'
Standard-Einstellung: SAMBA_BIND_IPV6_N='0'
Hier kann der fli4l-Druckername des Druckers am x'ten parallelen Druckerport (LPD_PARPORT_x_IO) in der Netzwerkumgebung eingestellt werden. Dazu muss selbstverständlich
OPT_NMBD='yes'
gesetzt sein, da sonst in der Netzwerkumgebung nichts angezeigt wird. Es dürfen hier Namen hinterlegt werden, die maximal 8 Zeichen lang sind und aus Buchstaben oder Zahlen bestehen. Umlaute und Sonderzeichen wie ä, ö, ü, ß, _, @, usw. sind nicht erlaubt!
Wenn die Variable leer bleibt, wird als Druckername der voreingestellte Name verwendet. Der voreingestellte Name für lokale Drucker an parallelen Ports ist prx, wobei das x für 1, 2, 3 usw., also für den ersten, zweiten, dritten Anschluss usw. steht.
Standard-Einstellung: LPD_PARPORT_1_SAMBA_NAME=''
Mit dieser Variable kann gesteuert werden, welche Rechner den lokalen Drucker am x'ten parallelen Port von fli4l nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes (inclusive aller Subnetze) auf den x'ten Drucker drucken (siehe LPD_PARPORT_x_IO). Bei zwei an fli4l angeschlossenen lokalen Druckern an parallelen Ports müssen LPD_PARPORT_1_SAMBA_NET und LPD_PARPORT_2_SAMBA_NET vorhanden sein.
Die Variable kann so gefüllt werden:
LPD_PARPORT_1_SAMBA_NET='192.168.6.2 192.168.0.1'
Bei zwei Netzen der Form 192.168.141.0/ 255.255.255.0 und 192.168.142.0/ 255.255.255.0 und einem Drucker am ersten parallelen Anschluss:
LPD_PARPORT_1_SAMBA_NET='192.168.141. 192.168.142.'
oder besser
LPD_PARPORT_1_SAMBA_NET='192.168.'
Hierbei ist unbedingt auf den Punkt am Ende zu achten!
Standard-Einstellung: LPD_PARPORT_1_SAMBA_NET=''
Hier kann der fli4l-Druckername des Druckers am x'ten USB-Druckerport in der Netzwerkumgebung eingestellt werden. Dazu muss selbstverständlich
OPT_NMBD='yes'
gesetzt sein, da sonst in der Netzwerkumgebung nichts angezeigt wird. Es dürfen hier Namen hinterlegt werden, die maximal 8 Zeichen lang sind und aus Buchstaben oder Zahlen bestehen. Umlaute und Sonderzeichen wie ä, ö, ü, ß, _, @, usw. sind nicht erlaubt!
Wenn die Variable leer bleibt, wird als Druckername der voreingestellte Name verwendet. Der voreingestellte Name für lokale Drucker an USB-Ports ist usbprx, wobei das x für 1, 2, 3 usw., also für den ersten, zweiten, dritten Anschluss usw. steht.
Standard-Einstellung: LPD_USBPORT_1_SAMBA_NAME=''
Mit dieser Variable kann gesteuert werden, welche Rechner den lokalen Drucker am x'ten USB-Port von fli4l nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes (inclusive aller Subnetze) auf den x'ten USB-Drucker drucken. Möchte man explizit Hosts oder Netze für die Ausgabe auf diese Drucker eintragen, gilt das unter LPD_PARPORT_x_SAMBA_NET beschriebene.
Standard-Einstellung: LPD_USBPORT_1_SAMBA_NET=''
Hier kann der fli4l-Druckername des Druckers an der x'ten LPD_REMOTE_x_IP in der Netzwerkumgebung eingestellt werden. Dazu muss selbstverständlich
OPT_NMBD='yes'
gesetzt sein, da sonst in der Netzwerkumgebung nichts angezeigt wird. Es dürfen hier Namen hinterlegt werden, die maximal 8 Zeichen lang sind und aus Buchstaben oder Zahlen bestehen. Umlaute und Sonderzeichen wie ä, ö, ü, ß, _, @, usw. sind nicht erlaubt!
Wenn die Variable leer bleibt, wird als Druckername der voreingestellte Name verwendet. Der voreingestellte Name für Remote-Drucker ist reprx, wobei das x für 1, 2, 3 usw., also für den ersten, zweiten, dritten Anschluss usw. steht.
Standard-Einstellung: LPD_REMOTE_1_SAMBA_NAME=''
Mit dieser Variable kann gesteuert werden, welche Rechner den Remote-Drucker von fli4l nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes (inclusive aller Subnetze) auf den x'ten Remote-Drucker an fli4l drucken (siehe LPD_REMOTE_x_IP). Möchte man explizit Hosts oder Netze für die Ausgabe auf diese Drucker eintragen, gilt das unter LPD_PARPORT_x_SAMBA_NET beschriebene.
Standard-Einstellung: LPD_REMOTE_1_SAMBA_NET=''
Hier kann der fli4l-Druckername des Druckers am x'ten LPD_SMBREMOTE_x_SERVER in der Netzwerkumgebung eingestellt werden. Dazu muss selbstverständlich
OPT_NMBD='yes'
gesetzt sein, da sonst in der Netzwerkumgebung nichts angezeigt wird. Es dürfen hier Namen hinterlegt werden, die maximal 8 Zeichen lang sind und aus Buchstaben oder Zahlen bestehen. Umlaute und Sonderzeichen wie ä, ö, ü, ß, _, @, usw. sind nicht erlaubt!
Wenn die Variable leer bleibt, wird als Druckername der voreingestellte Name verwendet. Der voreingestellte Name für SMB-Remote-Drucker ist smbreprx, wobei das x für 1, 2, 3 usw., also für den ersten, zweiten, dritten Anschluss usw. steht.
Standard-Einstellung: LPD_SMBREMOTE_1_SAMBA_NAME=''
Mit dieser Variable kann nun gesteuert werden, welche Rechner den SMB-Remote-Drucker von fli4l nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes (inclusive aller Subnetze) auf den x'ten SMB-Remote-Drucker an fli4l drucken (siehe LPD_SMBREMOTE_x_SERVER). Möchte man explizit Hosts oder Netze für die Ausgabe auf diese Drucker eintragen, gilt das unter LPD_PARPORT_x_SAMBA_NET beschriebene.
Standard-Einstellung: LPD_SMBREMOTE_1_SAMBA_NET=''
Wenn hier eine IP-Adresse oder ein Adressbereich aus dem lokalen Netz hinterlegt wird, haben die entsprechenden Rechner vollen Zugriff auf die fli4l-Ramdisk über das Netzwerk. Bei Verwendung von OPT_NMBD='yes' können diese Rechner über die Netzwerkumgebung von Windows auf fli4l zugreifen.
Hier ein Beispiel mit der IP-Adresse 192.168.6.2:
SAMBA_ADMINIP='192.168.6.2'
Will man mehreren Rechnern diesen Zugriff gestatten, hat man verschiedene Möglichkeiten:
- Eingabe der IP-Adressen in einer Zeile hintereinander durch Leerzeichen getrennt:
SAMBA_ADMINIP='192.168.6.2 192.168.6.3'
- Eingabe eines IP-Bereiches ohne Hostanteil:
SAMBA_ADMINIP='192.168.'
Hierbei ist unbedingt auf den Punkt am Ende zu achten!
Diese Variable sollte aus Sicherheitsgründen möglichst nur für die Fehlersuche gefüllt werden!
In der Standardeinstellung ist die fli4l-Ramdisk über die Netzwerkumgebung nicht sichtbar und nicht im Zugriff.
Standard-Einstellung: SAMBA_ADMINIP=''
Erstellung einer bestimmten Anzahl von Freigaben: z.B. '2'
Über SAMBA_SHARE_N wird die Anzahl der zu erstellenden bzw. zu benutzenden Freigaben eingestellt. Wenn die Freigaben nicht existieren, werden sie automatisch angelegt und wenn sie existieren, werden sie einfach benutzt. Das Erstellen von Freigaben ist normalerweise nur sinnvoll in Verbindung mit einem eingehängten Medium wie einer Festplatte, einem CD-ROM-Laufwerk oder einer Compact-Flash-Disk (siehe OPT_MOUNT).
Wird hier eine 2 eingegeben, müssen die folgenden Variablen
SAMBA_SHARE_NAME_1
SAMBA_SHARE_RW_1
SAMBA_SHARE_BROWSE_1
SAMBA_SHARE_PATH_1
SAMBA_SHARE_NET_1
und
SAMBA_SHARE_NAME_2
SAMBA_SHARE_RW_2
SAMBA_SHARE_BROWSE_2
SAMBA_SHARE_PATH_2
SAMBA_SHARE_NET_2
vorhanden und mit sinnvollen Werten gefüllt sein.
Standard-Einstellung: SAMBA_SHARE_N='0'
Mit SAMBA_SHARE_NAME_x wird der Name der x'ten Freigabe eingestellt. Unter diesem Namen ist die Freigabe zu erreichen bzw. bei aktiviertem OPT_NMBD in der Netzwerkumgebung von Windows-Rechnern sichtbar (siehe auch SAMBA_SHARE_BROWSE_x weiter unten).
Trotzdem unter Windows 12 Buchstaben und Umlaute für den Freigabenamen hinterlegbar sind, sollte man sich bei den Namen aus DOS-Kompatibilitätsgründen auf 8 Buchstaben ohne Umlaute beschränken, z.B.
SAMBA_SHARE_NAME_1='share1'
Außerdem sollten Freigabenamen im Netzwerk eindeutig sein, also nicht doppelt vorkommen. Dieser Name wird automatisch von fli4l an die Pfadangabe aus
SAMBA_SHARE_PATH_x
angehängt. Im Pfad aus dieser Variablen wird also versucht, ein Verzeichnis mit dem Namen "share" zu erstellen, wenn ein solches noch nicht existiert. Es ist zwingend erforderlich, dass die Partition, die auf diesen Pfad eingehängt ist, schreibbar eingebunden ist. Wenn das nicht der Fall ist, gibt es beim Booten eine Fehlermeldung. Existiert das Verzeichnis schon, wird es nicht überschrieben, damit schon abgelegte Daten erhalten bleiben.
Standard-Einstellung: SAMBA_SHARE_NAME_1='share1'
Soll die Freigabe beschreibbar sein: 'yes' oder 'no'
Über SAMBA_SHARE_RW_x wird eingestellt, ob die x'te Freigabe beschreibbar sein soll.
Wird hier 'no' gewählt, können Dateien von dieser Freigabe gelesen aber nicht dorthin gespeichert werden. Das ist vor allem bei Dateien sinnvoll, die man anderen zur Verfügung stellen möchte aber dabei unbedingt verhindern will, dass diese Dateien verändert oder sogar gelöscht werden.
Wird 'yes' gewählt, ist diese Freigabe für alle in der Variable
SAMBA_SHARE_NET_x]
eingestellten IP-Adressen oder Netzwerke oder wenn diese leer ist, für alle Rechner des internen Netzwerkes (inclusive aller Subnetze) les- und beschreibbar.
Standard-Einstellung: SAMBA_SHARE_RW_1='yes'
Soll die x'te Freigabe sichtbar sein: 'yes' oder 'no'
Mit SAMBA_SHARE_BROWSE_x wird eingestellt, ob die x'te Freigabe bei aktiviertem OPT_NMBD in der Netzwerkumgebung sichtbar sein soll oder nicht. Möchte man verhindern, dass andere User in der Netzwerkumgebung die Freigabe sehen und dadurch darauf zugreifen können, setzt man
SAMBA_SHARE_BROWSE_x='no'
Nutzer, die wissen, dass die Freigabe existiert, können trotzdem darauf zugreifen, indem sie z.B. unter Start/Ausführen
\\fli4l \sharename
eingeben. Dabei ist fli4l durch den Namen des fli4l-Routers zu ersetzen - wenn er davon abweicht - und "sharename" mit dem Namen, den man in SAMBA_SHARE_NAME_x eingetragen hat.
Standard-Einstellung: SAMBA_SHARE_BROWSE_1='yes'
Der Pfad zur x'ten Freigabe
Über SAMBA_SHARE_PATH_x der Pfad wird der Pfad zur x'ten Freigabe eingestellt.
Dazu ein Beispiel. Wenn man mittels
OPT_MOUNT='yes'
MOUNT_N='1'
MOUNT_1_DEV='hda4'
MOUNT_1_POINT='/usr/local/data'
MOUNT_1_FS='ext2'
MOUNT_1_CHECK='yes'
MOUNT_1_OPTION='rw'
die vierte primäre Partition der ersten Festplatte unter /usr/local/data in das Dateisystem eingehängt hat und eine einzelne Freigabe mit
SAMBA_SHARE_N='1'
SAMBA_SHARE_NAME_1='share1'
SAMBA_SHARE_RW_1='yes'
SAMBA_SHARE_BROWSE='yes'
erstellt hat, kann man mit
SAMBA_SHARE_PATH_1='/usr/local/data'
das Verzeichnis "share1" unter /usr/local/data erstellen und freigeben. Als Verzeichnisname wird der Inhalt der Variable
SAMBA_SHARE_NAME_1
also in diesem Fall
share1
benutzt. Wenn das Verzeichnis nicht existiert, wird es automatisch angelegt und wenn es existiert, wird es einfach benutzt. Es gibt im Moment keine Möglichkeit, einmal erstellte Verzeichnisse über die samba_lpd.txt zu löschen, da bei einer Fehleingabe die schon abgelegten Dateien gelöscht werden würden. Die im Verzeichnis liegenden Dateien können bei aktiviertem und konfigurierten
OPT_NMBD
über den Explorer gelöscht werden, wenn die Freigabe in der Variablen
SAMBA_SHARE_RW_1
schreibbar definiert wurde; das Verzeichnis selbst nur über die Kommandozeile.
Standard-Einstellung: SAMBA_SHARE_PATH_1='/usr/local/data'
Mit dieser Variable kann gesteuert werden, welche Rechner die x'te Freigabe nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes (inclusive aller Subnetze) auf die Freigabe zugreifen.
Die Variable kann wie SAMBA_ADMINIP gefüllt werden.
- Eingabe der IP-Adressen in einer Zeile hintereinander durch Leerzeichen getrennt, z.B.:
SAMBA_SHARE_NET_1='192.168.6.2 192.168.0.1'
Bei zwei Netzen der Form 192.168.141.0/255.255.255.0 und 192.168.142.0/255.255.255.0
- Eingabe eines IP-Bereiches ohne Hostanteil:
SAMBA_SHARE_NET_1='192.168.141. 192.168.142.'
oder besser
SAMBA_SHARE_NET_1='192.168.'
Hierbei ist unbedingt auf den Punkt am Ende zu achten!
Standard-Einstellung: SAMBA_SHARE_NET_1=''
Erstellung einer bestimmten Anzahl von Freigaben für CDROMs: z.B. '2'
Über SAMBA_CDROM_N wird die Anzahl der zu erstellenden Freigaben für eingebaute CD-ROM-Laufwerke eingestellt.
Diese, die folgenden Variablen und die dazugehörigen Erweiterungen des Scripts rc.samba wurden geschaffen, um die Freigabe von CDROMs etwas fehlertoleranter zu gestalten. Hatte man in Version 2.0pre2 versucht, ein CDROM-Laufwerk freizugeben, welches nicht eingehängt war oder hatte man einen falschen Pfad für die Freigabe angegeben, ging das natürlich schief. Das neue Script gibt im Zusammenhang mit den folgenden Variablen schon eingehängte CDROMs unter dem in OPT_MOUNT definierten Mountpoint frei oder erzeugt für noch nicht eingehängte CDROMs einen Mountpoint, und gibt den anschliessend frei.
Bei der letzten Variante wird das Laufwerk erst bei Bedarf (Zugriff über die Netzwerkumgebung) unter
/mnt/cdromx
eingehängt, wobei das x für das x'te CD-ROM steht. Man sollte deshalb darauf achten, dass eigene Mountpoints nicht mit diesen Angaben kollidieren. Wenn niemand mehr auf diese Freigabe zugreift, wird nach einiger Zeit das Laufwerk automatisch ausgehängt. Damit kann man die CDROM entnehmen, ohne sie manuell aushängen zu müssen, was sich vor allem bei CDROM-Servern mit mehreren Laufwerken anbietet, bei denen die CDs öfter mal gewechselt werden.
Wird bei SAMBA_CDROM_N eine 2 eingegeben, müssen die folgenden Variablen
SAMBA_CDROM_DEV_1 SAMBA_CDROM_NET_1
und
SAMBA_CDROM_DEV_2 SAMBA_CDROM_NET_2
vorhanden und mit sinnvollen Werten gefüllt sein.
Standard-Einstellung: SAMBA_CDROM_N='0'
Gerätename des CDROM-Laufwerks: z.B. 'sdc'
Hier wird das Gerät angegeben, welches freigegeben werden soll. Die Konventionen für Gerätenamen können in der Dokumentation zu OPT_MOUNT nachgelesen werden.
Mit dieser Variable kann gesteuert werden, welche Rechner das x'te CDROM-Laufwerk von fli4l nutzen dürfen. Man kann damit den Zugriff auf einzelne Rechner oder einzelne Subnetze beschränken. In der Standardeinstellung bleibt die Variable leer. Hiermit können alle Rechner des internen Netzwerkes ( inclusive aller Subnetze ) auf das x'te CDROM-Laufwerk an fli4l zugreifen. Bei zwei an fli4l angeschlossenen CDROM-Laufwerken müssen
SAMBA_CDROM_NET_1
und
SAMBA_CDROM_NET_2
vorhanden sein.
Die Variable kann wie SAMBA_ADMINIP gefüllt werden.
- Eingabe der IP-Adressen in einer Zeile hintereinander durch Leerzeichen getrennt:
SAMBA_CDROM_NET_1='192.168.6.2 192.168.0.1'
Bei zwei Netzen der Form 192.168.141.0/255.255.255.0 und 192.168.142.0/255.255.255.0 und einem CDROM-Laufwerk
- Eingabe eines IP-Bereiches ohne Hostanteil:
SAMBA_CDROM_NET_1='192.168.141. 192.168.142.'
oder besser
SAMBA_CDROM_NET_1='192.168.'
Hierbei ist unbedingt auf den Punkt am Ende zu achten!
Standard-Einstellung: SAMBA_CDROM_NET_1=''
Hiermit werden zusätzliche Tools für Samba installiert. Da immer wieder gefragt wurde, ob es möglich ist, Nachrichten an Windows-Clients zu senden oder Freigaben von Windows-Rechnern auf fli4l einzubinden, habe ich mich entschlossen, die entsprechenden Tools bereitzustellen.
Man kann bei Nutzung der Tools ohne weitergehende Kenntnisse einiges falsch machen. Wer nicht weiss, welche Gefahren zum Beispiel beim Einbinden von Freigaben auf fli4l drohen, sollte die Finger davon lassen. Ich habe mich bemüht, einige Fehlerquellen mit Skripten auszuschliessen, die das Ein- und Aushängen von Freigaben erledigen oder Nachrichten an einen, mehrere oder alle erreichbaren Windows-Clients senden.
Weiteren Support wird es dafür von mir aber nicht geben, lest daher die Beschreibung hier genau!
Es werden folgende zusätzliche Dateien bereitgestellt:
smbfs.o nls_iso8859-1.o nls_cp850.o nmblookup samba-netsend smbclient smbstatus
Die wichtigsten davon sind die Skripte, welche hier erklärt werden.
samba-netsend
Mit diesem Skript kann man interaktiv Nachrichten an SMB-Hosts versenden. Bei der Eingabe auf der Konsole erscheint folgende Ausgabe:
Send Message to SMB Hosts To which SMB Hosts the message should be send? Choice 1 -------- All SMB Hosts on configured Subnets on fli4l - type 'all'. Choice 2 -------- fli4l Samba Clients with active connections - type 'active'. Choice 3 -------- One ore more active SMB Hosts, type NETBIOS Names separated with a blank, for instance 'client1 client2':
Wie man hier sieht, gibt es im ersten Schritt 3 Auswahlmoeglickeiten:
/config/base.txt
zugreift, werden alle Netzwerkkarten, die hier konfiguriert sind, auch in die Samba-Konfiguration eingetragen. Hieraus wird nun die Information gewonnen, in welchen Netzen nach SMB-Rechnern gesucht werden muss und an alle diese Rechner (bis auf den fli4l-Rechner selbst) die noch zu definierende Nachricht verschickt. Dabei werden die ermittelten Broadcast-Adressen und die NETBIOS-Namen der Rechner ausgegeben, an die die Nachricht verschickt wurde.
Um diese Option zu waehlen, ist
all
einzugeben.
Hierzu ist
active
einzugeben.
Wurden die erforderlichen Angaben gemacht, kommen wir zum 2. Schritt:
Send Message to SMB Hosts
Which Message should be send? For instance 'fli4l-Samba-Server is going down in 3 Minutes ...':
Hier gibt man nun die Nachricht ein, die gesendet werden soll. Diese Nachricht wird nur auf Clients mit aktiviertem Nachrichtendienst ausgegeben. Der Nachrichtendienst ist auf Windows-NT, Windows-2000 und Windows XP normalerweise aktiviert und muss anderenfalls nachinstalliert/aktiviert werden. Unter Windows-9x-Clients wie Windows 98 oder Windows ME muss dazu das Programm WinPopUp laufen.
Standard-Einstellung: OPT_SAMBATOOLS='no'
Das ist das Programm zur Anzeige von Freigaben in der Netzwerkumgebung von Windows (benötigt OPT_SAMBA='yes'). Um die in OPT_SAMBA freigegebene Ramdisk, die fli4l-Drucker oder eigene Freigaben sichtbar zu machen, ist OPT_NMBD='yes' zu setzen.
Der SMB-Nameserver benötigt auf dem fli4l-Medium weitere 100 KB. Wenn der
Platz knapp wird, sollte man versuchen, ohne ihn
auszukommen und die Drucker über direkte Eingabe des Netzwerkpfades
einbinden, z.B. als \\fli4l\pr1
.
Eine genauere Beschreibung des Zusammenspiels der beiden optionalen Programme findet sich unter OPT_SAMBA.
Standard-Einstellung: OPT_NMBD='no'
Samba als Masterbrowser: 'yes' oder 'no'
Da der fli4l-Rechner bei vielen durchgehend läuft, ist es mitunter sinnvoll, ihn auch als Masterbrowser einzusetzen. Ein Masterbrowser ist in Windows-Netzwerken der Rechner, der eine Liste aller verfügbaren SMB- Server (wozu alle Windows-Rechner mit aktivierter Datei- und Druckerfreigabe gehören) führt. Die Windows-Clients erfahren also vom Masterbrowser, welche Rechner mit aktivierter Datei- und Druckerfreigabe sich im Netzwerk befinden. In Netzwerken mit einem NT- Server sollte man lieber NT diese Aufgabe überlassen. In Netzwerken mit ein paar WIN9x-Rechnern kann fli4l diese Aufgabe problemlos übernehmen.
Bei NMBD_MASTERBROWSER='yes' gewinnt fli4l die Wahl zum Masterbrowser gegen alle anderen Windowsmaschinen.
Standard-Einstellung: NMBD_MASTERBROWSER='no'
Samba als Domänen-Masterbrowser: 'yes' oder 'no'
Ich habe mich lange gesträubt, diese Variable mit in die Konfiguration aufzunehmen, da sie bei unsachgemässer Anwendung gefährlich ist. Aktiviert man diese Option nämlich in einem Netzwerk mit einem Domänen-Controller, der gleichzeitig immer auch Domänen-Masterbrowser ist, so ist das ein zuverlässiges Mittel, diesen Domänen-Controller zu sabotieren. In diesem Fall können die seltsamsten Effekte auftreten. Andererseits ist ein Domänen-Masterbrowser das sicherste Mittel, um netzübergreifendes Browsing zu realisieren (siehe cipe-HowTo).
Wann es notwendig wird, einen Domänen-Masterbrowser zu konfigurieren, ist nicht mit ein oder zwei Worten zu erklären. Zum Glück haben sich aber schon andere die Mühe gemacht, das verständlich darzustellen:
http://samba.sernet.de/dokumentation/browsing-2.html
Wichtig: Es ist ein konfigurierter WINS-Server notwendig, der allen
beteiligten Rechnern bekannt sein muss, damit das Ganze funktioniert!
Bei NMBD_DOMAIN_MASTERBROWSER='yes' versucht fli4l die Wahl zum Domänen-Masterbrowser zu gewinnen, was aber nur gelingt, wenn kein anderer Domänen-Masterbrowser existiert. Existiert ein anderer Domänen-Masterbrowser und diese Einstellung wurde gesetzt, werden definitiv Störungen im Netzwerk durch sogenannte Browse-Wars auftreten, bei denen beide Rechner versuchen, die Oberhand zu gewinnen. Wer also nicht genau weiss, ob in den beteiligten Netzen schon ein Domänen-Masterbrowser läuft, sollte die Finger von der Standardeinstellung lassen!
Standard-Einstellung: NMBD_DOMAIN_MASTERBROWSER='no'
Samba als WINS-Server: 'yes' oder 'no'
Um NETBIOS-Namen in Windows-Netzen aufzulösen, gibt es zwei Möglichkeiten. Die erste benutzt eine statische Auflösung mit der Datei lmhosts und ist wie die DNS-Namensauflösung mit der Datei hosts schwer zu pflegen. Deshalb wurde von Microsoft WINS entwickelt: Windows Internet Name Service
WINS hat den Vorteil, dass die NETBIOS-Namensauflösung per gerichteter Anfrage an einen WINS-Server passiert und nicht durch Broadcasts. Die WINS-Datenbank wird vom Server dynamisch aufgebaut, hat aber den Nachteil, dass der Server in den TCP/IP-Protokolleigenschaften auf jedem Client eingetragen werden muss. Samba hat diesen Server teilweise implementiert und damit steht er fli4l auch zur Verfügung.
Um fli4l als WINS-Server zu betreiben, ist OPT_SAMBA, OPT_NMBD und NMBD_WINSSERVER auf yes zu setzen und in den TCP/IP- Protokolleigenschaften der Netzwerkkarte auf der Lasche WINS-Konfiguration ``WINS-Auflösung aktivieren'' auszuwählen.
Unter WINS-Server Suchreihenfolge ist dabei die IP-Adresse des fli4- Rechners zu hinterlegen, welche mit ``Hinzufügen'' übernommen werden muss.
Obwohl man hier nur die Wahl zwischen WINS ODER DHCP hat, entbindet die Angabe der IP-Adresse des fli4l-WINS-Servers nicht von einer korrekten TCP/IP-Konfiguration, entweder über Angabe der IP-Adresse jedes Clients oder über DHCP.
In Netzwerken mit einem NT-Server, auf dem der WINS-Serverdienst aktiviert ist, sollte man lieber NT diese Aufgabe überlassen. Aber in Netzwerken mit ein paar WIN9x-Rechnern kann auch fli4l diese Aufgabe problemlos übernehmen.
NMBD_WINSSERVER='yes'
aktiviert diese Funktion. Bei installierten und aktiviertem OPT_DHCP wird bei
NMBD_WINSSERVER='yes'
die IP-Adresse des fli4l-Rechners als IP-Adresse des Wins-Servers an die Clients übergeben.
Standard-Einstellung: NMBD_WINSSERVER='no'
Die IP-Adresse des externen WINS-Servers für Samba
Wenn man, wie oben bereits erwähnt, in Netzwerken mit einem NT-Server arbeitet, sollte man diesem die Aufgabe überlassen, die WINS-Datenbank zu verwalten. Dabei kann man fli4l als WINS-Client konfigurieren. Der fli4l-Rechner versucht dann, sich bei dem konfigurierten WINS-Server zu registrieren. Hierbei ist darauf zu achten, dass fli4l nicht gleichzeitig als Server und Client konfiguriert werden kann - die Optionen
NMBD_WINSSERVER='yes'
und
NMBD_EXTWINSIP='IP-Adresse'
schliessen einander also aus. Die Erstellung eines Bootmediums funktioniert sicherheitshalber bei einer solchen Konfiguration nicht. In diesem Modus arbeitet Samba ausserdem als WINS-Proxy. Das ist von Vorteil, wenn sich nicht nur WINS-Clients im Netzwerk befinden, der WINS-Server in einem anderen Netzwerk liegt und nicht per Broadcast erreichbar ist und die Nicht-WINS-Clients aber eine NETBIOS-Namensauflösung benötigen. Hierbei fängt der fli4l-Rechner Broadcasts der Nicht-WINS-Clients auf, fragt den eingetragenen WINS-Server ab und schickt die Antwort per Broadcast an den anfragenden Rechner.
Wenn man den fli4l-Rechner als WINS-Client betreiben möchte, muss man ihm die IP-Adresse des externen WINS-Servers bekanntmachen, bei dem er sich registrieren soll. Voraussetzung dafür ist NMBD_WINSSERVER='no'.
Hier ein Beispiel mit der IP-Adresse 192.168.6.11:
NMBD_EXTWINSIP='192.168.6.11'
Bei installierten und aktiviertem OPT_DHCP wird die hier konfigurierte IP-Adresse als IP-Adresse des Wins-Servers an die Clients übergeben.
Standard-Einstellung: NMBD_EXTWINSIP=''
Mit OPT_LPD='yes' kann man fli4l auch als Druckerserver verwenden. Dabei werden lpd und eine oder mehrere Druckerqueues (je nach Anzahl der an fli4l angeschlossenen Drucker) in der Ramdisk des root-Filesystems oder auf die Festplatte installiert.
Wichtig: Damit das Drucken auch in einer Multi-User-Umgebung reibungslos
funktioniert, wird der lpd-Spooler verwendet. Dabei werden die zu
druckenden Daten in einem Spool-Verzeichnis zwischengelagert. Es wird
für jeden Drucker ein gesondertes Spool-Verzeichnis erstellt. Diese
Spoolverzeichnisse befinden sich im Hauptspeicher zusammen in der
Ramdisk des root-Filesystems oder, wenn vorhanden, auf einer eingebauten
Festplatte. Wenn beim Start von fli4l keine beschreibbare minix-, ext2- oder
ext3-Partition gefunden wird, welche nach /data eingehängt wurde, benutzt
jeder konfigurierte Drucker also die Ramdisk des root-Filesystems.
Bei gleichzeitigem Druck über 3 an fli4l hängende Drucker
werden die Spooldateien für alle 3 Drucker in dieser Ramdisk angelegt.
Man sollte dabei beachten, dass selbst bei kleinen Textdateien schon
grosse Druckjobs unter Windows entstehen und diese kurzzeitig
programmbedingt 2 mal in der Ramdisk liegen, wenn über Samba gedruckt wird.
Damit das Drucken beim Spoolen in der Ramdisk reibungslos funktioniert,
sollte man also genug Speicher im fli4l-Rechner haben - je mehr, desto
besser. Wer oft grosse Dokumente drucken muss oder nicht wenigstens 4 MB
Speicher allein für das Drucken übrig hat, sollte unbedingt eine
Festplatteninstallation benutzen, um die Funktion des Routers nicht durch
eine überlaufende Ramdisk zu beeinträchtigen.
Ja, Ihr habt richtig gelesen. Passt ein Druckjob nicht in die Ramdisk, kann
das dazu führen, dass der Router nicht mehr routet...
Beim Spoolen auf die Festplatte wird die Verarbeitung der Druckjobs durch den auf der Festplatte verfügbaren Speicherplatz limitiert. Dazu muss aber bei der Festplatteninstallation die Variante B ausgewählt worden sein, bei der eine ext3-Datenpartition angelegt und diese nach /data eingehängt wird.
Sollten Probleme beim Druck grosser Dateien auftreten und benutzt Ihr keine Festplatteninstallation, so habt Ihr zu wenig Speicher im Router.
Daumenregel: fli4l als Standard-Router benötigt ca. 10 MB Speicherplatz
(8 - 12, je nach Konfiguration). Bei 32 MB Arbeitsspeicher im Router steht
der Rest für das Drucken zur Verfügung - also 32 - 10 = 22 MB.
Beim Druck über Samba verringert sich der zur Verfügung stehende Platz noch
einmal um die Hälfte, da die Jobs zur Druckzeit 2 mal in der Ramdisk liegen:
Damit darf ein Job maximal 11 MB gross sein und bei 2 Jobs zur selben Zeit
hört der Router auf zu routen...
Ich empfehle für den Druck also dringend eine Festplatteninstallation.
Standard-Einstellung: OPT_LPD='no'
Diese Variable aktiviert oder deaktiviert die Protokollfunktion für den LPD-Druckserver. Es wird empfohlen, das Protokollierung nur dann zu aktivieren, wenn einer Fehlfunktion auf den Grund gegangen werden soll, weil das Protokoll recht viel Platz einnimmt.
Die Variable kann entweder die Werte `yes' oder `no' annehmen oder einen Zahlenwert zwischen 1 und 5, wobei ein höherer Wert eine detailliertere Protokollierung bedeutet. Die Einstellung `yes' ist äquivalent zu dem Wert 1.
Standard-Einstellung: LPD_DEBUG='no'
Beispiel: LPD_DEBUG='2'
In dieser Variable wird der Pfad der Datei vermerkt, in der die Aktionen des LPD-Druckservers bei eingeschalteter Protokollfunktion (siehe die Beschreibung der Variable LPD_DEBUG) gespeichert werden sollen. Des Weiteren ist der Wert `auto' möglich, der den Standardort der Protokolldatei, /var/log/lpd.log, auswählt.
Ist die Protokollierung mit Hilfe von LPD_DEBUG='no'
deaktiviert,
so ist der Inhalt dieser Variable nicht von Bedeutung.
Standard-Einstellung: LPD_DEBUG_FILE='auto'
Beispiel: LPD_DEBUG_FILE='/data/log/lpd.log'
Diese Variable konfiguriert das so genannte Spool-Verzeichnis des LPD-Druckservers für eingehende Druckaufträge. Alle Druckaufträge landen in dem hier eingestellten Verzeichnis, bevor sie vom LPD-Druckserver an den Drucker weitergegeben werden. Man kann diese Variable mit `auto' belegen; in diesem Fall wird vom fli4l ein passendes Verzeichnis auf einem persistenten Speichermedium erstellt und unterhalb von /var/lib/persistent/lpd/spool eingehängt.
Zu beachten ist, dass dieses Verzeichnis beim Starten des fli4l-Routers geleert wird. Man sollte also kein Verzeichnis einstellen, das noch andere, wichtige Daten enthält! Ferner ist zu beachten, dass der hier konfigurierte Pfad nicht derselbe sein darf wie der unter SAMBA_SPOOLPATH eingestellte (mit der Ausnahme, dass beide Variablen den Wert `auto' haben können), weil die beiden Spool-Verzeichnisse unterschiedliche Aufgaben erfüllen und unterschiedliche Zugriffseinstellungen benötigen.
Standard-Einstellung: LPD_SPOOLPATH='auto'
Beispiel: LPD_SPOOLPATH='/data/lpd/spool'
Diese Variable beinhaltet die Anzahl der Einträge im LPD_NETWORK_x-Array (siehe unten).
Beispiel: LPD_NETWORK_N='1'
Jeder Eintrag in diesem Array spezifiziert eine Host- oder Netzwerkadresse,
von der das Drucken über das LPD-Protokoll1.1 erlaubt
ist. Es sind direkte IPv4-Adressen wie 192.168.1.0/24
, symbolische
Adressen wie IP_NET_1
und Host-Referenzen wie @peacock
möglich.
Zu beachten ist, dass diese Einstellung nicht nötig ist, wenn lediglich über den Samba-Server auf den Drucker zugegriffen werden soll! Diese Einstellung ist nur relevant, wenn über das LPD-Protokoll gedruckt werden soll, und ist vornehmlich nur für Linux- und Mac-Rechner interessant. Für Windows-Rechner ist es bequemer, über Samba zu drucken, da die ``UNIX-Druckdienste'' i.d.R. separat installiert werden müssen.
Beispiel:
LPD_NETWORK_1='IP_NET_1' LPD_NETWORK_2='192.168.1.0/24' LPD_NETWORK_3='@client'
Mit OPT_LPD_PARPORT='yes' wird bestimmt, dass lokale parallele Druckerports genutzt werden sollen. Wenn man nur USB-Drucker oder Remote-Drucker betreiben möchte, kann man die Variable auf ihrer Voreinstellung belassen:
Standard-Einstellung: OPT_LPD_PARPORT='no'
Über LPD_PARPORT_N wird die Anzahl der zu benutzenden lokalen parallelen Druckerports eingestellt. Bei einem Drucker an der ersten parallelen in der samba_lpd.txt konfigurierten Schnittstelle ist
LPD_PARPORT_N='1'
einzutragen. Bei 2 Druckerports ist LPD_PARPORT_N zu inkrementieren, also
LPD_PARPORT_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen LPD_PARPORT_1_IO, LPD_PARPORT_1_IRQ LPD_PARPORT_1_DMA und LPD_PARPORT_2_IO, LPD_PARPORT_2_IRQ LPD_PARPORT_2_DMA
und, wenn zusätzlich Samba genutzt wird, auch
LPD_PARPORT_1_SAMBA_NET, LPD_PARPORT_2_SAMBA_NET,
und, wenn Samba-Druckernamen vergeben werden sollen, auch
LPD_PARPORT_1_SAMBA_NAME, LPD_PARPORT_2_SAMBA_NAME,
vorhanden sein.
Standard-Einstellung: LPD_PARPORT_N='1'
Mit LPD_PARPORT_x_IO wird der x'te lokale parallele Druckerport eingestellt. Bei 2 Druckern an 2 parallelen Schnittstellen von fli4l müssen 2 Einträge mit den möglichen Werten
existieren, also z.B.
LPD_PARPORT_1_IO='0x378'
und
LPD_PARPORT_2_IO='0x278'
Wichtig: Bisher wurden nur parallele Schnittstellen auf dem Mainboard
oder auf ISA-Schnittstellenkarten mit den oben beschriebenen möglichen
Werten unterstützt. PCI-Karten mit parallelen Schnittstellen konnten
nicht verwendet werden.
Diese Version hier erlaubt auch die Konfiguration von parallelen
Schnittstellen auf bestimmten PCI-Karten mit NETMOS-Chips.
Hierzu muss man sich mittels
cat /proc/pcidie erkannten PCI-Geräte anzeigen lassen. Hier sucht man das Gerät mit der passenden Vendor-ID und Device-ID und wählt als io-Adresse den oder die folgenden Einträge aus:
Die Konfigurationsmöglichkeit wurde eingebaut, ohne entsprechende Hardware zum Testen zur Verfügung zu haben. Daher ist das als experimentelles Feature zu betrachten. Bei Fehlern bitte ausführliche Informationen in die Newsgroup posten!
Man sollte sich vor der Konfiguration unbedingt vergewissern, auf welche io-Adressen die eingebauten Schnittstellen eingestellt sind, da der Druck sonst nicht funktioniert. Die io-Adressen kann man entweder im BIOS seines Rechners einstellen oder sie sind bei sehr alten Rechnern nicht konfigurierbar, werden aber beim Booten angezeigt. Zusätzlich verbaute Ports lassen sich meist über Jumper auf der io- Karte einstellen und werden in der (hoffentlich noch vorhandenen Dokumentation) zur Einstellung der Druckerports beschrieben.
Ausserdem ist darauf zu achten, dass bei OPT_LCD='yes' die hier eingestellten Adressen in der samba_lpd.txt nicht mit der dort eingestellten io-Adresse in LCD_ADDRESS kollidieren. Dieser Konflikt verhindert die Erstellung eines Bootmediums!
Standard-Einstellung: LPD_PARPORT_1_IO='0x378'
Über LPD_PARPORT_x_IRQ wird eingestellt, ob im Interruptbetrieb gedruckt werden soll, was den Prozessor entlastet. Dazu muss bei Schnittstellen auf dem Mainboard oder auf ISA-Karten aber im Rechnerbios oder per Jumperbelegung in jedem Fall der ECP/EPP-Modus konfiguriert werden. Der Interruptbetrieb wird so aktiviert:
LPD_PARPORT_1_IRQ='yes'
Will man diesen Modus nicht nutzen, so ist
LPD_PARPORT_1_IRQ='no'
zu setzen und bei Schnittstellen auf dem Mainboard oder auf ISA-Karten im Rechnerbios oder per Jumperbelegung in jedem Fall der Normal- oder SPP-Modus zu konfigurieren. Wenn etwas nicht funktioniert, sollte auf jeden Fall erst einmal mit
LPD_PARPORT_1_IRQ='no'
getestet werden!
Standard-Einstellung: LPD_PARPORT_1_IRQ='no'
Über LPD_PARPORT_x_DMA wird eingestellt, ob im DMA-Betrieb gedruckt werden soll, was den Prozessor entlastet. Dazu muss bei Schnittstellen auf dem Mainboard oder auf ISA-Karten aber im Rechnerbios oder per Jumperbelegung in jedem Fall der ECP/EPP-Modus konfiguriert werden. Der Interruptbetrieb wird so aktiviert:
LPD_PARPORT_1_DMA='yes'
Voraussetzung dafür ist
LPD_PARPORT_1_IRQ='yes'
Will man diesen Modus nicht nutzen, so ist
LPD_PARPORT_1_DMA='no'
zu setzen und bei Schnittstellen auf dem Mainboard oder auf ISA-Karten im Rechnerbios oder per Jumperbelegung in jedem Fall der Normal- oder SPP-Modus zu konfigurieren. Wenn etwas nicht funktioniert, sollte auf jeden Fall erst einmal mit
LPD_PARPORT_1_DMA='no'
getestet werden!
Standard-Einstellung: LPD_PARPORT_1_DMA='no'
Mit OPT_LPD_USBPORT='yes' wird bestimmt, dass lokale USB-Druckerports genutzt werden sollen.
Ausserdem muss die generelle Unterstützung für USB-Drucker im separaten Paket OPT_USB eingeschaltet werden. Je nach Treiber sieht das so aus:
OPT_USB='yes' USB_LOWLEVEL='uhci' USB_PRINTER='yes'
oder so:
OPT_USB='yes' USB_LOWLEVEL='usb-ohci' USB_PRINTER='yes'
Wichtig: Die Konfigurationsmöglichkeit für USB-Drucker wurde eingebaut,
ohne entsprechende Hardware zum Testen zur Verfügung zu haben. Daher
ist das als experimentelles Feature zu betrachten. Bei Fehlern bitte
ausführliche Informationen in die Newsgroup posten!
Viele USB-Drucker sind GDI-Drucker. GDI-Drucker können nicht angesprochen
werden. Ich werde nur Fragen zu Problemen mit USB-Druckern beantworten,
aus denen hervorgeht, dass Ihr ausgeschlossen habt, dass der betroffene
Drucker ein GDI-Drucker ist!
Wenn man nur Drucker an parallelen Schnittstellen oder Remote-Drucker betreiben möchte, kann man die Variable auf ihrer Voreinstellung belassen:
Standard-Einstellung: OPT_LPD_USBPORT='no'
Über LPD_USBPORT_N wird die Anzahl der zu benutzenden lokalen USB-Druckerports eingestellt. Bei einem Drucker an der ersten USB-Schnittstelle ist
LPD_USBPORT_N='1'
einzutragen. Bei 2 USB-Druckerports ist LPD_USBPORT_N zu inkrementieren, also
LPD_USBPORT_N='2'
Weiterhin müssen bei Nutzung von Samba die korrespondierenden Einstellungen LPD_USBPORT_1_SAMBA_NET und LPD_USBPORT_2_SAMBA_NET und, wenn Samba-Druckernamen vergeben werden sollen, auch LPD_USBPORT_1_SAMBA_NAME und LPD_USBPORT_2_SAMBA_NAME vorhanden sein.
Wichtig: Wenn mehr als ein USB-Drucker verwendet wird, ist darauf zu
achten, dass durch die Reihenfolge des Einschaltens der Drucker bestimmt
wird, welcher Drucker der erste und welcher Drucker der zweite
USB-Drucker wird.
Der zweite USB-Drucker wird ausserdem automatisch zum ersten Drucker,
wenn der erste USB-Drucker überhaupt nicht eingeschaltet wird.
Wenn es sich um unterschiedliche Drucker-Modelle handelt,
die unterschiedliche Treiber auf dem Client benötigen, kann es dadurch
passieren, dass auf dem gewählten Drucker nur Zeichensalat ausgegeben
wird, da der Druckjob in der Druckersprache des anderen Druckers
formatiert wurde.
Standard-Einstellung: LPD_USBPORT_N='1'
Mit OPT_LPD_REMOTE='yes' wird bestimmt, dass Remote-Drucker (entfernte Drucker) genutzt werden sollen. Wenn man nur Drucker an lokalen parallelen oder an lokalen USB-Schnittstellen betreiben möchte, kann man die Variable auf ihrer Voreinstellung belassen:
Standard-Einstellung: OPT_LPD_REMOTE='no'
Über LPD_REMOTE_N wird die Anzahl der zu konfigurierenden Remote-Drucker eingestellt. Damit ist es möglich, einen Druckauftrag von einem Client an fli4l zu schicken, der diesen Druckauftrag seinerseits an einen entfernten LPD-kompatiblen Printserver weiterleitet.
Das Ganze funktioniert auch im Zusammenspiel mit Samba. Wenn man einen Remote-Drucker über einen entfernten Printserver über fli4l ansprechen möchte, ist
LPD_REMOTE_N='1'
einzutragen. Bei 2 entfernten Printservern oder einem entfernten Printserver mit 2 Druckerwarteschlangen ist LPD_REMOTE_N zu inkrementieren, also
LPD_REMOTE_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
und, wenn zusätzlich Samba genutzt wird, auch
vorhanden sein.
Standard-Einstellung: LPD_REMOTE_N='0'
Mit LPD_REMOTE_x_IP wird die IP des x'ten Remote-Printservers eingestellt.
In der Standardeinstellung wird von einem zweiten fli4-Rechner ausgegangen, der unter der IP 192.168.6.99 erreichbar ist.
Standard-Einstellung: LPD_REMOTE_1_IP='192.168.6.99'
Mit LPD_REMOTE_x_PORT wird der Port des x'ten Remote-Druckers eingestellt. Diese Variable ist nur zu füllen, wenn auf Printserver gedruckt werden soll, die es erlauben, Daten per ftp oder netcat an sie zu schicken. Möchte man Printserver ansteuern, die das lpd-Protokoll verstehen, ist diese Variable leer zu lassen und statt dessen LPD_REMOTE_x_QUEUENAME zu füllen. Es ist also ENTWEDER LPD_REMOTE_x_PORT ODER LPD_REMOTE_x_QUEUENAME zu füllen und niemals beides gleichzeitig! Eine von beiden Variablen muss aber gefüllt werden.
Ob Euer Printserver zu der einen oder anderen Kategorie gehört, entnehmt Ihr bitte dem mitgelieferten Handbuch oder der Webseite des Herstellers. Eine unvollständige Übersicht findet Ihr unter
http://www.lprng.com/LPRng-Reference/LPRng-Reference.html#AEN4990
Ich habe nicht die Zeit, Euch diese Informationen herauszusuchen, recherchiert also bitte selbst.
In der Standardeinstellung wird beim dritten Remoteprinter repr3 von einem HP JetDirect Printserver (Interfacekarte) mit der IP 192.168.6.100 ausgegangen, der über den Port 9100 erreicht werden kann (wie man unter dem obigen Link nachlesen kann, wäre der aber auch über den Warteschlangennamen raw zu erreichen...).
Hier noch ein Hinweis: Ist der entsprechende Drucker zum Zeitpunkt der Druckjob-Erzeugung nicht erreichbar oder ist der Printserver, an dem der Drucker hängt, abgeschaltet, so läuft der lpd auf einen Timeout und der Job kann nicht verarbeitet werden. Dieser Job kann mit dem lprm-Kommando nicht gelöscht werden und verbleibt bis zu Neustart des Routers in der Warteschlange!
Standard-Einstellung: LPD_REMOTE_3_PORT='9100'
Mit LPD_REMOTE_x_QUEUENAME wird der Warteschlangenname des x'ten Remote-Druckers eingestellt.
Diese Variable ist nur zu füllen, wenn auf Printserver gedruckt werden soll, die das lpd-Protokoll verstehen. Möchte man Printserver ansteuern, die es erlauben, Daten per ftp oder netcat an sie zu schicken, ist diese Variable leer zu lassen und statt dessen LPD_REMOTE_x_PORT zu füllen. Es ist also ENTWEDER LPD_REMOTE_x_QUEUENAME ODER LPD_REMOTE_x_PORT zu füllen und niemals beides gleichzeitig! Eine von beiden Variablen muss aber gefüllt werden.
Ob Euer Printserver zu der einen oder anderen Kategorie gehört, entnehmt Ihr bitte dem mitgelieferten Handbuch oder der Webseite des Herstellers. Eine unvollständige Übersicht findet Ihr unter
http://www.lprng.com/LPRng-Reference/LPRng-Reference.html#AEN4990
Ich habe nicht die Zeit, Euch diese Informationen herauszusuchen, recherchiert also bitte selbst.
In der Standardeinstellung wird von einem zweiten fli4-Rechner ausgegangen, dessen Warteschlangenname des ersten Druckers pr1 lautet.
Standard-Einstellung: LPD_REMOTE_1_QUEUENAME='pr1'
Mit OPT_LPD_SMBREMOTE='yes' wird bestimmt, dass SMB-Remote-Drucker (entfernte SMB-Drucker) genutzt werden sollen. Das können freigegebene Drucker an Windows- oder Samba-Rechnern sein.
Wichtig: Die Konfiguration dieser Drucker macht nur einen Sinn, wenn diese entfernten
SMB-Drucker zum Druckzeitpunkt eingeschaltet sind - ein Spoolen und
Abspeichern der Druckjobs bis zur Wiederinbetriebname der entfernten Rechner
mit diesen Druckfreigaben ist bedingt durch die Realisierung als
Vorfilterskript für den lpd leider nicht möglich.
Wenn man nur Drucker an lokalen parallelen, lokalen USB-Schnittstellen oder an Remote-LPD-Printern betreiben möchte, kann man die Variable auf ihrer Voreinstellung belassen:
Standard-Einstellung: OPT_LPD_SMBREMOTE='no'
Über LPD_SMBREMOTE_DEBUGLEVEL wird die Anzahl von Debugmeldungen eingestellt, die beim Druck auf SMB-Remote-Printer geloggt werden sollen. Es wird immer nur der Druck einer Datei geloggt, die Logdatei /tmp/smb-print.log wird bei jedem Job neu überschrieben. Bei LPD_SMBREMOTE_DEBUGLEVEL='0' wird nicht geloggt. Wenn Probleme auftreten, sollte ein höherer Wert eingestellt werden, um anhand der Meldungen in /tmp/smb-print.log den Fehler eingrenzen zu können.
Standard-Einstellung: LPD_SMBREMOTE_DEBUGLEVEL='0'
Über LPD_SMBREMOTE_N wird die Anzahl der zu konfigurierenden SMB-Remote-Drucker eingestellt. Damit ist es möglich, einen Druckauftrag von einem Client an fli4l zu schicken, der diesen Druckauftrag seinerseits an eine entfernten SMB-Druckerfreigabe weiterleitet.
Das Ganze funktioniert auch im Zusammenspiel mit Samba. Wenn man einen SMB-Remote-Drucker über einen entfernten Windows- oder Samba-Rechner über fli4l ansprechen möchte, ist
LPD_SMBREMOTE_N='1'
einzutragen. Bei 2 entfernten Windows- oder Samba-Rechnern oder einem entfernten Windows- oder Samba-Rechner mit 2 Druckerfreigaben ist LPD_SMBREMOTE_N zu inkrementieren, also
LPD_SMBREMOTE_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
und, wenn zusätzlich Samba genutzt wird, auch
vorhanden und korrekt gefüllt sein.
Standard-Einstellung: LPD_SMBREMOTE_N='0'
Mit LPD_SMBREMOTE_x_SERVER wird der NETBIOS-Name des Rechners mit der x'ten Druckerfreigabe eingestellt. Dieser Name ist notwendig, da per smbclient gedruckt wird.
In der Standardeinstellung wird von einem NT-Rechner mit dem NETBIOS-Namen ``ente'' ausgegangen.
Standard-Einstellung: LPD_SMBREMOTE_1_SERVER='ente'
Mit LPD_SMBREMOTE_x_SERVICE wird der Name der x'ten Druckerfreigabe des SMB-Remote-Druckers eingestellt. In der Standardeinstellung wird von dem Drucker-Freigabenamen ``pr2'' ausgegangen.
Standard-Einstellung: LPD_SMBREMOTE_1_SERVICE='pr2'
Mit LPD_SMBREMOTE_x_USER wird der Username mit Zugriff auf die x'te Druckerfreigabe eingestellt. In der Standardeinstellung wird von dem Usernamen ``king'' ausgegangen.
Standard-Einstellung: LPD_SMBREMOTE_1_USER='king'
Mit LPD_SMBREMOTE_x_PASSWORD wird das Passwort des x'ten Users mit Zugriff auf die Druckerfreigabe eingestellt. In der Standardeinstellung wird von dem Passwort ``kong'' ausgegangen.
Standard-Einstellung: LPD_SMBREMOTE_1_PASSWORD='kong'
Mit LPD_SMBREMOTE_x_IP wird die IP des Windows- oder Samba-Rechners mit der x'ten Druckerfreigabe eingestellt. In der Standardeinstellung wird von einem NT-Rechner ausgegangen, der unter der IP 192.168.0.6 erreichbar ist.
Standard-Einstellung: LPD_SMBREMOTE_1_IP='192.168.0.6'
Point'n'Print ist eine Windows-Technologie zur serverseitigen Verwaltung von Druckertreibern. Die Idee ist einfach: Ist ein Windows-Server gleichzeitig ein Druckerserver, bietet also Druckdienste an, dann ist es auch vernünftig, dass er auch die passenden Druckertreiber für den bzw. die angeschlossenen Drucker anbietet. Denn es ist unnötig aufwändig, auf jedem einzelnen Windows-Client die passenden Druckertreiber zu installieren. Point'n'Print ermöglicht genau dies: Zuerst lädt ein Administrator beliebig viele Treiber für beliebig viele Drucker und Rechnerarchitekturen auf den Druckerserver hoch. Ein normaler Benutzer kann sich später bei Bedarf mit einem Drucker auf diesem Server verbinden (also analog zu Dateifreigaben eine Druckerfreigabe nutzen), und der Windows-Client holt sich automatisch die passenden Druckertreiber vom Druckerserver und installiert diese lokal auf dem Client. Somit ist eine Nutzung des im Netzwerk freigegebenen Druckers schnell und ohne viel Installationsaufwand möglich.
Im Anhang wird erläutert, wie man die Point'n'Print-Konfiguration mit Hilfe eines Windows XP-Clients einrichtet.
Mit dieser Variable wird die Point'n'Print-Funktionalität aktiviert. Eine
Aktivierung erfordert OPT_SAMBA='yes'
und OPT_LPD='yes'
.
Standard-Einstellung: OPT_SAMBA_POINT_AND_PRINT='no'
Beispiel: OPT_SAMBA_POINT_AND_PRINT='yes'
Damit nicht jeder Benutzer beliebig Druckertreiber installieren oder deinstallieren kann (gerade letzteres ist i.d.R. unerwünscht), ist dies nur einem Drucker-Administrator gestattet. Der Name des Windows-Accounts, der eine solche Funktion übernimmt, ist hier vermerkt.
Beispiel: SAMBA_PRINT_ADMIN_NAME='pradmin'
Hier ist das Passwort des Windows-Accounts vermerkt, der die Funktion des Drucker-Administrators übernimmt.
Beispiel: SAMBA_PRINT_ADMIN_PASSWORD='geheim'
Die Einrichtung der fli4l-Drucker auf den Clients richtet sich erheblich danach, ob OPT_SAMBA aktiviert wurde oder nicht und ob bei aktiviertem OPT_SAMBA auch noch OPT_NMBD aktiviert wurde oder nicht. Ausserdem gibt es auch noch Unterschiede der Client-Betriebssysteme und ihrer Möglichkeiten zu beachten. Daher gibt es für jede Konfigurationsmöglichkeit einen eigenen Abschnitt.
Wenn Samba nicht genutzt wird, ist unter Windows NT 4.0/2000/XP für den Zugriff auf den LPD von fli4l die Installation der Druckdienste für Unix notwendig, da beim Drucken über den Standard-TCP/IP-Port von Windows ungeeignete Ports benutzt werden.
Die Druckdienste für Unix können über
Start/Einstellungen/Systemsteuerung/Software/Windows-Komponenten hinzufügen/Weitere Datei- und Druckdienste für das Netzwerk/Details/ Druckdienste für UNIX
hinzugefügt werden.
Damit ist ein neuer Druckerport mit dem Namen ``LPR Port'' verfügbar. Nun richtet man mit dem Druckerassistenten unter Windows NT 4.0/2000/XP einen neuen Drucker mit dem Treiber des an fli4l hängenden Druckers ein. Dazu geht man auf
Start/Einstellungen/Drucker
und macht einen Doppelklick auf ``Neuer Drucker''. Hier bestätigt man die Einleitung mit ``Weiter'', wählt ``Lokaler Drucker'' aus, deaktiviert ``Automatische Druckererkennung und Installation von Plug & Play-Druckern'' und bestätigt mit ``Weiter''. Unter ``Druckeranschluss auswählen'' aktiviert man ``Einen neuen Anschluss erstellen'' und wählt unter ``Typ'' den oben erstellten ``LPR Port''. Nachdem man diese Einstellungen mit dem Drücken von ``Weiter'' bestätigt hat, trägt man in das Feld ``Name oder Adresse des Servers für LPD'' die richtige IP-Adresse des fli4l-Rechners ein und schreibt in das Feld ``Name des Druckers oder der Druckerwarteschlange auf dem Server'' den Namen der richtigen Druckerqueue. Dabei ist ``prx'' für lokale Drucker an parallelen Ports, ``usbprx'' für lokale Drucker an USB-Ports, ``reprx'' für Remote-Drucker und ``smbprx'' für SMB-Remote-Drucker anzugeben, wobei das ``x'' für 1, 2, 3 für den ersten, zweiten, dritten Anschluss usw. steht. Auf dem nächsten Konfigurationsbildschirm wählt man auf der linken Seite den Hersteller des an fli4l hängenden Druckers und auf der rechten Seite den entsprechenden Typ aus und bestätigt abermals mit ``Weiter''. Im Feld ``Druckername'' kann man nun einen Namen für den Drucker festlegen. Unter Druckerfreigabe wählt man ``Diesen Drucker nicht freigeben'', da der Drucker am fli4l-Rechner freigegeben ist. Nach dem Klick auf ``Weiter'' verneint man die Frage, ob eine Testseite gedruckt werden soll, da noch nicht alle Einstellungen vorgenommen worden sind und bestätigt wieder mit ``Weiter''. Nun erscheint ein Fenster mit der Zusammenfassung der bisherigen Konfiguration. Wenn alles korrekt eingegeben wurde, drückt man ``Fertig stellen''. Nach dem Kopieren des Druckertreibers erscheint ein neues Icon für diesen Drucker im Druckerordner. Das Icon für den fli4l-Drucker klickt man mit der rechten Maustaste an und wählt aus dem Kontextmenü ``Eigenschaften''. Auf der Lasche ``Anschlüsse'' deaktiviert man ``Bidirektionale Unterstützung aktivieren''. Auf der Lasche ``Erweitert'' betätigt man die Schaltfläche ``Druckprozessor'' und stellt unter ``Druckprozessor'' ``WinPrint'', unter ``Standarddatentyp'' ``RAW'' ein und verlässt diese Dialogbox mit ``OK'' (bei Windows NT 4.0 ist hier noch ein Häckchen bei ``Raw-Datentyp immer spoolen'' zu setzen). Wieder auf der Lasche ``Erweitert'' aktiviert man ``Über Spooler drucken, um Druckvorgänge schneller abzuschliessen'' und ``Drucken beginnen, nachdem letzte Seite gespoolt wurde''. Bei ``Erweiterte Druckfunktionen aktivieren'' entfernt man den Haken, damit diese Funktionen nicht genutzt werden. Jetzt übernimmt man alle bisher gemachten Einstellungen mit der Schaltfläche ``Übernehmen'' und verlässt das komplette Konfigurationsfenster über ``OK'', da Windows NT 4.0/2000 die Einstellungen sonst nicht korrekt abspeichert.
Wenn nicht über Samba gedruckt werden soll, kann mit OPT_LPD lediglich ein Druckerserver für Unix-, Linux- und Windows-NT-Clients eingerichtet werden, da nur diese Betriebssysteme geeignete Client-Software mitbringen.
Inzwischen ist es aber auch von Windows9x/Me aus möglich, mit der Freeware- Version eines LPR-Clients zu drucken, ohne das den Platz auf dem Medium arg strapazierende SAMBA installieren zu müssen.
Download der LPR-Clients für Windows (es kann nicht garantiert werden, dass
die Seiten noch erreichbar sind):
ftp://ftp.informatik.uni-hamburg.de/pub/os/unix/utils/LPRng/WINDOWS/acitsplr/instlpr.exe
Dies ist die letzte freie (kostenlose) Version 3.4f des lpr-Clients für Privatanwender. Die aktuelle Version kostet Geld und findet man hier:
http://www.utexas.edu/academic/otl/software/lpr/
Die Installation und Konfiguration dieser Software wird für Windows 9x/Me und Windows NT 4.0/2000/XP in der Dokumentation zu OPT_LPDSRV beschrieben und wird hier nicht thematisiert. In diesem Abschnitt beschränken wir uns auf Betriebssysteme, die die LPR-Client-Funktionalität schon beinhalten.
Die Einrichtung eines Windows-Clients für den Druck über Samba läuft unterschiedlich ab, je nachdem, ob OPT_NMBD='no' oder OPT_NMBD='yes' gewählt wurde.
Bei OPT_NMBD='no' sind die fli4l-Drucker in der Netzwerkumgebung eines Windows-PCs nicht zu sehen. Trotzdem kann man sie über ihren UNC-Pfad anmelden.
Dazu ist es notwendig, einen Eintrag für den Router in der Datei hosts
vorzunehmen. Für diese Datei findet sich bei Windows 95, Windows 98 und
Windows Me ein Beispiel als host.sam im Windows-Verzeichnis, bei
Standard-Installationen also in C:\WINDOWS
, wobei die Endung sam für
Sample wie Beispiel steht. Unter Windows NT 4.0/2000/XP befindet sich die
Datei im Verzeichnis von Windows und dort im Verzeichnis
SYSTEM32\DRIVERS\ETC
, bei Standard-Installationen also in
C:\WINNT\SYSTEM32\DRIVERS\ETC
.
Hier der Inhalt der Datei von Windows 2000:
# Copyright (c) 1993-1999 Microsoft Corp. # # Dies ist eine HOSTS-Beispieldatei, die von Microsoft TCP/IP # für Windows 2000 verwendet wird. # # Diese Datei enthält die Zuordnungen der IP-Adressen zu Hostnamen. # Jeder Eintrag muss in einer eigenen Zeile stehen. Die IP- # Adresse sollte in der ersten Spalte gefolgt vom zugehörigen # Hostnamen stehen. # Die IP-Adresse und der Hostname müssen durch mindestens ein # Leerzeichen getrennt sein. # # Zusätzliche Kommentare (so wie in dieser Datei) können in # einzelnen Zeilen oder hinter dem Computernamen eingefügt werden, # aber müssen mit dem Zeichen '#' eingegeben werden. # # Zum Beispiel: # # 102.54.94.97 rhino.acme.com # Quellserver # 38.25.63.10 x.acme.com # x-Clienthost 127.0.0.1 localhost
Hier setzt man unter der letzten Zeile den Eintrag für den Router dazu. Wenn in der base.txt die IP-Adresse der Netzwerkkarte für das interne Netzwerk von fli4l z.B. so konfiguriert wurde
IP_NET_1='192.168.6.1/24'
und als Name des fli4l-Routers in
HOST_1='192.168.6.1 fli4l'
fli4l hinterlegt wurde, dann muss folgender Eintrag für die IP-Adresse und den Namen von fli4l vorgenommen werden:
192.168.6.1 fli4l
Nun speichert man die Datei unter dem Namen hosts ab. Dabei wird bei Benutzung von Notepad die Datei hosts.txt erzeugt. (Zur Kontrolle ist es notwendig, die Option ``Dateinamenserweiterung bei bekannten Dateitypen ausblenden'' unter Windows abzuschalten, da man diese nervige Eigenart von Notepad sonst nicht mitbekommt.) Damit die Datei wie erforderlich ``hosts'' heisst, muss man sie in ``hosts'' umbenennen. Nach einem Neustart von Windows sind die Vorbereitungen abgeschlossen.
Bei Erstellung eines neuen Druckers (Start/Einstellungen/Drucker/ Neuer
Drucker) ist ``Netzwerkdrucker'' auszuwählen. Bei ``Netzwerkpfad oder
Warteschlangenname'' gibt man
\\FLI4LNAME\DRUCKERNAME
an. Dabei ist ``FLI4LNAME'' durch den Namen des fli4l-Routers zu ersetzen
und DRUCKERNAME durch den Namen des Druckers. DRUCKERNAME ist dabei
je nach Art des Anschlusses (parallel, USB, Remote) unterschiedlich.
Hierbei gilt generell:
``prx'' steht für lokale Drucker an parallelen Ports, ``usbprx'' steht für
lokale Drucker an USB-Ports, ``reprx'' für Remote-Drucker und ``smbreprx''
für SMB-Remote-Drucker, wobei das x für 1, 2, 3, also für den ersten,
zweiten, dritten Anschluss usw. steht.
Um den ersten lokalen Drucker an einem parallelen Port auszuwählen, wäre also
\\fli4l\pr1
einzugeben, wenn Euer fli4l wirklich fli4l heisst.
Möglicherweise habt Ihr aber auch mittels LPD_PARPORT_x_SAMBA_NAME,
LPD_USBPORT_x_SAMBA_NAME, LPD_REMOTE_x_SAMBA_NAME
und LPD_SMBREMOTE_x_SAMBA_NAME eigene Windows-Druckernamen
vergeben, dann sind diese Namen für DRUCKERNAME einzugeben.
Bei bereits installierten Druckern kann man in den Druckereigenschaften
auf der Lasche ``Details'' analog zur vorher beschriebenen Vorgehensweise
den neuen Anschluss eintragen, der hinterher unter ``Anschluss für die Druckausgabe''
zuzuordnen ist. Die weiteren Einstellungen sind vom Betriebssystem abhängig:
Weiter für Windows 9x/Me:
Auf der Lasche ``Details'' sind ausserdem die ``Spool-Einstellungen'' zu bearbeiten, man setzt dort ``Druckaufträge in Warteschlange stellen ( Druckvorgang schneller )'' und ``Druck nach letzter Seite beginnen''. Unter Datenformat wählt man ``RAW'' und setzt ausserdem ``Bidirektionale Unterstützung deaktivieren''.
Weiter für Windows NT 4.0/2000/XP:
Auf der Lasche ``Anschlüsse'' deaktiviert man ``Bidirektionale Unterstützung aktivieren''. Auf der Lasche ``Erweitert'' betätigt man die Schaltfläche ``Druckprozessor'' und stellt unter ``Druckprozessor'' ``WinPrint'', unter ``Standarddatentyp'' ``RAW'' ein und verlässt diese Dialogbox mit ``OK'' (bei Windows NT 4.0 ist hier noch ein Häckchen bei ``Raw-Datentyp immer spoolen'' zu setzen). Wieder auf der Lasche ``Erweitert'' aktiviert man ``Über Spooler drucken, um Druckvorgänge schneller abzuschliessen'' und ``Drucken beginnen, nachdem letzte Seite gespoolt wurde''. Bei ``Erweiterte Druckfunktionen aktivieren'' entfernt man den Haken, damit diese Funktionen nicht genutzt werden. Jetzt übernimmt man alle bisher gemachten Einstellungen mit der Schaltfläche ``Übernehmen'' und verlässt das komplette Konfigurationsfenster über ``OK'', da Windows NT 4.0/2000/XP die Einstellungen sonst nicht korrekt abspeichert.
Bei OPT_NMBD='yes' sind die fli4l-Drucker in der Netzwerkumgebung des Windows-PCs sichtbar.
Bei Erstellung eines neuen Druckers (Start/Einstellungen/Drucker/ Neuer Drucker) ist ``Netzwerkdrucker'' auszuwählen. Bei ``Netzwerkpfad oder Warteschlangenname'' kann man den ``Durchsuchen''-Button benutzen. Hier findet man unter dem in der base.txt definierten Namen für den fli4l- Router (HOSTNAME='fli4l') Freigaben wie ``prx'', ``usbprx'', ``reprx'' oder ``smbreprx''. prx steht für lokale Drucker an parallelen Ports, usbprx steht für lokale Drucker an USB-Ports, reprx für Remote-Drucker und smbreprx für SMB-Remote-Drucker, wobei das x für 1, 2, 3, also für den ersten, zweiten, dritten Anschluss usw. steht. Möglicherweise habt Ihr aber auch mittels LPD_PARPORT_x_SAMBA_NAME, LPD_USBPORT_x_SAMBA_NAME und LPD_REMOTE_x_SAMBA_NAME eigene Windows-Druckernamen vergeben, dann sind diese Namen hier zu sehen. Bei bereits installierten Druckern kann man in den Druckereigenschaften auf der Lasche ``Details'' analog zur vorher beschriebenen Vorgehensweise den neuen Anschluss auswählen, der hinterher unter ``Anschluss für die Druckausgabe'' zuzuordnen ist.
Weiter für Windows 9x/Me:
Auf der Lasche ``Details'' sind ausserdem die ``Spool-Einstellungen'' zu bearbeiten, man setzt dort ``Druckaufträge in Warteschlange stellen (Druckvorgang schneller)'' und ``Druck nach letzter Seite beginnen''. Unter Datenformat wählt man ``RAW'' und setzt ausserdem ``Bidirektionale Unterstützung deaktivieren''.
Weiter für Windows NT 4.0/2000/XP:
Auf der Lasche ``Anschlüsse'' deaktiviert man ``Bidirektionale Unterstützung aktivieren''. Auf der Lasche ``Erweitert'' betätigt man die Schaltfläche ``Druckprozessor'' und stellt unter ``Druckprozessor'' ``WinPrint'', unter ``Standarddatentyp'' ``RAW'' ein und verlässt diese Dialogbox mit ``OK'' (bei Windows NT 4.0 ist hier noch ein Häckchen bei ``Raw-Datentyp immer spoolen'' zu setzen). Wieder auf der Lasche ``Erweitert'' aktiviert man ``Über Spooler drucken, um Druckvorgänge schneller abzuschliessen'' und ``Drucken beginnen, nachdem letzte Seite gespoolt wurde''. Bei ``Erweiterte Druckfunktionen aktivieren'' entfernt man den Haken, damit diese Funktionen nicht genutzt werden. Jetzt übernimmt man alle bisher gemachten Einstellungen mit der Schaltfläche ``Übernehmen'' und verlässt das komplette Konfigurationsfenster über ``OK'', da Windows NT 4.0/2000/XP die Einstellungen sonst nicht korrekt abspeichert.
Noch ein Hinweis dazu:
Auf dem Windows-Rechner muss das Netzwerkprotokoll TCP/IP installiert und konfiguriert sein. Als Standardeinstellung muss unter Windows ``NETBIOS over TCP/IP'' aktiviert sein, das Protokoll, welches Samba benutzt.
Auf einem Linux-Rechner kann der fli4l-Netzwerkdrucker in der Datei /etc/printcap eingetragen werden. Für neuere Drucksysteme wie CUPS siehe unten.
Beispiel (Name des Druckers: ``drucker''):
drucker:\ :lp=:\ :rm=fli4l:\ :rp=pr1:\ :sd=/var/spool/lpd/drucker:\ :sh:mx#0:
Dabei wird mit ``rm=fli4l'' der Rechnername des fli4l-Routers angegeben. Dieser ist gegebenenfalls anzupassen. Soll die Linux-Drucker-Queue anders heissen, ist ``drucker'' ebenfalls anzupassen.
Der Remote-Warteschlangenname in ``rp=pr1'' lautet wie folgt:
Wichtig: Nach Einfügen des Eintrages in der Datei /etc/printcap
muss das Verzeichnis /var/spool/lpd/drucker mit dem mkdir-Kommando
selbst eingerichtet werden.
Mit dem Kommando ``lpr -P drucker DATEINAME'' kann man nun Dateien vom Linux-Rechner über fli4l ausdrucken.
Viele neuere Distributionen verwenden alternative Drucksysteme und eigene Konfigurationstools, bei denen die oben beschriebene Konfiguration misslingt. Peter Schöne hat aus diesem Grund eine Beschreibung für die in Deutschland weit verbreitete Distribution SuSE (in der Version 8.1) beigesteuert:
Unter Suse 8.1 mit dem Standarddrucksystem CUPS ist die Einrichtung sehr viel komfortabler.
Unter YAST2 wählt man aus der Rubrik Hardware die Druckerkonfiguration. Falls man die lokalen Drucker bereits eingerichtet hat, kann man die automatische Erkennung getrost überspringen ;-) Im Fenster ``Druckereinrichtung'' wählt man den Button ``Konfigurieren...'', im darauffolgenden die Rubrik ``Mehr Anschlussmöglichkeiten zeigen...'' und bestätigt durch ``Weiter''. Es werden nun verschiedene Druckertypen angezeigt. Da es sich hier um ein LPD-kompatibles Paket handelt, wählt man gleich den ersten Eintrag ``LPD-Vorfilter- und -Weiterleitungs-Warteschlange''. Nach einer erneuten Bestätigung mit ``Weiter'' gelangt man zur eigentlichen Konfiguration: Man kann sich hier, wenn man unsicher ist, den Namen des Routers durch den Button ``Lookup''-``LPD-Servers'' automatisch eintragen lassen, oder die IP-Adresse des Routers direkt eingeben. In das zweite Feld kommt der Name der Druckerwarteschlange. Dabei ist beim ersten parallel an fli4l angeschlossenen Drucker ``pr1'', beim zweiten ``pr2'', beim dritten ``pr3'', bei per USB an fli4l angeschlossenen Druckern ``usbpr1'', ``usbpr2'' usw., bzw. für die remote von fli4l angesteuerten Drucker ``repr1'', ``repr2'' usw. bzw. ``smbrepr1'', ``smbrepr2'' für die SMB-Remote-Drucker einzutragen. Ein Klick auf den Button ``Entfernten LPD-Zugang testen'' zeigt, ob die Einstellungen korrekt sind. Wird dies bestätigt, kann man im Dialog mit ``Weiter'' fortfahren. Im folgenden Fenster wird ein Namen, unter dem der Drucker aus Anwendungen heraus druckt, vergeben. Die Felder ``Beschreibung des Druckers'' und ``Standort des Druckers'' bleiben leer. Es geht noch ``Weiter'' ... Man wählt nun den am Router angeschlossenen Drucker aus, bestätigt die Auswahl, entscheidet sich für die richtigen Treiber und schließt die gesamte Konfiguration mit einem Klick auf den Button ``Beenden'' und einer Bestätigung mit ``Ja'' ab. Der Drucker ist nunmehr vollständig eigerichtet und sollte aus den meisten Anwendungen heraus drucken.
Hier öffnet man in den ``Systemeinstellungen'' das ``Drucker Dienstprogramm'' und drückt ``Hinzufügen''. Dann wird ``TCP/IP - Drucker'' ausgewählt und als Druckertyp ``LPD/LPR''. Unter ``Druckeradresse'' wird die IP-Adresse des Routers eingetragen. Nun ist der ``Name der Warteliste'' anzugeben. Dieser heisst beim ersten parallel an fli4l angeschlossenen Drucker ``pr1'', beim zweiten ``pr2'' und beim dritten ``pr3'' bzw. bei per USB an fli4l angeschlossenen Druckern ``usbpr1'', ``usbpr2'' usw., bzw. bei den Remote-Druckern ``repr1'', ``repr2'' usw. bzw. bei den SMB-Remote-Druckern ``smbrepr1'', ``smbrepr2'' usw. Dann wählt man das Druckermodell aus der Auswahlliste und klickt zum Schluss auf ``Hinzufügen''.