Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly 共著
第一版 1999 年 11 月
1-56592-449-5, 注文番号: 4495
416 ページ, 34.95 ドル

ハードコピー版(英語)を購入する

目次


Previous: 3.1 Windows 95/98コンピュータの設定 Chapter 3
Windows クライアントの設定
Next: 3.3 SMB/CIFS への手引き
 

3.2 Windows NT 4.0コンピュータの設定

Windows NTの設定は、Windows 95/98よりも少しだけ難しい。SambaをWindows NTから利用するには、WorkstationサービスとTCP/IPプロトコルが必要になる。両方ともにNT標準であるが、正しく設定されているとは限らないため、インストールと設定に付いても言及する。

基本的に以下の6つの設定が必要である:

  1. マシンへの名前の割り当て

  2. Workstation サービスのインストール

  3. TCP/IP プロトコルのインストール

  4. マシンの名前とIPアドレスの設定

  5. DNSとWINS名前解決サービスの設定

  6. プロトコルとサービスとのバインド

3.2.1 基本的な設定

このセクションではWindows NTからSambaを利用するのに必要な設定の概要に付いて説明する。Windows NTネットワーク管理に付いて更に詳しく知りたい場合は、Craig HuntとRobert Bruce Thompsomの Windows NT TCP/IP Network Administration (O'Reilly)が良書である。なお以下の設定は"Administrator"で行なうこと。

3.2.1.1 マシンの名前づけ

最初にやるべきことは、マシンにNetBIOS名を付与することである。[コントロールパネル]から[ネットワーク]アイコンをダブルクリックして開く。これによりマシンの[ネットワーク]ダイアログボックスが展開される。このダイアログボックスの最初のタブは、 図 3.16に示した[識別]タブである。

図 3.16: ネットワークパネルの[識別]タブ

図 3.16

ここで、マシンの名前を設定し(ここでは名前を Artish とした)、デフォルトのワークグループ名をSambaサーバの smb.conf ファイルで指定したものに変更する必要がある。ここではワークグループ名をSIMPLEとした。ただし、名前の変更は(Windows 95/98 とは異なり)この画面では行なえず、テキストフィールドの下にある[変更]ボタンを押して行なう必要がある。このボタンを押すと、[識別の変更]ダイアログボックスが現われる。ここで 図 3.17に示すように、ワークグループ名とマシンの名前の再設定が行なえる。

図 3.17: 識別の変更

図 3.17

警告: 後述するTCP/IPの設定中でもマシンの名前の設定が必要であるが、二つの名前は一致させるようにすること。ここで設定するのはNetBIOS名である。こでをTCP/IPのホスト名と異なる名前にすることも可能ではあるが、それは通常良い結果をもたらさない。Windows NTはコンピュータ名とワークグループ名を強制的に大文字にするが、これは心配しなくて良い。ネットワークに接続する際、あなたの意図していたところを間違いなく理解するくらいの賢さは Windows NT にもある。

3.2.1.2 TCP/IPプロトコルのインストール

次に、[ネットワーク]ダイアログボックスから[プロトコル]タブを選択し、 図 3.18のようにTCP/IPプロトコルがインストールされていることを確認する。

図 3.18: [プロトコル]タブ

図 3.18

プロトコルがインストールされていない場合は追加する必要がある。[追加]ボタンを押すと、 図 3.19のような[ネットワークプロトコルの選択]ダイアログボックスが表示される。Windows 95/98と異なり、TCP/IPプロトコルはリストの最後の方に現われている筈である。

図 3.19: [ネットワークプロトコルの選択]ダイアログボックス

図 3.19

TCP/IP をプロトコルとして選択してから確認を行なう。可能であれば、TCP/IPプロトコルのみをインストールする。これは、マシンがサービスを検索する際に実際には片方のプロトコルのみを利用したい場合でも、インストールされている全てのプロトコルが用いられてしまうため、NetBEUIは通常インストールしない方がよいであろう。[2]

[2] 瀕出事項: 実際には利用していないプロトコルで検索を行なってから暫くすれば、マシンはタイムアウトを検知して正しいプロトコルを用いて検索を行なう。しかしこの不毛な検索は、パフォーマンスの低下と不可解な遅延とを引き起こしてしまう。

3.2.1.3 Workstation サービスのインストール

TCP/IPをインストールしたら、[ネットワーク]パネルの[サービス]タブをクリックして、 図 3.20のリストの最後の方に表示されているように、Workstation サービスが存在していることを確認する。

図 3.20: [ネットワークサービス]ダイアログボックス

図 3.20

このサービスはMicrosoftネットワークのクライアントとしての機能を司り、マシンがSMBサービスにアクセスすることを可能とするものである。Workstation サービスは必須である。このサービスはWindows NT Workstation 4.0 と Server 4.0 の両方ともデフォルトでインストールされている。これがない場合は、TCP/IPのようにして、インストールを行なうことができる。その場合、[追加」ボタンを押して、 図 3.21のように Workstation サービスを選択する。

図 3.21: [ネットワークサービスの選択]ダイアログボックス

図 3.21

3.2.2 TCP/IPの設定

Workstation サービスをインストールしたら、[プロトコル]タブに戻って、TCP/IP Protocolエントリを選択して、ウィンドウ下部の[プロパティ]ボタンをクリックする。[Microsoft TCP/IPプロトコル]パネルが表示される筈である。Windows NTには5つのタブがあるが、(Windows 95/98のように)このうちの3つを設定すればよい:

  • IPアドレス

  • DNS

  • WINSアドレス

3.2.2.1 [IPアドレス]タブ

[IPアドレス]タブは 図 3.22のようになっている。

図 3.22: Windows NT上の[Microsoft TCP/IPのプロパティ]

図 3.22

[IPアドレスを指定する]というラジオボタンを選択して、コンピュータのアドレスとサブネットマスクを適切なアダプタ(イーサネットカード)に対して設定する。自分自身か、ネットワーク管理者の方で、Sambaサーバと同一のサブネット(LAN)上にあるクライアント用のアドレスは全て指定されている筈である。例えばサーバのIPアドレスが192.168.236.86で、ネットマスクが255.255.255.0の場合、192.168.236.10が利用可能であれば、Windows NT Workstation 用としてこのアドレスとサーバと同一のサブネットマスクを用いることができる。ネットワーク上でDHCPサーバを利用している場合は、[DHCPサーバからIPアドレスを取得する]を選択する。

利用できるIPアドレスがなく、自分がネットワーク管理者の場合は、ここの例のようにInternicによってLANの為に特に予約されている192.168. x.xサブネットを利用すればよいであろう。そうでない場合は、ネットワーク管理者に対してネットワーク上で利用可能なアドレスを探してもらおう。

[デフォルトゲートウェイ]フィールドには ルータとして認識しているマシンを設定する。複数のネットワークを使っていて、それらをつなぐルータも複数ある場合は、自分のサブネット上にあるルータの IP アドレスを設定すること。

3.2.2.2 [DNS]タブ

次に 図 3.23のような[DNS]タブについて説明しよう。これはDNSパネルを表示する。

図 3.23: [DNS]パネル

図 3.23

Domain Name System (DNS)は atrish.example.comのような可読形式のコンピュータ名を192.168.236.10のようなIPアドレスに変換する役割を担っている。NTマシン上でこれを達成する方法は2つある。1つは名前解決のためにDNSサーバを指定する方法であり、もう1つは後で参照できるようにマシン上に名前とアドレスの組を保持しておく方法である。

Internetに直接接続していないLANの場合、利用可能なホストの一覧は通常小さく、通常ローカルファイル上に保持されていることだろう。ネットワーク上にあるアドレスのうちアクセスする可能性があるものを予め推測することは不可能であるため、Internetに接続されているネットワークでは、通常DNSサービスが利用されている。DNSサーバを利用しているかどうかがよく分からないか、DNSサーバのアドレス自体が良く分からないという場合は、Sambaサーバ上の /etc/resolv.conf というファイルを確認すること。DNSを利用しているマシンであればどれにもこのファイルがある。これは以下のような形式になっている:

#resolv.conf 
domain example.com 
nameserver 127.0.0.1 
nameserver 192.168.236.20

この例ではリスト中の最初のnameserver行は127.0.0,1であり、これはSambaサーバはLAN上のDNSサーバとしても動作していることを示唆するものである。[3] その場合は、[DNSの設定]ダイアログボックスに入力するときに、ネットワーク側のIPアドレス(localhostのアドレスである127.0.0.1ではなく)を利用することになる。そうでない場合、 nameserverから始まる行に記述された別のアドレスを利用する。自分が所属するネットワークに所属するものを選択すること。 /etc/resolv.conf中に記述されたサーバであればどれを指定しても動作はするが、手近なサーバを指定することでパフォーマンスが向上する。

[3] 127.0.0.1というアドレスは localhost のアドレスになっており、常に自分自身を指定するものである。例えばUNIXサーバ上で ping 127.0.0.1を行なえば、そのホスト自身に ping するときのように、いつでも応答が得られるはずである。

最後にマシンの名前を再度入力する。[ネットワーク]ダイアログボックスの[識別]タブで入力したもの(NetBIOS名)と同じになっていることを確認すること。またマシンが所属しているDNSのドメイン名も入力する。例えばマシンが example.comというドメインに所属している場合、それを入力する。他のオプションは無視しても問題ない。

3.2.2.3 [WINSアドレス] タブ

DNSサーバを使わない場合でも、NetBIOS名をアドレスに変換したりその逆を行なったりする手段は必要だ。我々としては、DNSとWINSの両方を設定することを推奨する。NTはWINSを優先的に利用し、WINSで名前解決ができなかった場合に、WINSからDNSを利用することが可能になっている。[WINSアドレス]タブは 図 3.24のようになっている。

図 3.24: [WINSアドレス]タブ

図 3.24

WINSサーバが存在している場合は、そのアドレスをプライマリWINSサーバに記入する。SambaサーバがWINSサービスを提供している場合(つまりSambaサーバの smb.confファイル中に wins service = yesという行がある場合)は、SambaサーバのIPアドレスをここに入力する。それ以外の場合はネットワーク上の別のWINSサーバのアドレスになる。

恐らく[アダプタ]というフィールドがあることに気付いていることだろう。このフィールドでは、WINSが適切なネットワークに名前解決サービスを提供するために、TCP/IPを実行しているイーサネットアダプタを指定しておく必要がある。LANとダイヤルアップアダプタの両方がある場合は、設定がLANアダプタになっていることを確認しておくこと。

最後に[Enable DNS for Windows Resolution]チェックボックスをチェックして、WINSが名前を見付けられなかった場合にDNSに問い合わせるようにする。その他のオプションは無視しても問題ない。

3.2.2.4 Hosts ファイル

DNSもWINSもなく、ブロードキャストによる名前解決も利用したくないという場合は、IPアドレスとホスト名のテーブルを作成して、標準のUNIX /etc/hosts 形式で提供する必要がある。頻繁に変更されるネットワークでこのファイルをメンテナンスすることはトラブルの原因になりかねないため、この方式は推奨しないが、トラブルが発生した時の切り分けにもなるためここで説明しておく。WindowsのostファイルはWIndowsをインストールしたドライブの \WINDOWS\HOSTSディレクトリに存在するはずである(monyo 訳注: これは誤りで実際は Windows NTをインストールしたドライブの\WINNT\SYSTEM32\DRIVERS\ETCに存在する)。以下にこのファイルの例を示す:

127.0.0.1        localhost
192.168.236.1    escrime    escrime.example.com 
192.168.236.2    riposte    riposte.example.com 
192.168.236.3    wizzin     wizzin.example.com 
192.168.236.4    touche     touche.example.com 
192.168.236.5    gurgi      gurgi.example.com 
192.168.236.6    jessiac    jessiac.example.com 
192.168.236.7    skyline    skyline.example.com 

必要であれば、Sambaサーバの /etc/hostsファイルから直接内容をコピーすることもできる。ファイルの形式は同一である。このファイルはUNIXサーバのhostsファイルと同じ目的に利用される。再度念を押すが、Windowsでは hostsファイルによる名前解決は最後の策として用いること。

3.2.2.5 [バインド]

バインド という言葉は"connected together at configuration time"ということを示す言葉として使われている。例えばTCP/IPプロトコルは(ダイヤルアップ接続ではなく)イーサネットカードと接続されており、実際に正しく接続されているということを意味している。[ネットワーク]ダイアログボックスに戻って[Show]フィールドから[全てのサービス]を選択して、現われたツリー構造中の全ての + ボタンをクリックすることで、 図 3.25のような画面が現われる。

図 3.25: サービスのバインド

図 3.25

これはWorkstation、Server、NetBIOSインタフェースといったサービスがWINSクライアントに関連づけられていることを示す。この状態でMicrosoft TCP/IPとして適切なバインドになっている。

3.2.3 Sambaサーバへの接続

[ネットワーク]ダイアログボックスの残りのタブについてはデフォルトのまま無視しても問題ない。OKボタンを押して設定を完了する。(必要な場合)適切なファイルがインストールされたら、変更を有効にするため再起動を行なう必要がある(monyo 訳注: 実際は必ずしも再起動が必要でない場合も多い)。

そしてその瞬間がやってきた。Sambaサーバが動作しており、NTマシンはSambaと通信できるように設定されている。再起動後にログインしてからデスクトップ上の[ネットワークコンピュータ]アイコンをダブルクリックすると、Sambaサーバがワークグループのメンバーとして、図 3.26のように表示されているはずである。

図 3.26: Windows NTの[ネットワークコンピュータ]

図 3.26

サーバ名をダブルクリックすることで、 図 3.27のようにサーバがネットワーク上に提供しているリソースが表示される。この場合 test 共有とデフォルトのプリンタがWindows NTのワークステーションに対して提供される。より詳細な情報に付いては、この章の前のほうにあった "Sambaサーバへの接続" セクションの警告を参照して欲しい。

図 3.27: サーバ上の共有

図 3.27

警告: もし IPC$共有に対するユーザのパスワードを要求するダイアログが表示された場合は、Sambaがクライアントから送信されたパスワードを受け付けなかったということである。クライアント側で作成されたユーザ名とパスワードは 必ず Sambaサーバ上のユーザ名とパスワードの組合せと合致している必要がある。もしWindows 98やWindows NT サービスパック3以上を利用している場合、恐らくクライアントは平文パスワードではなく暗号化パスワードを送信しているのが原因であろう。 Sambaサーバ上で以下の2つの手順を行なうことでこの状況に対処できる。まず以下のエントリをSamba設定ファイルの [global]セクションに追加する: encrypt password=yes。次にSambaサーバ上の smbpasswdプログラムをみつけ(デフォルトで /usr/local/samba/binにある)、これを用いてSambaの暗号化パスワードデータベースにエントリを追加する。例えば steveというユーザをSambaの暗号化パスワードデータベースに追加するには、 smbpasswd -a steveと入力する。最初にパスワードを入力した時は、プログラムはパスワードデータベースが存在しないというエラーを出力する。この場合データベースがデフォルトの場合 /usr/local/samba/private/smbpasswdに作成される。

サーバが一覧中に表示されていない場合は、慌てずにWindows NT Explorer (Internet Explorerではない)を起動して、[ツール]メニューから[ネットワークドライブの割り当て]を選択する。ダイアログボックスが現われるので、そこにサーバ名と共有名 testをChapter 1で述べたWindows形式で入力する。一例をあげるとサーバ名が"server"は \\server\tempのように入力する。 これでもうまく行かない場合は、トラブル解決のため、Chapter 9, Sambaのトラブルシューティングを参照してほしい。

これでもうまく行かない場合は、ネットワーク上のどこが問題かの切り分けのため、Chapter 9 の "Fault Tree" セクションに直行すること。

動作したのであれば、まずはおめでとう! サーバへの書き込みや、ネットワークプリンタへのデータの送信を行なってほしい。全く違いを意識することなく動作することに驚くことだろう。これでSambaサーバとクライアントの設定は完了したので、以降はSambaがどのように動作しているか、またどのように使いやすく設定を行なうかについて説明していく。


Previous: 3.1 Windows 95/98コンピュータの設定 目次 Next: 3.3 SMB/CIFS への手引き
3.1 Windows 95/98コンピュータの設定 書籍索引 3.3 SMB/CIFS への手引き

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.