问题
为什么 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 数据包,而这些数据包通常不是互联网通信所必需的。仅当您使用必须与互联网交换 NetBIOS 数据包的应用程序时才禁用此过滤器。例如,对于 Strato HiDrive 的 SMB 访问就是这种情况。
我不确定这是否是由于路由器的过滤逻辑中存在一些错误,或者是否还有其他原因。
如果相关的话,我们已启用 RBAC 过滤(例如,我的帐户已Storage File Data SMB Share Elevated Contributor
分配角色),并在我们的文件共享上启用了 AD ACLS(如此处所述)约翰·萨维尔的视频)... 虽然我认为这些不应该在简单的端口测试中发挥作用?
答案1
如上所述,此规则的命名实际上不正确。虽然端口 445 可用于 NetBios,但它也用于 SMB over TCP,因此 SMB 无法正常工作。您需要打开它以允许流量到 Azure 文件。