|
Windowsネットワークのブラウジング問題の解明
●2. トラブル事例と解決の仕方●ここからは、実際のトラブル事例とそのトラブル解決方法について解説します。トラブル事例は、すべてのマシン間でIPアドレス指定のPINGは正常に行える状態,同じワークグループ(またはWindowsドメイン)名が前提になっています。 また、トラブル・シューティング手順や問題解決時に不可欠な、ログのチェックの仕方も解説します。 <2.1 トラブル事例と解決法(1)>では,例を挙げてブラウジングに関するトラブルの対処法を説明します。 図4は、Samba マシン(a)をWINS サーバーとPDC に設定しているネットワークです。このとき、(d)のマシンからサーバーが1つも見えないというトラブルに遭ったとします。 図4 トラブル事例(1) このときに考えられる原因は2つあります。
図5の例は、Samba マシン(a)をWINSサーバーとPDCにしています。(d)のマシンで、以前は(a)〜(g)のすべてのサーバーが見えたのに、今は(a)〜(c)のサーバーが見えな場合の例です。 図5 トラブル事例(2) このときの原因としては、3つ考えられます。 1つ目は、WINSの設定が間違っていることです。(d)〜(g)のいずれかがWINS の設定が誤っていると、DMB(Sambaマシン)にブラウズ・リストが届かず、クライアントからはマシン名が見えなくなります。 2つ目の原因は、Sambaマシン(a)がDMBになっていない場合です。(WINS サーバーはマスター・ブラウザにする必要があります)。Sambaには以下のような設定をします。
3つ目の原因は、プロトコル不整合です。NetBEUIやIPXが設定されており、TCP/IPが優先バインドされていないと、このようなことが起こり得ます。この場合は、プロトコルをTCP/IPだけにすると解決します。 図6の例は,Sambaマシン(a)をWINS サーバーにしています。(b)や(d)のマシンから(c)は見えるのに(a)だけが見えないというトラブルに遭ったとします。 図6 トラブル事例(3) このとき、考えられる原因は2つあります。 まずは、Sambaマシン(a)がDMBになっていないことです(図5のトラブル解決法を参照)。 もう1つの原因は、Windows NT Server(c)がPDCの場合です。このときはNT Serverを必ずWINS サーバーとし、SambaマシンをDMBやWINSサーバーにしてはいけません。 ※前述のようにここでは、SambaとNT/2000 Server(PDC)が同じセグメント内で同じドメイン名でSambaをDMBやWINSサーバにしてはいけないということであり、ワークグループ名(Windowsドメイン)名が違う場合は、同じセグメントでもSambaをDMBやWINSにしても構いません。
Samba には以下のような設定をします。
<2.2 トラブル事例と解決法(2)>図7の例では、Sambaマシン(a)をWINSサーバーにしています。このとき、(b)や(d)のマシンで、(a)や(c),(f)のマシンが見えないとします。このときに考えられる原因は3つあります。 図7 トラブル事例(4) まず、Sambaマシン(a)がDMBになっていない場合です(図5/6 のトラブル例を参照)。 2つ目に考えられる原因は、Sambaマシン(f)がLMBになっていない場合です。その場合、Sambaマシン(f)には以下のように設定します。
3つ目の原因は、(c)がマスター・ブラウザになっている場合です。Windows NT/2000 Server をマスター・ブラウザにしないときは「Computer Browser」サービスを停止させます。 図8の例は、セグメントをまたがったワークグループのブラウジングの例です。Sambaマシン(a)をWINSサーバーにしています。(b)や(d)から、(a)や(c),(f)のマシンが見えないとします。 図8 トラブル事例(5) このとき考えられる原因は、両セグメントに存在するマスター・ブラウザ同士がブラウズ・リストを交換できないことです。従って、両セグメントのスター・ブラウザ同士が交換できるように設定します。ブラウズ・リストを交換できるのは、DMBとLMBの間だけでなので、解決方法は以下の3つの方法があります。 まず、Sambaマシン(a)に、Sambaマシン(f)へアナウンスするよう設定します。
Sambaマシン(f)がLMBになっていないことが原因かも知れません。その場合には、Samba マシン(f)に以下の設定をします。
Windows NT Server(c)がマスター・ブラウザになっている場合も、このようなトラブルが生じます。この場合は、「Computer Browser」サービスを停止して、Windows NT Serverをマスター・ブラウザにしないことで対処します。 <2.3 トラブル・シューティング手順とコンピュータ名を見せなくする方法>以上をまとめると、ブラウジングに関するトラブル時の手順は以下の通りになります。
以上のように見えないのがトラブルの場合もあれば、見えてしまっては問題の場合もあります。Windowsのデスクトップにあるネットワーク・コンピュータにサーバー名を見せなくする(ブラウジングできなくする)ことが可能です。 Windows NT/2000 の場合には以下のコマンドを使います。
Sambaの場合には以下のように設定します。
Windows 9x/Meの場合はネットワーク共有サービスを組み込まなければブラウジングされません。 <2.4 Sambaのログのチェック>システムのさまざまな問題の解決にはログを見ることは欠かせません。もちろん、Sambaの場合も例外ではありません。Sambaのログは、smb.confのlog file パラメータで指定した場所に出力されます。 サンプルとして、log file =/var/log/samba/log.%m が指定されている場合が多いですが,%m は、クライアントごとにログ・ファイルを作成することを意味し、smbdがログ・ファイル書き出しの競合で性能低下が起きるのを予防できます。 debug levelパラメータでログの量を調節できますが、この値を0にすると障害解析は難しくなります。最低でもdebug level=1とすべきです。障害調査時は、debug level=3以上が必要だと思われます。 では、実際の例を見てみましょう。Sambaのsmbdが起動すると、通常図9のようなログが出力されます。open filesやavailableはカーネル・パラメータの値を表示しており、エラーではありません。
ユーザーが接続するとログ・ファイル(log file =/var/log/samba/log.%mと設定してある場合はlog.クライアント名)に図10 のような接続ログが出力されます。同様にnmbdが起動すると図11のようなログが出力されます。
初心者がよく陥るエラーに図12のようなメッセージがあります。
これは自分のホスト名(とそのIP アドレス)が分からないという意味です。DNSの設定が正くない場合に生じます。hostnameコマンドで自分のホスト名を確認し、「ping ホスト名」コマンドで正しく名前解決できていることを確認します。 pingコマンド実行時に、自ホストのIPアドレスが127.0.0.1となるときは、/etc/hostsファイルの設定ミスです。図13 のようにホスト名と外部と通信可能なIPアドレスをマッピングさせます。 ドメイン名(samba.gr.jp)を付けたFQDNも忘れずに指定します。
ログの内容は英語で書かれており、分かりにくいかもしれませんが、訳せばそのままの意味のものが多いです。例えば図14も英語の通りの意味です。gidが- 2という不正な値のために接続できないことを意味しています。
英語で書かれているため、分かりにくいかもしれないが、訳せばそのままの意味のものが多い。 これは、/etc/group や/etc/passwd にある不正なuidやgidを修正することで解決します。ただし、ログの中にはSambaに精通しているユーザーが読んでもさっぱり分からないものも多数存在するのも事実です。自力でソースを読んでも不明な場合は、日本Samba ユーザー会のメーリング・リストなどで議論してみてください。 |