跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 管理指南 / 服务 / SLP
适用范围 SUSE Linux Enterprise Server 12 SP5

31 SLP

要配置网络客户端,需要了解关于通过网络提供的服务(例如打印或 LDAP)的详细知识。为了简化在网络客户端上配置此类服务的工作,服务定位协议 (SLP) 应运而生。SLP 可向本地网络中的所有客户端告知所选服务的可用性和配置数据。支持 SLP 的应用程序可以利用这一信息来进行自动配置。

SUSE® Linux Enterprise Server 支持使用 SLP 提供的安装源进行安装,并且包含许多集成了 SLP 支持的系统服务。您可以使用 SLP 为联网客户端(如系统上的安装服务器、文件服务器或打印服务器)提供核心功能。提供 SLP 支持的服务包括 cupsd、login、ntp、openldap2、postfix、rpasswd、rsyncd、saned、sshd(通过 fish)、vnc 和 ypserv。

默认情况下,系统会安装在网络客户端上使用 SLP 服务所需的所有包。但如果您要通过 SLP 提供服务,请检查 openslp-server 包是否已安装。

31.1 SLP 前端 slptool

slptool 是一个命令行工具,用于查询和注册 SLP 服务。在进行诊断时,查询功能非常有用。下面列出了最重要的 slptool 子命令。slptool --help 列出所有可用的选项和函数。

findsrvtypes

列出网络上可用的所有服务类型。

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 SERVICE_TYPE

列出提供 SERVICE_TYPE 的所有服务器

tux > slptool findsrvs service:ntp
service:ntp://ntp.example.com:123,57810
service:ntp://ntp2.example.com:123,57810
findattrs SERVICE_TYPE//HOST

列出 HOSTSERVICE_TYPE 的属性

tux > slptool findattrs service:ntp://ntp.example.com
(owner=tux),(email=tux@example.com)
register SERVICE type//HOST:PORT "(ATTRIBUTE=VALUE),(ATTRIBUTE=VALUE)"

使用可选属性列表在 HOST 上注册 SERVICE_TYPE

slptool register service:ntp://ntp.example.com:57810 \
"(owner=tux),(email=tux@example.com)"
deregister SERVICE_TYPE//host

HOST 上取消注册 SERVICE_TYPE

slptool deregister service:ntp://ntp.example.com

有关更多信息,请运行 slptool --help

31.2 通过 SLP 提供服务

要提供 SLP 服务,SLP 守护程序 (slpd) 必须处于运行状态。就像 SUSE Linux Enterprise Server 中的大多数系统服务一样,slpd 通过单独的启动脚本来控制。安装后,默认情况下停用守护程序。要为当前的会话激活它,请运行 sudo systemctl start slpd。如果 slpd 应该在系统启动时激活,请运行 sudo systemctl enable slpd

SUSE Linux Enterprise Server 中的许多应用程序都已通过 libslp 库集成了 SLP 支持。如果服务未符合 SLP 支持,请使用以下方法之一使其可通过 SLP 发布。

通过 /etc/slp.reg.d 进行的静态注册

为每个新服务创建单独的注册文件。下面的示例会注册一个扫描仪服务:

## 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

此文件中最重要的一行是以 service: 开头的服务 URL。其中包含服务类型 (scanner.sane) 以及该服务在服务器上的地址。$HOSTNAME 会自动替换为完整主机名。随后是可以找到相关服务的 TCP 端口的名称,端口与主机名之间用冒号分隔。然后输入服务的显示语言及以秒计的注册持续时间。应该用逗号分隔服务 URL 之后的各项内容。将注册持续时间设置为 065535 之间的值。0 表示禁止注册。65535 表示取消所有限制。

该注册文件还包含 watch-port-tcpdescription 这两个变量。watch-port-tcp 通过使 slpd 检查相关服务的状态,链接 SLP 服务对该服务是否活动的发布。第二个变量为显示在适合的浏览器中的服务提供了更为准确的描述。

提示
提示:YaST 和 SLP

在模块对话框中激活 SLP 后,由 YaST 代理的某些服务(如安装服务器或 YOU 服务器)会为您自动执行此注册。然后,YaST 为这些服务创建注册文件。

通过 /etc/slp.reg 进行的静态注册

此方法与使用 /etc/slp.reg.d 的步骤之间唯一的区别在于,所有服务在中心文件中分组。

使用 slptool 进行的动态注册

如果某个服务须动态注册,而无需配置文件,请使用 slptool 命令行实用程序。该实用程序还可用于取消注册某个现有服务产品,而无需重启动 slpd。有关详细信息,请参见第 31.1 节 “SLP 前端 slptool

31.2.1 设置 SLP 安装服务器

在网络中通过 SLP 公告安装数据可简化网络安装过程,因为系统会通过 SLP 查询自动请求服务器 IP 地址或安装媒体路径等安装数据。有关指导,请参见第 8 章 “设置存放安装源的服务器

31.3 更多信息

RFC 2608、2609、2610

RFC 2608 主要描述了 SLP 的定义。RFC 2609 更详细地描述了所用服务 URL 的语法;RFC 2610 则对通过 SLP 的 DHCP 进行了描述。

http://www.openslp.org

OpenSLP 项目的主页。

/usr/share/doc/packages/openslp

此目录包含 openslp-server 包随附的 SLP 文档,其中的 README.SUSE 文件包含 SUSE Linux Enterprise Server 细节、RFC 和两个介绍性的 HTML 文档。要使用 SLP 功能的程序员可参见 SUSE 软件开发包附带的 openslp-devel 包中的《Programmers Guide》(编程指南),以了解更多信息。