41 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-client, 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.
41.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.
>
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 SERVICE_TYPE
Listet alle Server auf, die SERVICE_TYPE bereitstellen
>
slptool findsrvs service:ntp service:ntp://ntp.example.com:123,57810 service:ntp://ntp2.example.com:123,57810- findattrs SERVICE_TYPE//HOST
Listet Attribute für SERVICE_TYPE auf dem HOST auf
>
slptool findattrs service:ntp://ntp.example.com (owner=tux),(email=tux@example.com)- register SERVICE type//HOST:PORT "(ATTRIBUTE=VALUE),(ATTRIBUTE=VALUE)"
Registriert SERVICE_TYPE 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 SERVICE_TYPE//host
Hebt die Registrierung von SERVICE_TYPE auf dem HOST auf
slptool deregister service:ntp://ntp.example.com
Weitere Informationen erhalten Sie mit slptool --help
.
41.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 slpd
über ein separates Startskript gesteuert. Nach der Installation ist der Daemon standardmäßig inaktiv. Zum Aktivieren für die aktuelle Sitzung führen Sie das Kommando sudo systemctl
start slpd
aus. Wenn slpd
beim Systemstart aktiviert werden soll, führen Sie das Kommando 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.65535
Mit 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, ohneslpd
neu zu starten. Ausführliche Informationen finden Sie unter Abschnitt 41.1, „Das SLP-Frontendslptool
“.
41.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 im Kapitel 16, Einrichten einer Netzwerkinstallationsquelle.
41.3 Weitere 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.