Samba を Direct Hosting of SMB に対応させる方法

提供:Samba-JP
ナビゲーションに移動検索に移動
KB番号 J0068
最終更新日 2006/11/05
作成者 たかはしもとのぶ
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 3.0 系列
  • Samba 2.2 系列

概要

Windows 2000 以降の OS では、従来の 139/tcp を用いる NetBIOS over TCP/IP (NBT) に代わり、445/tcp を用いる Direct Hosting of SMB という新しいプロトコルがデフォルトになっています。 Direct Hosting of SMB の概要については、以下の技術文書を参照してください。

Samba も、Direct Hosting of SMB に対応しています。

Samba 3.0系列での対応方法

Samba 3.0 系列では、デフォルトで Direct Hosting of SMB に対応しています。 対応を無効にしたい場合は、

 smb ports = 139

の設定を行います。このパラメータのデフォルト値は「445 139」となっており、従来からの NBT と Direct Hosting of SMB の両方に対応しています。

なお、Samba 2.2系列までの対応方法を用いて対応させることも可能です。

Samba 2.2系列までの対応方法

Samba 2.2 系列までの Samba を Direct Hosting of SMB に対応させるには、 inetd や xinetd などのプログラムから起動させることが必要です。

Red Hat Linux 7.3 の場合の設定例を以下に示します。

1. 以下のような内容で /etc/xinetd.d/samba という名称のファイル(実際はファイル名は何でも良い)を作成します。

     # default: off
     # description: Samba, Direct Hosting of SMB version. \
     #              Only Windows 2000 or above can connect to this version of \
     #              Samba.
     service microsoft-ds (← /etc/services 中の 445/tcp の記述と一致させます)
     {
             disable = no (← 無効にする場合は、ここを yes にしてください)
             port    = 445
             socket_type     = stream
             wait    = no
             user    = root
             server  = /usr/sbin/smbd
             log_on_failure  += USERID
     }

2. デーモンとして Samba を動作させている場合は、以下のようにして Samba を停止させます。

     # chkconfig smb off
     # /etc/init.d/smb stop

3. xinetd で定義した Samba を起動します。

     # /etc/init.d/xinetd restart

4. Windows 2000 以降の OS から接続できることを確認してください。

確実に Direct Hosting of SMB を使っていることを確認するには、パケットをキャプチャするか、Windows 2000 側で NetBIOS over TCP/IP を無効にした状態でも Samba に接続できることを確認してください。

この技術情報は samba-jp:13245 からの一連のスレッドの議論を元に作成されています。