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 |
ファイル / 印刷サービスなど (Direct Hosting of SMB) |
445/tcp | Hi/tcp |
137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。実は、この 2つが存在しない場合でも、139/tcp(もしくは 445/tcp)が通過できればファイル / 印刷サービスは提供できます。
ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。これは仕様になります。また Samba マシンの名前解決についても WINS や LMHOSTS に静的に登録するか、
\\192.168.1.1\share
のような記述方法で Samba サーバを IP アドレスで指定する必要があります。
この他 SWAT を利用する場合は、Web ブラウザを実行するマシンのハイポートから Samba サーバの 901/tcp (デフォルト値の場合)への通信も許可する必要があります。
その他の機能
利用する機能によっては、この他のポートの解放が必要な場合もあります。たとえば Samba サーバを Active Directory ドメインのメンバサーバとする場合は、Samba サーバと DC との間で Kerberos や LDAP などの動作に必要なポートを解放する必要があります。
機能によっては MS-RPC に必要なポート(135/tcpおよびハイポートすべて)の開放が必要な場合もあります。
Samba は Windows NT 系 OS と同等の機能を UNIX 上で実現したプロダクトですので、本件に限らず、Samba について情報がない場合は、マイクロソフト社の技術情報を参照して開放が必要なポートを調査してください。
例えば「Windows サーバー システムのサービス概要およびネットワーク ポート要件」に機能ごとに開放が必要なポートの記述があります。
参照情報
この技術情報は「Linux Japan 2001年7月号: Samba-JP通信」の草稿を元に作成されています。