问题
为什么 NetBios 过滤会影响 SMB3/连接到端口 445 的能力?
语境
一些用户(包括我自己)在从其家庭连接访问托管在 Azure Files 中的文件共享时遇到问题,收到以下错误。
Windows 无法访问 \myStorageAccount.file.core.windows.net\my-share\
检查名称的拼写。否则,您的网络可能有问题。要尝试识别和解决网络问题,请单击诊断。
错误代码:0x80070035
找不到网络路径
运行在线端口测试myStorageAccount.file.core.windows.net
显示端口 445 已打开。
从我的本地机器运行Test-NetConnection -ComputerName 'myStorageAccountName.file.core.windows.net' -port 445
会失败;尽管我的本地设备的防火墙软件没有阻止连接。
最终我发现原因出NetBios filter
在我的路由器上;启用此功能后,与 Azure 文件共享上的端口 445 的连接失败;禁用它所有工作。
我的路由器文档还提到此过滤器会影响 SMB:
启用 NetBIOS 过滤器
出于安全原因,FRITZ!Box 中的 NetBIOS 过滤器默认开启。它会阻止 NetBIOS 数据包,这些数据包通常不需要在 Internet 中进行通信。仅当您使用必须与 Internet 交换 NetBIOS 数据包的应用程序时才禁用此过滤器。例如,SMB 访问 Strato HiDrive 就是这种情况。
我不确定这是否归结为路由器过滤逻辑中的一些错误,或者是否还有更多事情发生。
如果相关,我们启用了 RBAC 过滤(例如,我的帐户Storage File Data SMB Share Elevated Contributor
分配了角色),并在我们的文件共享上启用了 AD ACLS(如John Savill 视频中所述)......尽管我认为那些不应该用于简单的端口测试?
如前所述,此规则的命名并不正确。虽然端口 445 可用于 NetBios,但它也可用于基于 TCP 的 SMB,因此 SMB 无法正常工作。您将需要打开它以允许到 Azure 文件的流量。