ファイアウォールで保護された2台のコンピューター間でWindowsネットワークドライブを許可する場合、ポート137〜139を開く必要がありますか、それともポート445で十分ですか?フォームを送信してファイアウォールポートを開くための承認を得る必要があり、必要以上のポートを開くことを要求したくありません。ここにあるすべてのマシンはWindowsですXP以降。
注:「Windowsネットワークドライブ」と言った場合、SMBまたはCIFSのどちらを指しているのか完全にはわかりません。また、2つのプロトコルの違いが完全に明確ではありません。 。
ポート137〜139は、NetBios /名前解決用です。これがないと、NetBIOS名ではなくIPアドレスでマシンにアクセスする必要があります。例\\192.168.1.100\share_name
とは対照的に \\my_file_server\share_name
したがって、IPアドレスのみで作業できる場合は、ポート445で十分です。
この構成は私にとってはうまくいきました: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