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
HOST上のSERVICE_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
です。このURLにはサービスタイプ(scanner.sane
)および、サーバ上でサービスが使用可能になるアドレスが含まれます。$HOSTNAMEは自動的に完全ホスト名で置き換えられます。その後ろにはサービスごとのTCPポートの名前がコロンで区切られる形で続きます。さらにサービスを表示する場合に使用される言語、登録の期間を秒単位で入力します。これらはコンマを使用してTービスURLと分けるようにします。0
から65535
で登録期間の値を設定します。0
の場合は登録する必要がありません。65535
はすべての制限を削除します。登録ファイルにはまた、2つの変数
watch-port-tcp
およびdescription
が含まれます。watch-port-tcp
は、SLPサービスアナウンスとリンクして、slpd
にサービスのステータスをチェックさせることにより、関連サービスがアクティブかどうかを確認します。2つ目の変数には、サービスに関するさらに詳細な説明が含まれており、正しいブラウザを使用している場合に表示されます。ヒント: YaSTとSLPインストールサーバ、YOUサーバなどのようにYaSTが処理を行うサービスの一部では、モジュールダイアログでSLPがアクティブになった時点で自動的にこの登録が実行されます。続いてYaSTはこれらのサービスの登録ファイルを作成します。
/etc/slp.reg
による静的登録この方法と、
/etc/slp.reg.d
による手続きの唯一の違いは、すべてのサービスが中央のファイルにグループ化されることです。slptool
による動的登録設定ファイルなしでサービスを動的に登録する必要がある場合は、slptoolコマンドラインユーティリティを使用します。このユーティリティを使用すると、
slpd
を再起動せずに既存の提供サービスを登録解除することもできます。詳細については、31.1項 「SLPフロントエンドslptool
」を参照してください。
31.2.1 SLPインストールサーバのセットアップ #
ネットワーク内でSLP経由でインストールデータをアナウンスすると、サーバのIPアドレスやインストールメディアのパスといったインストールデータがSLPクエリによって自動的に要求されるため、ネットワークインストールが大幅に容易になります。手順については、第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
このディレクトリには、SUSE Linux Enterprise Serverの詳細を含む
README.SUSE
、RFC、および2つの入門的なHTMLドキュメントなど、openslp-server
パッケージ付属のSLPのドキュメントが格納されています。SLP機能を使用するプログラマに役立つより詳しい情報については、SUSEソフトウェア開発キットに付属のopenslp-devel
パッケージに含まれる『プログラマガイド』を参照してください。