!== !== BROWSING-Config.txt for Samba release 2.0.7 26 Apr 2000 !== 更新日: July 5, 1998 寄稿者: John H Terpstra 翻訳者: 翻訳者: 高橋基信 更新日: 2000/02/27 主題: サブネットを越えたブラウジング / ワークグループを越えたブラウジング =============================================================================== 概要: ===== この文書は、BROWSING.txt と併せて読むことにより、サブネットやワークグループ (ドメイン)をまたいだブラウジングの方法の初歩を述べている。 WINS は、NetBIOS 名を IP アドレスに変換するもっとも優れた方法であるが、 NetBIOS 名のアドレス変換以外は、ブラウズリストの構築には関係しない。 (訳注: 以下の文章の原文では network と書かれた場合に、TCP/IP のセグメ ントを指している箇所と、複数セグメントからなって、互いに通信を行なう、 イントラネットのような概念として使われている箇所とがあります。従って、 以下の訳文では、曖昧さを無くすため、network の訳をセグメントと記述して いる場合があります) 説明: ===== 第一に、すべての MS Windows ネットワーキングは、SMB (Server Message Block) に基づいたメッセージングにより実現されている。SMB メッセージングは NetBIOS を用いて実装されている。Samba は、TCP/IP 上で NetBIOS を実装している。 MS Windows の製品も同様である。NetBIOS ベースのネットワークは、ブロー ドキャストによりブラウズリストの管理を行っている。したがって、NetBIOS over TCP/IP (訳注: NBT のこと)が動くときは、UDP によるメッセージングが 行われている。UDP はブロードキャストやユニキャストができるからである。 通常は、ユニキャストの UDP メッセージのみがルーターにより転送される。 smb.conf の "remote announce" パラメータにより、UDP のユニキャストメッセー ジングを用いて、ブラウズアナウンスをリモートのセグメントに送ることができる。 同様に "remote browse sync" パラメータにより、ユニキャスト UDP によりブラウ ズリストを得ることができる。 第二段階として、Samba のみが SMB サーバーとして動作しているネットワー クでは、どれか 1 台のマシンの nmbd をWINS サーバーとして設定するべきで ある。これにより、ブラウジング環境の設定を簡単にすることができる。セグ メント毎に Samba WINS サーバーがある環境では、セグメントを越えたブラウ ジングは、それぞれの smb.conf において "remote announce" と "remote browse sync" を設定することによってのみ可能になる。 ネットワーク全体で WINS サーバーが 1 台しかない場合は、"remote announce" と "remote browse sync" は、必要な機能というわけではない。 Samba WINS は、Microsoft の WINS 複製機能をサポートしていない。すなわち、 Samba を WINS サーバーとして設定する場合は、そのネットワークで 1 台の マシンの nmbd しか WINS サーバーとして設定できないことになる。いくつか のサイトにおいては、冗長性を持たせるために複数の Samba WINS サーバー (一つのサブネットに一つのサーバー)を設定し、"remote browse sync" と "remote announce" を用いてすべてのセグメントにおけるブラウズリストの収 集を行っている。しかしこれでは、クライアントはローカルセグメントにおけ る名前解決しかできず、他のサブネットにあるサーバーのアドレスを得るため に DNS による名前解決を利用しなければならない。この方法は、あまり勧め られないが、最後の一手として述べておく(すなわち、他に手段がなければ)。 最後に、ブラウズリストは、長くて 15 分ごとに行われる信頼性のないブロー ドキャストを集めることによって得られることを述べておく。すなわち、ブラ ウズリストが作成されるまでには時間がかかり、特にセグメントをまたぐ環境 では、ブラウズリストが安定するまでの時間は 45 分に達することもある。 A) "Remote Announce" パラメータの使用法 --------------------------------------- smb.conf における "remote announce" パラメータは、セグメントにおけるすべ ての NetBIOS 名をリモートネットワークに送るために使われる。 "remote annouce" パラメータの書式は: remote announce = a.b.c.d [e.f.g.h] ... _もしくは_ remote announce = a.b.c.d/WORKGROUP [e.f.g.h/WORKGROUP] ... ここで: a.b.c.d: は、LMB (Local Master Browse) の IP アドレスか、 e.f.g.h: リモートネットワークのブロードキャストアドレスかど ちらかである。 すなわち、LMB のアドレス(例えば) 192.168.1.10 であ るか、もしくは、ネットマスクを 24 ビット (255.255.255.0) と仮定して、192.168.1.255 である。 "remote announce" がリモートのセグメントのブロード キャストアドレスのとき、すべてのホストがこのアナウ ンスを受信することになる。これは、うるさく、良い方法 ではないが、リモートの LMB の IP アドレスがわからな い場合は必要な方法である。 WORKGROUP: は、オプションで、自分自身のワークグループでもリモー トのワークグループどちらでもよい。もし、リモートの ワークグループを使った場合は、ローカルの NetBIOS 名 がリモートのワークグループに属しているように(向こう 側からは)見える。これは、名前解決の問題を引き起こす 可能性があり、避けるべきである。 B) "Remote Browse Sync" パラメータの使用法 ------------------------------------------ smb.conf 中の "remote browse sync" パラメータは、別の LMB に対して、こ ちらの LMB とNetBIOS 名のリストの同期を行なう必要があることをアナウン スする際に使われる。これは、このオプションをつけた Samba サーバーがそ のセグメントにおいて LMB として設定されているときのみに機能する。 "remote browse sync" パラメータの書式は: remote browse sync = a.b.c.d ここで: a.b.c.d: は、リモートの LMB の IP アドレスもしくは、リモート セグメントのブロードキャストアドレスである。 C) WINS の使用 -------------- WINS (Samba WINS もしくは MS Windows NT Server WINS どちらでも) の使用は強 く推奨される。すべての NetBIOS マシンは、その名前を利用可能なサービス の name_type 値とともに登録する。例えば、各マシンは、その名前を直接 unique (type 0x03) 名として登録する。また、もしそのマシンが LAN Manager 互換サーバーサービス(共有とプリンタを他のユーザーに利用可能と している)ならば、その名前を server (type 0x20) 名としても登録する。 すべての NetBIOS 名は、15 文字以内である。name_type 値は名前の後に付けられ る -- すなわち、全体で 16 文字になる。15 文字よりも短い名前にはスペースがパ ディングされる。すなわち、全ての NetBIOS 名は(name_type 値を含め) 16 文字 になる。 WINS は、登録されたこれら 16 文字の名前を保持する。ネットワークにログオンし ようとするクライアントは、WINS サーバーに Netlogon サービスの name_type (訳注: 0x1c Group) 値を持つ名前のリストを要求することができる。この仕 組みは、ブロードキャストトラフィックを軽減し、ログオンプロセスを手早く 済ませられる。ブロードキャストによる名前解決はネットワークセグメントを 越えた利用はできないので、このタイプの情報はWINS サーバーもしくは、静 的に管理された "lmhosts" ファイル(WINS サーバーがない場合は、すべての クライアントが持たなければならない) によってのみ、提供される。 WINS はまた、すべての LMB 間でブラウズリストを同期させるためにも働く。LMB は、そのブラウズリストを DMB (Domain Master Browser) と同期させなくてはなら ず、WINS は LMB が DMB を探すのを手助けする。仕様により、これは一つのワーク グループ内のみで機能する。DMB 機能は MS Windows NT ドメインとは関係な いことに注意すること。NT ドメインは、セキュリティに関する環境を管理す るのもであるが、DMB はブラウスリストに関するマスターコントローラーとし てのみ動作する。 WINS 環境は、すべてのクライアントの TCP/IP プロトコルスタックが WINS サーバーを使用するように設定されているときのみ正しく機能する。WINS サー バーを使用するように設定されていないクライアントはすべて、ブロードキャ ストによる名前登録を行い、したがって WINS サーバーはそのことを知ること はない。WINS サーバーに登録されていないマシンに対する、他のクライアン トからの名前-アドレス解決は、いかなる場合にも失敗し、ワークステーショ ンアクセスエラーを起こす(訳注: クライアントと WINS に登録されていない マシンとが同じセグメントに存在する場合はこの限りではない)。 Samba を WINS サーバーとして設定するには、smb.conf ファイルにおける [globals] セクションにおいて "wins support = yes" とすればよい。 Samba が WINS サーバーに名前登録を行なうようにするには(訳注: WINS クラ イアントとして設定するには)、smb.conf ファイルにおける [globals] セク ションにおいて "wins server = a.b.c.d" を加えればよい。 決して、"wins support = yes" と "wins server = a.b.c.d" を同時に使用しない こと。特に、IP アドレスを自分自身としないこと。 D) MS Windows マシンにおいて、1 種類より多くのプロトコルを使用しないこと ------------------------------------------------------------------------ とても起こりやすいブラウジングの問題として、MS Windows マシンに 1 種類より 多くのプロトコルをインストールしてある場合がある。 すべての NetBIOS マシンは、15 分ごとに LMB (と DMB) を選定するプロセス (訳注: ブラウザ選定のこと)に参加している。選定基準(election criteria) が、ブラウザ選定の際にだれが勝利するかを決める際の優先順位として用い られる。 Samba や Windows NT が動いているマシンは、その順位がかさ上げされ、その ため最もふさわしいマシンが選定され、その役目を果たす。 選定プロセスは、いわば、すべての NetBIOS ネットワークインターフェイスにおけ る "勝ち残り" である。TCP/IP と IPX がインストールされ、ともに NetBIOS が有 効になっている 1 台の Windows 9x マシンがある場合、選定プロセスは両方のプロ トコルで行われる。よく起こる場合として、もし、その Windows 9x マシンが両方 のプロトコルを備えた唯一のマシンである場合、IPX プロトコルの NetBIOS インター フェイスにおいて LMB 選出に勝つことになる。そのとき、Samba は LMB の役を失 い、Windows 9x が代わりに LMB となる。Samba は LMB の機能を終了させ、TCP/IP のみのマシンにおけるブラウズリストの操作は失敗する(訳注: その Windows 9x マシンが TCP/IP における LMB として正しく動作すれば、問題は発生しな いはずであるので、上記の記述は何か誤解があると考えられる)。 最も安全に機能させるルールは次のとおり - 1種類のプロトコルのみを使え! E) 名前解決順位 =============== NetBIOS 名から IP アドレス変換には、いくつかの方法がある。以下に挙げるもの が NetBIOS name_type を供給できるものである。それは: WINS: 最も良い方法! LMHOSTS: は、静的で管理が難しい。 Broadcast: UDP を使う。リモートセグメントに対して名前解決 ができない。 代替方法: /etc/hosts: は、静的であり、管理が難しく、かつ name_type をサポー トしない。 DNS: は、よい選択だが、不可欠な name_type 情報を欠 いている(訳注: 一部の name_type 情報を疑似的に 持たせることは可能である)。 多くのサイトは、DNS 検索を抑止すると同時にブロードキャストによる名前解決を 避けようとしている。ここで "name resolve order" パラメータが威力を発揮する。 "name resolve order" パラメータの書式は: name resolve order = wins lmhosts bcast host _もしくは_ name resolve order = wins lmhosts (bcast と host を削った) デフォルトは: name resolve order = host lmhost wins bcast ここで: "host" は、Unix システムにおいて、もともと用いられる方法であり、 gethostbyname() システムコールにより実装されているものである。通常 は、以下によってコントロールされる。 /etc/hosts.conf /etc/nsswitch.conf /etc/resolv.conf ===============================================================================