41 SLP #
Configuring a network client requires detailed knowledge about services provided over the network (such as printing or LDAP, for example). To make it easier to configure such services on a network client, the “service location protocol” (SLP) was developed. SLP makes the availability and configuration data of selected services known to all clients in the local network. Applications that support SLP can use this information to be configured automatically.
SUSE® Linux Enterprise Server supports installation using installation sources provided with SLP and contains many system services with integrated support for SLP. You can use SLP to provide networked clients with central functions, such as an installation server, file server, or print server on your system. Services that offer SLP support include cupsd, login, ntp, openldap2-client, postfix, rpasswd, rsyncd, saned, sshd (via fish), vnc, and ypserv.
All packages necessary to use SLP services on a network client are installed
by default. However, to provide services via
SLP, check that the openslp-server
package is
installed.
41.1 The SLP front-end slptool
#
slptool
is a command line tool to query and register SLP
services. The query functions are useful for diagnostic purposes. The most
important slptool
subcommands are listed below.
slptool
--help
lists all available
options and functions.
- findsrvtypes
List all service types available on the network.
>
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
List all servers providing SERVICE_TYPE
>
slptool findsrvs service:ntp service:ntp://ntp.example.com:123,57810 service:ntp://ntp2.example.com:123,57810- findattrs SERVICE_TYPE//HOST
List attributes for SERVICE_TYPE on HOST
>
slptool findattrs service:ntp://ntp.example.com (owner=tux),(email=tux@example.com)- register SERVICE type//HOST:PORT "(ATTRIBUTE=VALUE),(ATTRIBUTE=VALUE)"
Registers SERVICE_TYPE on HOST with an optional list of attributes
slptool register service:ntp://ntp.example.com:57810 \ "(owner=tux),(email=tux@example.com)"
- deregister SERVICE_TYPE//host
Deregisters SERVICE_TYPE on HOST
slptool deregister service:ntp://ntp.example.com
For more information run slptool --help
.
41.2 Providing services via SLP #
To provide SLP services, the SLP daemon
(slpd
) must be running. Like most
system services in SUSE Linux Enterprise Server,
slpd
is controlled by a
separate start script. After the installation, the daemon is inactive by
default. To activate it for the current session, run sudo systemctl
start slpd
. If slpd
should
be activated on system start-up, run sudo systemctl enable
slpd
.
Many applications in SUSE Linux Enterprise Server have integrated SLP support via the
libslp
library. If a service has not been compiled with
SLP support, use one of the following methods to make it available via SLP:
- Static registration with
/etc/slp.reg.d
Create a separate registration file for each new service. The following example registers a scanner service:
## 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
The most important line in this file is the service URL, which begins with
service:
. This contains the service type (scanner.sane
) and the address under which the service is available on the server. $HOSTNAME is automatically replaced with the full host name. The name of the TCP port on which the relevant service can be found follows, separated by a colon. Then enter the language in which the service should appear and the duration of registration in seconds. These should be separated from the service URL by commas. Set the value for the duration of registration between0
and65535
.0
prevents registration.65535
removes all restrictions.The registration file also contains the two variables
watch-port-tcp
anddescription
.watch-port-tcp
links the SLP service announcement to whether the relevant service is active by havingslpd
check the status of the service. The second variable contains a more precise description of the service that is displayed in suitable browsers.Tip: YaST and SLPSpecific services brokered by YaST, such as an installation server or YOU server, perform this registration automatically when you activate SLP in the module dialogs. YaST then creates registration files for these services.
- Static registration with
/etc/slp.reg
The only difference between this method and the procedure with
/etc/slp.reg.d
is that all services are grouped within a central file.- Dynamic registration with
slptool
If a service needs to be registered dynamically without the need of configuration files, use the
slptool
command line utility. The same utility can also be used to deregister an existing service offering without restartingslpd
. See Section 41.1, “The SLP front-endslptool
” for details.
41.2.1 Setting up an SLP installation server #
Announcing the installation data via SLP within your network makes the network installation much easier, since the installation data such as IP address of the server or the path to the installation media are automatically required via SLP query. Refer to 17장 네트워크 설치 원본 설정 for instructions.
41.3 More information #
- RFC 2608, 2609, 2610
RFC 2608 generally deals with the definition of SLP. RFC 2609 deals with the syntax of the service URLs used in greater detail and RFC 2610 deals with DHCP via SLP.
- http://www.openslp.org
The home page of the OpenSLP project.
/usr/share/doc/packages/openslp
This directory contains the documentation for SLP coming with the
openslp-server
package, including aREADME.SUSE
containing the SUSE Linux Enterprise Server details, the RFCs, and two introductory HTML documents. Programmers who want to use the SLP functions find more information in the Programmers Guide that is included in theopenslp-devel
package that is provided with the SUSE Software Development Kit.