Samba をファイアウォール越しに利用する
KB番号 | J0114 |
最終更新日 | 2003/02/11 |
作成者 | はせがわようすけ |
最終更新者 | たかはしもとのぶ |
対象
この文書は、以下のプロダクトに付いて説明したものです。
- Samba 2.0.x オリジナル版
- Samba 2.2.x オリジナル版
- Samba 2.0.x 日本語版
- Samba 2.2.x 日本語版
Q. Samba をファイアウォール越しに利用しようとしていますが、ファイアウォー ルの設定はどのようにすればよいでしょうか??
Samba は Windows NT と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、Microsoft社の各種技術情報などを参照するのがよいでしょう。
今回の場合、例えば「[JP150543:Windows NT、Terminal Server、および Microsoft Exchange サービスの TCP/IP ポートの使用について]」に関連する記述があります。ただし、Samba では WINS 複製はサポートしませんので、42/tcp は利用しません。また DNS/DHCP/PPTP 等の機能は、元もと Samba の実装しているファイル共有とは関係がありません(注1)。
注1: WINS Manager 等が利用している 135/tcp も Samba は利用しません。なおこの技術情報注には 137/tcp という記述がありますが、これは 137/udp の記述ミスだと考えています。
これらを総合すると、Samba をファイアウォール越しに利用する際に必要なポートは以下の3つになります。
- 137/udp 名前登録など
- 138/udp ブラウジングなど
- 139/tcp ファイル / 印刷サービスなど
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 のような記述方法になります。
なお、これは外部ネットワークのマシンがWindowsマシンの場合も同様で、特に Samba の機能が劣っているわけではありません。
この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。