31 SLP #
Um einen Netzwerkclient konfigurieren zu können, benötigen Sie eingehende Kenntnisse zu den Diensten, die über das Netzwerk bereitgestellt werden (z. B. Drucken oder LDAP). Als Erleichterung der Konfiguration dieser Dienste auf einem Netzwerkclient wurde das SLP („service location protocol“) entwickelt. SLP teilt allen Clients im lokalen Netzwerk die Verfügbarkeit und die Konfigurationsdaten ausgewählter Dienste mit. Anwendungen mit SLP-Unterstützung können diese Informationen verarbeiten und damit automatisch konfiguriert werden.
SUSE® Linux Enterprise Server unterstützt die Installation von per SLP bekannt gegebenen Installationsquellen und beinhaltet viele Systemdienste mit integrierter Unterstützung für SLP. Nutzen Sie SLP, um vernetzten Clients zentrale Funktionen wie Installationsserver, YOU-Server, Dateiserver oder Druckserver auf Ihrem System zur Verfügung zu stellen. Dienste mit SLP-Unterstützung sind beispielsweise login, ntp, openldap2, postfix, rpasswd, rsyncd, saned, sshd (über fish), vnc und ypserv.
Alle Pakete, die zur Verwendung von SLP-Diensten auf einem Netzwerkclient erforderlich sind, werden standardmäßig installiert. Falls Sie jedoch Dienste via SLP bereitstellen möchten, müssen Sie sicherstellen, dass auch das Paket openslp-server
installiert wird.
31.1 Das SLP-Frontend slptool
#
Mit dem Kommandozeilenwerkzeug slptool
werden SLP-Dienste abgefragt und registriert. Die Abfragefunktionen sind bei der Diagnose von Nutzen. Im Folgenden werden die wichtigsten Subkommandos von slptool
aufgeführt. Mit slptool
--help
werden alle verfügbaren Optionen und Funktionen aufgelistet.
- findsrvtypes
Zeigt eine Liste aller Dienste an, die im Netzwerk verfügbar sind.
tux >
slptool findsrvtypes service:install.suse:nfs service:install.suse:ftp service:install.suse:http service:install.suse:smb service:ssh service:fish service:YaST.installation.suse:vnc service:smtp service:domain service:management-software.IBM:hardware-management-console service:rsync service:ntp service:ypserv- findsrvs DIENSTTYP
Zeigt eine Liste aller Server an, die den gewünschten DIENSTTYP bereitstellen.
tux >
slptool findsrvs service:ntp service:ntp://ntp.example.com:123,57810 service:ntp://ntp2.example.com:123,57810- findattrs DIENSTTYPHOST
Zeigt eine Liste der Attribute für den DIENSTTYP auf dem HOST an.
tux >
slptool findattrs service:ntp://ntp.example.com (owner=tux),(email=tux@example.com)- register DIENSTTYP//HOST:PORT "(ATTRIBUT=WERT),(ATTRIBUT=WERT)"
Registriert den DIENSTTYP auf dem HOST, wobei optional eine Liste mit Attributen angegeben werden kann.
slptool register service:ntp://ntp.example.com:57810 \ "(owner=tux),(email=tux@example.com)"
- deregister DIENSTTYP//HOST
Hebt die Registrierung des DIENSTTYPS auf dem HOST auf.
slptool deregister service:ntp://ntp.example.com
Weitere Informationen erhalten Sie mit dem Kommando slptool --help
.
31.2 Bereitstellen von Diensten über SLP #
Zum Bereitstellen von SLP-Diensten muss der SLP-Daemon (slpd
) ausgeführt werden. Wie die meisten Systemdienste unter SUSE Linux Enterprise Server wird der slpd
-Daemon über ein separates Startskript gesteuert. Nach der Installation ist der Daemon standardmäßig inaktiv. Zum Aktivieren für die aktuelle Sitzung führen Sie den Befehl sudo systemctl start slpd
aus. Wenn slpd
beim Systemstart aktiviert werden soll, führen Sie den Befehl sudo systemctl enable slpd
aus.
Viele Anwendungen unter SUSE Linux Enterprise Server verfügen durch die libslp
-Bibliothek über eine integrierte SLP-Unterstützung. Falls ein Dienst ohne SLP-Unterstützung kompiliert wurde, können Sie ihn mit einer der folgenden Methoden per SLP verfügbar machen:
- Statische Registrierung über
/etc/slp.reg.d
Legen Sie für jeden neuen Dienst eine separate Registrierungsdatei an. Im folgenden Beispiel wird ein Scannerdienst registriert:
## Register a saned service on this system ## en means english language ## 65535 disables the timeout, so the service registration does ## not need refreshes service:scanner.sane://$HOSTNAME:6566,en,65535 watch-port-tcp=6566 description=SANE scanner daemon
Die wichtigste Zeile dieser Datei ist die Dienst-URL, die mit
service:
beginnt. Sie enthält den Diensttyp (scanner.sane
) und die Adresse, unter der der Dienst auf dem Server verfügbar ist. $HOSTNAME wird automatisch durch den vollständigen Hostnamen ersetzt. Abgetrennt durch einen Doppelpunkt folgt nun der Name des TCP-Ports, auf dem der entsprechende Dienst gefunden werden kann. Geben Sie nun die Sprache an, in der der Dienst angekündigt werden soll, und die Gültigkeitsdauer der Registrierung in Sekunden. Diese Angaben müssen durch Kommas von der Dienst-URL getrennt werden. Wählen Sie für die Registrierungsdauer einen Wert zwischen0
und65535
.0
verhindert die Registrierung.Mit
65535 werden alle Einschränkungen aufgehoben.Die Registrierungsdatei enthält außerdem die beiden Variablen
watch-port-tcp
unddescription
.watch-port-tcp
koppelt die SLP-Dienstankündigung daran, ob der entsprechende Dienst aktiv ist, indemslpd
den Status des Diensts überprüft. Die zweite Variable enthält eine genauere Beschreibung des Diensts, die in den entsprechenden Browsern angezeigt wird.Tipp: YaST und SLPEinige von YaST bereitgestellte Services, wie ein Installationsserver oder YOU-Server, führen diese Registrierung automatisch aus, wenn Sie SLP in den Modul-Dialogfeldern aktivieren. Dann erstellt YaST Registrierungsdateien für diese Dienste.
- Statische Registrierung über
/etc/slp.reg
Der einzige Unterschied zwischen dieser Methode und der Prozedur mit
/etc/slp.reg.d
besteht darin, dass alle Dienste in einer zentralen Datei gruppiert sind.- Dynamische Registrierung über
slptool
Wenn ein Dienst dynamisch ohne Verwendung von Konfigurationsdateien registriert werden soll, verwenden Sie das Kommandozeilenprogramm slptool. Dasselbe Programm kann auch die Registrierung eines bestehenden Dienstangebots aufheben, ohne
slpd
neu zu starten. Weitere Informationen finden Sie in Abschnitt 31.1, „Das SLP-Frontendslptool
“.
31.2.1 Einrichten eines SLP-Installationsservers #
Die Bereitstellung der Installationsdaten über SLP im Netzwerk erleichtert die Netzwerkinstallation deutlich, da die Installationsdaten (z. B. IP-Adresse des Servers oder Pfad zu den Installationsmedien) automatisch über eine SLP-Abfrage angefordert werden. Weitere Anweisungen finden Sie unter Kapitel 8, Einrichten des Servers, auf dem sich die Installationsquellen befinden.
31.3 Weiterführende Informationen #
- RFC 2608, 2609, 2610
RFC 2608 befasst sich mit der Definition von SLP im Allgemeinen. RFC 2609 geht näher auf die Syntax der verwendeten Dienst-URLs ein und RFC 2610 thematisiert DHCP über SLP.
- http://www.openslp.org
Die Homepage des OpenSLP-Projekts.
/usr/share/doc/packages/openslp
Dieses Verzeichnis enthält die Dokumentation für SLP, die im Lieferumfang des
openslp-server
-Pakets enthalten ist, z. B. eineREADME.SUSE
-Datei mit den SUSE Linux Enterprise Server-Details, die RFCs und zwei einführende HTML-Dokumente. Programmierer, die an den SLP-Funktionen interessiert sind, finden weitere Informationen im Programmierhandbuch, das im Paketopenslp-devel
im SUSE-SDK (Software Development Kit) enthalten ist.