跳至內容跳至頁面導覽:上一頁 [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,它是以 service: 開始。這包含服務類型 (scanner.sane) 以及位址 (可在其中找到伺服器可用的服務)。$HOSTNAME 會以完整的主機名稱自動取代。接著可以找到相關服務的 TCP 埠名稱,它們之間是以冒號分隔。然後輸入服務應該出現的語言以及註冊期間的秒數。這些都應該使用逗號與服務 URL 分隔。在 065535 之間設定註冊期間的值。0 會防止註冊。65535 會移除所有的限制。

註冊檔另外還包含 watch-port-tcpdescription 兩個變數。watch-port-tcp 將 SLP 服務宣告連結至由 slpd 檢查到的服務狀態,即相關服務是否啟用。第二個變數是對顯示在適當瀏覽器中的服務,提供更為精確的描述。

提示
提示: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》(程式設計指南),以瞭解詳細資訊。