Create  Edit  Diff  Mac OS X Serverで作る 小さな計算機室  Index  Search  Changes  RSS  Login

ネットワークプリンタ

LP-M5000が来た

講座の費用でエプソンの複合機(LP-M5000A)を購入した。 最初からネットワーク機能がついているので、離れた自室からでも簡単に操作できるはずだった。 自室のMacにドライバーをインストールしてから、自分なりにそれらしいと思われる設定をして、 いざプリントしようとしたが、何度やっても「通信エラー」が出て、印刷できない。 TigerでもLeopardでもやっぱり駄目だ。

仕方がないので、tcpdumpでパケットを調べてみると、 プリントダイアログを開いた瞬間から、SNMPで何やらやりとりをしたがっている。 ENPCというパケットも送っている。 プリンターの状態をまず調べて、表示を変えるような仕組みになっているのだろう。 でも、プリンタ側からは返事がない。

自室のパソコンは、NATで外と繋がっている。おそらく、プリンター側から送られてきた SNMPのUDPパケットがNATの内側までは届かないので、 「通信エラー」が出るのではないかと想像した。 そこで、NATを(も)やっている(外部と直接接続された)OS X Serverのマシンから プリントしてみると、ちゃんと動作するではないか(プロトコルは lpr)。

試しに、そのサーバーで「プリントサーバー」を動かして、NATの中のMacはそちらの キューに投げるようにようにしてみた。プリントサーバー側のキューは IPP を設定 (LPR + Bonjourでは「通信エラー」を起こしてしまう)。 これで、オフィスのMacは「共有プリンター」の中からLP-M5000を選べば、ドライバーも 自動的に選択されるようになって、非常に楽ちんとなった。

と思ったら、プリントサーバー越しにプリントすると、両面印刷ができないことが分かった。 プリンターの状態が取得できないと、機能に制限が付くらしい。

その後、FreeBSDの別のマシンでNATをやらせると、オフィスの中のMacから直接LPRで印刷できることが分かったので、 犯人は、OS X ServerのNATかファイアウォールらしいことが判った。 もうちょっと調べたら、プリンタ側のSNMP(ポート161)からのパケットが拒否されているのが原因とわかったので、 ファイアウォールのルールに

allow udp from 講座のプライベートネット 161 to any

を書き加えて、一件落着。

Last modified:2009/04/17 15:19:18
Keyword(s):
References:[frontpage] [Mac OS X Serverで作る 小さな計算機室]