跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
参考 › 服务 › SLP
适用于 openSUSE Leap 15.6
摘要

配置网络客户端需要详细了解网络上提供的服务(例如打印或 LDAP)。为了更容易地配置网络客户端上的这些服务,开发了“服务位置协议”(SLP)。SLP 使本地网络中所有客户端都知道所选服务的可用性和配置数据。支持 SLP 的应用程序可以使用此信息自动配置。

openSUSE® Leap 支持使用随 SLP 提供的安装源进行安装,并且包含许多具有 SLP 集成支持的系统服务。您可以使用 SLP 在您的系统上为联网客户端提供集中功能,例如安装服务器、文件服务器或打印服务器。提供 SLP 支持的服务包括 cupsd、login、ntp、openldap2-client、postfix、rpasswd、rsyncd、saned、sshd(通过 fish)、vnc 和 ypserv。

默认情况下,已安装所有使用 SLP 服务所需的软件包。但是,要通过 SLP *提供* 服务,请检查是否已安装 openslp-server 软件包。

17.1 SLP 前端 slptool 编辑源文件

slptool 是一个命令行工具,用于查询和注册 SLP 服务。查询功能对于诊断目的很有用。最重要的 slptool 子命令如下。 slptool --help 列出所有可用选项和函数。

findsrvtypes

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

> 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 的所有服务器

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

列出 HOST 上的 SERVICE_TYPE 的属性

> 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

17.2 通过 SLP 提供服务 编辑源文件

要提供 SLP 服务,必须运行 SLP 守护程序 (slpd)。与 openSUSE Leap 中的大多数系统服务一样,slpd 由单独的启动脚本控制。安装后,守护程序默认情况下处于非活动状态。要将其激活到当前会话,请运行 sudo systemctl start slpd。如果 slpd 应该在系统启动时激活,请运行 sudo systemctl enable slpd

openSUSE Leap 中的许多应用程序通过 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

此文件中的最重要的行是 服务 URL,它以 service: 开头。它包含服务类型 (scanner.sane) 和服务器上可用服务的地址。 $HOSTNAME 将自动替换为完整的主机名。相关服务的发现端口号后跟冒号。然后输入服务应该出现的语言以及注册的持续时间(秒)。这些应该用逗号分隔到服务 URL。将注册持续时间的值设置为 065535 之间。 0 阻止注册。 65535 移除所有限制。

注册文件还包含两个变量 watch-port-tcpdescriptionwatch-port-tcp 通过让 slpd 检查服务的状态,将 SLP 服务公告链接到相关服务是否处于活动状态。第二个变量包含服务的更精确描述,该描述在合适的浏览器中显示。

Tip
提示:YaST 和 SLP

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

使用 /etc/slp.reg 进行静态注册

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

使用 slptool 进行动态注册

如果需要动态注册服务而无需配置文件,请使用 slptool 命令行实用程序。该实用程序也可用于注销现有服务,而无需重新启动 slpd。有关详细信息,请参阅第 17.1 节,“SLP 前端 slptool

17.2.1 设置 SLP 安装服务器 编辑源文件

通过 SLP 在您的网络中通告安装数据可以使网络安装更加容易,因为可以通过 SLP 查询自动获取服务器的 IP 地址或安装介质的路径等安装数据。

17.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 文档,包括包含 openSUSE Leap 详细信息的 README.SUSE、RFC 以及两个介绍性 HTML 文档。想要使用 SLP 函数的程序员可以在包含在 openslp-devel 软件包中的 程序员指南 中找到更多信息。

打印此页面