Samba をファイアウォール越しに利用する

提供:Samba-JP
2006年12月31日 (日) 12:50時点におけるMonyo (トーク | 投稿記録)による版 (MS-RPC の情報追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動検索に移動
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通信」の草稿を元に作成されています。