摘要
制定服务位置协议 (SLP) 是为了简化本地网络中联网客户端的配置。要配置网络客户端(包括所有必需服务),管理员通常需要对网络中提供的服务器有详细了解。SLP 可以向本地网络中的所有客户端声明选中服务是否可用。支持 SLP 的应用程序则可以利用这一发布信息并进行自动配置。
SUSE® Linux Enterprise Desktop 支持使用 SLP 提供的安装源进行安装,并且包含许多集成了 SLP 支持的系统服务。YaST 和 Konqueror 都有适用于 SLP 的前端。您可以使用 SLP 为联网客户端(如系统上的安装服务器、文件服务器或打印服务器)提供核心功能。
![]() | SUSE Linux Enterprise Desktop 中的 SLP 支持 |
|---|---|
提供 SLP 支持的服务包括 cupsd、rsyncd、ypserv、openldap2、ksysguardd、saned、kdm、vnc、login、smpppd、rpasswd、postfix 和 sshd(通过 fish)。 | |
将默认安装所有必需的包。但是,如果您要通过 SLP 提供服务,请确认 openslp-server 已安装。
要用 SLP 提供服务,您的系统上必须运行 slpd。如果计算机仅作为客户端操作,且不提供服务,则无需运行 slpd。类似 SUSE Linux Enterprise Desktop 中的大多数系统服务,slpd 守护程序通过单独的 init 脚本来控制。安装后,默认情况下停用守护程序。要将其临时激活,请作为 root 运行 rcslpd start,或运行 rcslpd stop 停止它。使用 restart 或 status 可分别执行重启动或状态检查。如果希望引导时 slpd 始终处于活动状态,请在 YaST +中启用 slpd,或以 root 身份运行 insserv slpd 命令。
要在您的网络中查找通过 SLP 提供的服务,请使用 SLP 前端,比如 slptool(openslp 包)或 YaST:
SUSE Linux Enterprise Desktop 中的许多应用程序都已使用 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 之后的各项内容。将注册持续时间设置为 0 到 65535 之间的值。0 表示禁止注册。65535 表示取消所有限制。
该注册文件还包含 watch-port-tcp 和 description 这两个变量。watch-port-tcp 通过使 slpd 检查相关服务的状态,链接 SLP 服务对该服务是否活动的发布。第二个变量为显示在适合的浏览器中的服务提供了更为准确的描述。
/etc/slp.reg 进行的静态注册
此方法与使用 /etc/slp.reg.d 的步骤之间唯一的区别在于,所有服务在中心文件中分组。
如果某个服务须动态注册,而无需配置文件,请使用 slptool 命令行实用程序。相同的实用程序还可用于取消某个现有服务产品的注册,而无需重启动 slpd。
RFC 2608 主要描述了 SLP 的定义。RFC 2609 更详细地描述了所用服务 URL 的语法;RFC 2610 则对通过 SLP 的 DHCP 进行了描述。
OpenSLP 项目的主页。
/usr/share/doc/packages/openslp
此目录包含附于 openslp-server 包中的 SLP 的文档,其中 README.SuSE 包含 SUSE Linux Enterprise Desktop 细节、RFC 和两个介绍性的 HTML 文档。希望使用 SLP 功能的程序员可在 openslp-devel 包中包括的编程指南中找到更多信息。