Samba をファイアウォール越しに利用する
KB番号 | J0114 |
最終更新日 | 2006/12/30 |
作成者 | はせがわようすけ |
最終更新者 | たかはしもとのぶ |
対象
この文書は、以下のプロダクトに付いて説明したものです。
- Samba 2.0 系列
- Samba 2.2 系列
- Samba 3.0 系列
説明
Samba をファイアウォール越しに利用する場合、Samba に対する以下の通信を許可する必要があります。
Samba サーバ上の待ち受けポート番号 | クライアントの接続元のポート | 目的 |
---|---|---|
137/udp | 137/udp | 名前登録など |
138/udp | 138/udp | ブラウジングなど |
139/tcp | Hi/tcp | ファイル / 印刷サービスなど |
445/tcp | Hi/tcp | ファイル / 印刷サービスなど |
42/tcp | Hi/tcp | WINS複製 |
135/tcp | Hi/tcp | RPC |
Hi/tcp | Hi/tcp | RPC |
137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。実は、この 2つが存在しない場合でも、139/tcp が通過できればファイル/ 印刷サービスは実行できます。
また TCP のため、下の図のように片方向からのアクセスを実現することも可能です。従って、特に問題がなければ、139/tcp だけをアクセスを許可したい方向のみ通過可能に設定するのがよいでしょう(注2)
内部ネットワーク 外部ネットワーク Windows クライアント ------- [FW] ---> Sambaマシン - 共有フォルダ1 - 共有フォルダ2 - 共有フォルダ3
注2: 当然 TCP の戻りパケットは通過できるように設定しておく必要があります。
ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。これは仕様になります。また Samba マシンの名前解決についても WINS や LMHOSTS に静的に登録するか、直接 Samba サーバを IP アドレスで指定する必要がありますので(注3)、注意して下さい。
注3: \\192.168.1.1\share のような記述方法になります。
Samba は Windows NT と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、Microsoft社の各種技術情報などを参照するのがよいでしょう。
今回の場合、例えば「Windows サーバー システムのサービス概要およびネットワーク ポート要件」に関連する記述があります。
なお、これは外部ネットワークのマシンがWindowsマシンの場合も同様で、特に Samba の機能が劣っているわけではありません。
参照情報
この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。