CIFS / SMB操作に必要なTCP / IPポート


44

ファイアウォールで接続された2台のコンピューター間でWindowsネットワークドライブを許可する場合、ポート137〜139を開く必要がありますか、それともポート445で十分ですか?フォームを送信し、ファイアウォールポートを開くための承認を得る必要があります。必要以上に開いているポートを要求したくありません。ここにあるすべてのマシンはWindows XP以降です。

注:「Windowsネットワークドライブ」と言うとき、SMBとCIFSのどちらを指しているのか完全にはわかりません。また、2つのプロトコルの違いについて完全に明確ではありません。

回答:


58

ポート137〜139は、NetBios /名前解決用です。これがないと、NetBIOS名ではなくIPアドレスでマシンにアクセスする必要があります。\\192.168.1.100\share_name反対の例\\my_file_server\share_name

したがって、IPアドレスのみで作業できる場合は、ポート445で十分です。


私のサイトでは、NetBIOS名は常にDNS名と同じです。ホスト名でマシンを参照すると、WindowsはNetBIOSを使用せずにDNS経由でマシンを見つけることができますか?
ジョナサン

5
クライアントが機能するDNSを使用できる限り、それで十分です。
ティム

1
これはパブリックIPアドレスでも機能しますか?ADSLモデム/ルーターのファイアウォールでポート445を開くだけで十分ですか?
Hrqls

11
@Hrqls理論的には、そうですが、知る限り、SMBを全世界に開放することは非常に悪い考えです。
サミュエルハーマー

@ Styne666、完全に同意します。さらに、適切なセキュリティサポートのないものをインターネット全体に公開することは、一般的に悪い考えです。少なくともIPsecトランスポートモードを使用して保護することをお勧めします。
dess

7

この構成は、137 / UDP、138 / UDP、139 / TCP、および445 / TCPで機能しました。ソースおよび追加情報で:http://www.icir.org/gregor/tools/ms-smb-protocols.html

したがって、これらは私のSambaサーバーのiptablesルールです。

# The router doesn't need SMB access.
-A INPUT -s 192.168.1.1 -p udp --dport 137 -j REJECT
-A INPUT -s 192.168.1.1 -p udp --dport 138 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 139 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 445 -j REJECT

# Actual Samba ports
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT

4
OPがWindowsコンピューターについて質問し、iptablesの理解レベルが完全に不明であることを考えると、これは完全に異なるシステムの構成ファイルとして記述するよりも良いでしょう。
DarkMoon

1
平易な英語、UDP 137および138、TCP 139および445
Arlen Beiler
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.