我有一个samba
共享,我的设备所在的网络阻止了通过端口 445(标准 SMB TCP 端口)进行的通信。Linux 设备和 Mac 可以连接到此设备,因为它们可以使用端口 139(NBT over IP)与服务器通信,而该端口并未被阻止。然而,Windows 设备似乎坚持通过端口 445 进行通信。
有什么方法可以让我告诉 Windows 10 使用端口 139 而不依赖端口 445?
答案1
我通过在 Windows 10 上禁用 SMBv2/v3 来实现此目的:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
然后重启电脑。要撤消此更改并重新启用 SMBv3,请在提升的命令提示符下运行以下命令
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
更新:我已在 Windows 10 上重新启用 SMBv2,并尝试了服务器上的所有协议限制。NT1 有效。因此,您只需将以下行添加到服务器主 smb.conf 文件即可,而不是上面的行。我更喜欢这种方法,因为它会集中影响我的所有 Windows 10 机器:
server max protocol = NT1
答案2
我在全新安装 Windows 10(v1709)时遇到了同样的问题,即在连接到 SMB 服务器时不尝试使用端口 139。
事实证明 LanmanWorkstation 服务注册表设置
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage
缺少一些条目,首先我必须使用以下方法找出我的网卡的 GUID
wmic nicconfig get description,index,TcpipNetbiosOptions,SettingID
然后我必须确保所有必要的条目都存在。
绑定:
\Device\Tcpip_{GUID}
\Device\NetBT_Tcpip_{GUID}
出口:
\Device\LanmanWorkstation_Tcpip_{GUID}
\Device\LanmanWorkstation_NetBT_Tcpip_{GUID}
路线:
"Tcpip" "{GUID}"
"NetBT" "Tcpip" "{GUID}"
显然,需要重新启动,并且必须启用“启用 TCP/IP 上的 NetBIOS”。
注意:Windows 10 不愿意通过端口 139 连接到 SMB v2 服务器,我只需要连接到 SMB v1 服务器或打开端口 445 的 SMB v2 服务器,因此我不需要在客户端禁用 SMB v2。
我建议访问共享并使用 IP 地址(例如 \\192.168.1.11\share)来测试 SMB1 是否正常工作。
答案3
听起来你正在公共网络上使用裸 SMB(CIFS)——这不太好。至少使用 VPN 隧道来增加安全性。这也解决了端口 445 被阻止的问题,因为每个端口都经过加密并隐藏在 VPN 隧道内。在具有共享的机器上运行 VPN 服务器程序。运行 VPN 客户端软件以连接到共享 VPN 服务器机器。
如果您想避免技术问题,并且只有几个容易预料的文件 - 请使用 HTTPS 网络界面将它们存储在 DropBox 或类似的在线存储中。
HTTPS 文件传输和许多其他更好的协议可用于跨互联网传输。WebDAV 或多或少具有交钥匙 HTTPS 文件服务器解决方案。
是的,SMBv3 在 Windows 上仅使用端口 445 (UDP/TCP)(我认为最新的 SAMBA 也是如此)。端口 445 被阻止,因为尽管 SMB 协议版本 3 进行了许多安全改进。当暴露给互联网或不受公众保护的 LAN 上的匿名用户时,SMBv3 仍然很容易受到恶意软件感染或数据盗窃。
更糟糕的是,端口 137、138 和 139 的使用大多与旧版本的 SMB 有关。
即使在所谓的安全 LAN 上,如果可以使用 SMBv2 或更高版本,也应该禁用 SMBv1。SMBv3 比 SMBv2 更受青睐。较旧的 SMB 版本可以快速将任何受感染计算机的问题传播到所有连接到 LAN 的机器。这实际上是板载防火墙的一个大漏洞。
PS 是的,它将使用 CPU 能力来加密 VPN 中的数据,因此在交换文件时您需要一些额外的 CPU 空间。如果手动编辑小文件,这不是什么问题。但对于已经接近可接受性能极限的机器,大文件传输或数据库访问的大量数据交换可能是一个问题。如果可行,请先将工作分开,先下载本地副本,然后在本地副本上操作,然后再将更改后的文件传输回共享。
根据经验法则,配备 2GB RAM 的专用 Pentium D 可以通过 VPN 连续推送 10-15Mbps/秒。这是 2005-2006 年的旧技术。
任何 i3 gen4+ CPU 或任何 i5 或 i7(第一代 CPU 除外)都具有特殊的 AES 加密硬件,可让它们以快 100 倍的速度进行 VPN 加密。因此,在执行 VPN 的同时,有足够的能力执行其他任务。文件传输速度不会因 CPU 因素而变慢。