Windows

CIFS/SMB 操作所需的 TCP/IP 埠

  • October 12, 2016

如果我想允許兩台防火牆電腦之間的 Windows 網路驅動器,我需要打開埠 137-139,還是埠 445 就足夠了?我必須送出表單並獲得批准才能打開防火牆埠,而且我不想要求比我需要的更多的開放埠。這裡的所有機器都是 Windows XP 或更高版本。

注意:當我說“Windows 網路驅動器”時,我並不完全確定我指的是 SMB 還是 CIFS,我也不完全清楚這兩種協議之間的區別。

埠 137-139 用於 NetBios/名稱解析。如果沒有它,您將不得不通過 IP 地址而不是 NetBIOS 名稱來訪問機器。\\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

引用自:https://serverfault.com/questions/346196