Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

LPR(LPD)プロトコルでプリンタを公開する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/10/21
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
ネットワーク・プリンタとの通信プロトコルとして、LPRプロトコルがよく使われる。
Windows OSでは、LPRプロトコルのサーバ機能(LPD機能)はデフォルトでは無効になっている。
LPD機能を利用したければ、UNIX用印刷コンポーネントを追加インストールする。
 
解説

 ネットワーク・プリンタへ接続するプロトコルとして、Windows OSでは、Windowsファイル共有プロトコル(SMBプロトコル。「\\server\printer」などのUNC形式で接続する)やAppleTalk、DLCプロトコルなどが利用される。これ以外に、UNIXLinuxメインフレームなどのOSでは、LPR(Line Printer Daemon)プロトコルもよく利用されている。LPRは、プリンタにデータを送信するためのプロトコルであり、RFC1179で定義されている(LPRで接続される側、つまりサーバ側を指して、LPDプロトコルと呼ぶこともあるが、両者は同じである)。

 Windows OSの標準状態では、LPRプロトコルのクライアント側(LPDに接続する側)の機能は利用できるが、サーバとして動作させる機能(LPD機能)は利用できない。LPDプロトコルをサポートしたプリント・サーバとして利用するためには、管理者があらかじめ設定しておく必要がある。本TIPSでは、この方法について解説する。

 なお、LPRプロトコルを使って、外部のネットワーク・プリンタに接続する方法(LPRポート・モニタ)を使う方法については、TIPS「LPRプロトコルでプリンタへ接続する」を参照していただきたい。

操作方法

手順1――「UNIX用印刷サービス」を追加インストールする

 LPD機能(LPRプロトコルを受け付ける機能)を有効にするには、「UNIX用印刷サービス」という追加コンポーネントをインストールする。このためには、[コントロール パネル]の[プログラムの追加と削除]を起動し、[Windows コンポーネントの追加と削除]を実行する。するとWindowsコンポーネント・ウィザードが起動するので、[そのほかのネットワーク ファイルと印刷サービス]を選択して[詳細]ボタンをクリックし、その中にある[UNIX 用印刷サービス]のチェック・ボックスをオンする。

LPD機能の追加
LPD機能(LPRプロトコルのサーバとして動作する機能)を有効にするには、UNIX用印刷サービス・コンポーネントをインストールする。
  これをインストールする。

手順2――ファイアウォールでLPDを有効にする

 LPDのサーバとして利用するためには、LPRクライアントからの要求を受け付けるように、ファイアウォールの設定を変更しておく(ファイアウォールを利用している場合)。LPR(LPD)プロトコルのポート番号はTCPの515番なので、ファイアウォールの例外設定にこれを新規追加する。

LPDプロトコルを通すためのファイアウォール設定
LPD(LPR)ではTCPの515番を利用しているので、この着信を受け付けるようにファイアウォールを設定する。これはWindows XP SP2のファイアウォールでの設定例。
  プロトコル名。何でもよい。
  ポート番号は515。
  TCPを選択する。
  必要ならばスコープ(どのネットワークからの接続を許可するかという指定)も設定する。

プリンタの公開

 LPDプロトコルで公開するプリンタは、プリンタのプロパティ設定で「公開」と設定しておく必要がある。またLPRプロトコルではプリンタを名前で参照するが、そのために利用される名前は、この共有名となるので、適切な名前を付けておく。こんためには[コントロール パネル]の[プリンタとFAX]で公開したいプリンタの[プロパティ]を表示させ、[共有]タブで共有名を設定する。空白文字を含まない共有名にしておく(空白文字が含まれていると、後でlprコマンドなどで指定するのが面倒になるし、クライアントによっては動作しない可能性がある)。

プリンタを公開する
LPRで接続するためには、プリンタに名前を付けて公開しておく必要がある。「ローカル」に接続されているプリンタのみ公開できる(別のサーバ、例えば\\server\printerをローカルの[プリンタとFAX]へインポートし、されをさらに別の名前で再公開するといったことはできない)。
  このタブで共有名を設定する。共有公開していないプリンタはLPRプロトコルでは参照できない。
  これを選択する。
  共有名。

LPDの動作を確認する

 LPDのサーバとして動作しているかは、まずはnetstat -anコマンドで確認できる。これを実行して、TCPの515番ポートでリッスンしていることを確認する。もし何らかの理由でリッスンしていなければ、「TCP/IP Print Server」サービスが開始されているか、サービスの起動方法が[自動]になっているかどうかなどを確認する。

C:\>netstat -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:515            0.0.0.0:0              LISTENING …LPDサーバ
  TCP    127.0.0.1:1028         0.0.0.0:0              LISTENING
…(以下省略)…

 LPDサーバの印刷スプールの状態をモニタするには、Windows OSに標準で含まれているlpqコマンドが利用できる(これは[UNIX用印刷サービス]コンポーネントの有無にかかわらず利用できる)。リモートのコンピュータから、「lpq -S サーバ -P プリンタ」を実行してみる(プリンタ名は大文字/小文字の違いは無視される)。

C:\>lpq -S 192.168.2.125 -P pm-800c …スプールの状態のチェック

                         Windows XP LPD Server
                              Printer \\192.168.2.125\pm-800c

Owner       Status         Jobname          Job-Id    Size   Pages  Priority

※ローカル・コンピュータ上のLPDサービスに接続する場合は、「-S 127.0.0.1」や「-S localhost」ではなく、「-S 192.168.2.125」のように、ループバック・アドレスではないIPアドレスを指定すること

 このように状態が表示されれば成功である。「Error: specified printer does not exist」といったメッセージが表示されるなら、サーバ名やプリンタ名などが間違っている可能性がある。プリンタ名の一覧はlprやlpqコマンドでは取得できないので、「net view \\サーバ名」などを実行して確認するとよい。End of Article

関連記事(Windows Server Insider)
  Windows TIPS:LPRプロトコルでプリンタへ接続する
     
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間