Samba の LMB が DMB からブラウズリストを取得できない
提供:Samba-JP
(J80から転送)
ナビゲーションに移動検索に移動
KB番号 | J0080 |
最終更新日 | 2003/04/24 |
作成者 | たかはしもとのぶ |
最終更新者 |
対象
この文書は、以下のプロダクトに付いて説明したものです。
- Samba 2.2.5
- Samba 2.2.4 日本語版
- Samba 2.2.4
現象
以下のような環境で、Samba 側のIPサブネットのブラウズリストがDMBからブラウズリストを取得できません。
結果として、IPサブネットB側のマシンはIPサブネットA側のマシンをブラウズすることができません。
DMB LMB [DC]========= (WAN) =======[samba] | | ┌─┬┴┬─┐ ┌─┬┴┬─┐ (Windowsクライアント) (Windowsクライアント) IPサブネット:A IPサブネット:B
原因
これは Samba 2.2 系列のバグ(デグレード)です。
少なくとも Samba 2.2.4 (日本語版含む) および Samba 2.2.5 のLMBは、DMBに接続してブラウズリストを取得しようとする際に、DMBのポート445(Direct Hosting of SMBのポート)に対して接続して取得しようとします。
しかし、Direct Hosting of SMB は Windows NT / Windows 9x 系 OS ではサポートされていません。また、Windows 2000 では Direct Hosting of SMB 自体はサポートはされているものの、ブラウズリストの取得は行えない実装になっています。
対処策
対処が行われた Samba 2.2.6 以降を利用してください。
なお、対処された箇所は source/nmbd/nmbd_synclists.c:74 の
/* W2K DMB's return empty browse lists on port 445. Use 139. * Patch from Andy Levine andyl@epicrealm.com. */ if (!cli_initialise(&cli) || !cli_set_port(&cli, 139) || !cli_connect(&cli, name, &ip)) {
という箇所ですので、この実装をバックポートすることで、以前のバージョンに対する対処も可能になると考えられます。
本技術情報は、samba-jp:13786 からの一連のスレッドを元にして構成されています。