Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 openSUSE Leap 15.6
概要

ネットワーククライアントの設定にあたっては、ネットワーク側で提供されている様々なサービス (印刷関連のプロトコルや LDAP など) に関する知識が必要となります。 Service Location Protocol (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 Edit source

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 サービスタイプ

サービスタイプ を提供する全てのサーバを一覧表示します。

> slptool findsrvs service:ntp
service:ntp://ntp.example.com:123,57810
service:ntp://ntp2.example.com:123,57810
findattrs サービスタイプ // ホスト

指定した ホストサービスタイプ に対して、属性情報を表示します。

> slptool findattrs service:ntp://ntp.example.com
(owner=tux),(email=tux@example.com)
register サービスタイプ // ホスト : ポート "( 属性=値 ),( 属性=値 )"

指定した ホストサービスタイプ を、属性の一覧と共に登録します。

slptool register service:ntp://ntp.example.com:57810 \
"(owner=tux),(email=tux@example.com)"
deregister サービスタイプ // ホスト

指定した ホストサービスタイプ の登録を解除します。

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

さらに詳しい情報については、 slptool --help をお読みください。

17.2 SLP を介したサービス情報の提供 Edit source

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 を利用した固定登録

新しいサービスそれぞれに対して、個別の登録ファイルを作成して対応します。下記の例では、スキャナサービスを登録しています:

## このシステム内にある saned サービスを登録しています。
## en は英語を、 65535 はタイムアウトの無効化を意味しています。
## タイムアウトを無効化することで、サービスの更新を不要にしています。
service:scanner.sane://$HOSTNAME:6566,en,65535
watch-port-tcp=6566
description=SANE scanner daemon

このファイル内で最も重要な行は service: で始まる service URL の行です。ここにはサービスの種類 ( scanner.sane ) のほか、サーバ内でサービスが提供されているアドレスが示されています。$HOSTNAME を指定すると、自動的に自分自身の完全修飾ホスト名に置き換えられます。その後ろにはコロンに続いて、サービスが待ち受けている TCP ポートが書かれています。その後ろにはカンマ区切りでサービスの提供言語と、登録の有効期間が秒単位で示されています。登録の有効期間は 0 から 65535 までの間で指定します。ただし、 0 は登録の無効化を、 65535 は無期限の登録を表します。

また、登録ファイルには watch-port-tcpdescription という行があります。 watch-port-tcp は SLP によるサービスの告知と関係するサービスを連携させる仕組みで、 slpd がサービスの状態をチェックしてサービスを告知するようになります。また、 2 つ目の値はブラウザ側に表示するテキストで、サービスに関するより詳しい説明を記述します。

ヒント
ヒント: YaST と SLP の関係について

インストールサーバや YOU (YaST オンライン更新) などの場合、 YaST が仲介役となってサービスを登録することができます。この登録は、モジュールのダイアログ内で SLP を有効化することで、自動的に行うことができます。 YaST 側では、これらのサービスに対する登録ファイルを作成します。

/etc/slp.reg を利用した固定登録

/etc/slp.reg.d とこの方式の違いは、全てのサービスを 1 つのファイルにまとめる、という点のみです。

slptool を利用した動的な登録

設定ファイルを使用せずに動的に登録を行う必要がある場合は、 slptool コマンドラインユーティリティをお使いください。同ユーティリティを使用することで、 slpd を再起動したりすることなく、既存のサービスの登録を解除することもできます。詳しくは 17.1項 「SLP フロントエンド slptool をお読みください。

17.2.1 SLP インストールサーバの構築 Edit source

お使いのネットワーク内で SLP を介してインストールデータを告知することで、ネットワーク経由でのインストールをより簡単に行うことができるようになります。特に、インストールメディアの存在するサーバの IP アドレスやパスなどを、クライアント側で自動的に取得できる点が便利です。

17.3 さらなる情報 Edit source

RFC 2608, 2609, 2610

RFC 2608 には SLP に対する一般的な説明があります。また、 RFC 2609 にはサービス URL の書式説明が、 RFC 2610 には DHCP 経由での SLP の説明があります。

http://www.openslp.org

OpenSLP プロジェクトのホームページです。

/usr/share/doc/packages/openslp

このディレクトリには、 openslp-server パッケージに付属するドキュメンテーションが配置されています。また、 openSUSE Leap での詳細は、 README.SUSE ファイルに書かれているほか、 RFC や 2 種類の入門文書なども用意されています。 SLP の機能を利用したいプログラマ向けには、 openslp-devel パッケージ内に含まれている Programmers Guide (プログラマガイド) をお読みになることをお勧めします。

このページを印刷