SMB 连接故障排查:按失败阶段查名称、端口、登录与权限

SMB 连接故障排查:按失败阶段查名称、端口、登录与权限

Kevin Wu
2026年8月28日· 更新于 2026年10月4日· 10 分钟阅读

有效的 SMB 连接故障排查,要先找出失败在哪个阶段:定位服务器、连通 TCP 445、协商 SMB、认证会话、连接指定共享,还是以所需权限打开文件。每次只测试一个已知的服务器、共享、账户和客户端,不要同时修改凭据、防火墙规则和协议设置。想快速测试 SMB 连接,先在出问题的客户端上检查 TCP 445:检查失败说明问题在网络路径,检查通过则应转查登录、共享或权限。

关键要点

  • 先判断受影响的是一个客户端、一个账户、一个共享,还是所有客户端。
  • 分别测试服务器名称和 IP,但不要把 IP 临时方案当作永久的 DNS 修复。
  • “拒绝访问”可能出现在认证、共享连接或文件授权阶段。
  • 不要把启用 SMB1、把 TCP 445 暴露到互联网、关闭签名和加密当作通用修复。
  • 保留准确的错误、时间戳、服务器、共享路径、账户格式和对比结果。

协议背景可参阅SMB 协议的工作方式。与文件共享无关的更广泛检查,请使用设备与 App 排查指南。本文假设客户端位于已授权的本地网络,或使用受妥善保护的远程路径。

SMB 连接故障排查先确定故障范围

不要一开始就重置 NAS 或删除所有已保存的凭据。先建立一个小型对比矩阵。

对比情况可能需要排查的层
一个客户端失败,另一个用同一账户和共享正常客户端名称解析、防火墙、凭据、策略或 SMB 能力
一个账户在多台客户端都失败,另一个账户正常账户状态、密码、组成员身份或授权
一个共享失败,同一服务器上的另一个共享正常共享名称、共享权限、文件权限、加密要求或存储卷状态
所有客户端都无法访问任何共享服务器服务、网络路径、TCP 445、维护或存储状态
文件能打开但复制很慢性能路径,而不是连接建立

记录准确路径(例如 \\server\share)、客户端和服务器的操作系统、时间以及可见的错误。确认你有权使用该账户和共享。如果设备由雇主或学校管理,在修改防火墙、凭据、签名、加密或本地安全策略之前停下。

如果服务器归你所有,在本地查看其控制台。确认存储卷和共享在线、文件服务已启用,服务器没有在更新、重启、降级运行或空间不足。即使网络正常,存储问题也可能表现为连接或文件错误。

客户端能找到并连通 SMB 服务器吗?

把发现、名称解析和传输分开检查。

  1. 确认客户端和服务器位于预期的网络。访客 Wi-Fi 可能有意阻止本地设备互相访问。
  2. 从可信来源核实服务器名称和准确的共享名称。不要根据旧快捷方式猜测路径。
  3. 对比服务器名称和它当前的本地 IP 地址。IP 测试能隔离名称解析问题,但不能长期替代正确的 DNS 或本地发现。
  4. 通过官方管理界面确认 SMB 服务器服务正在运行并监听。
  5. 测试客户端的网络和防火墙是否允许到该授权服务器的 TCP 445。
  6. 在同一网络上对比另一台已知正常的客户端。

Microsoft 的 SMB 高级排查指南指出,在断定 SMB 本身有问题之前,应先检查 TCP/IP。TCP 握手失败可能意味着防火墙拦截或服务器服务已停止,而重传和不断缩小的接收窗口可能指向网络或存储延迟。[1]

不要为了让本地测试通过而在路由器上开放 TCP 445。如果你不在家,请使用更安全地远程访问 NAS中描述的受保护路径。公开暴露会改变安全边界,并不是连接修复。

如果 IP 可以而名称不行,保留这一结果。通过受支持的工具检查正确的 DNS 后缀、本地 DNS 记录、设备名称和缓存的旧地址。不要把编辑 hosts 文件作为首选的永久方案;它会掩盖地址变化,并制造第二个信息来源。

如何测试 SMB 连接和 TCP 445?

在 Windows 上,于出问题的客户端打开 PowerShell,运行 Test-NetConnection -ComputerName <server> -CommonTCPPort SMB;改用 -Port 445 执行的是同一项 TCP 测试。TcpTestSucceeded : True 只说明到 445 端口的 TCP 连接已经建立,并不代表协商、登录或共享连接一定成功。[2] 分别用服务器名称和 IP 地址各运行一次,就能一步对比名称解析和传输。

共享连接后,运行 Get-SmbConnection,可列出每个连接的服务器、共享、用户名和协商出的 SMB 方言。[3] 如果这个 cmdlet 本身提示拒绝访问,请以管理员身份重新打开 PowerShell;这个错误针对的是本地查询,而不是共享。

结果说明什么
TcpTestSucceeded 为 False继续做网络检查:地址、防火墙、路由或已停止的服务
TcpTestSucceeded 为 True,但共享仍失败传输正常;把错误对应到后面的阶段
Get-SmbConnection 显示意外的用户会话使用了另一个身份;转到凭据检查
Get-SmbConnection 显示旧方言检查协商以及两端当前的 SMB 版本

哪个 SMB 连接阶段失败了?

SMB 连接并不是一个动作。Microsoft 把协商、会话建立和树连接描述为不同的阶段。[4] 把错误对应到阶段,可以避免做无关的改动。

阶段建立的内容常见证据
TCP 连接到 445 端口的网络路径超时、被拒、防火墙或路由结果
协商兼容的 SMB 方言和能力协议或安全能力错误
会话建立用户身份和会话安全凭据提示、登录失败、账户已停用
树连接访问指定共享找不到共享、拒绝访问、加密要求
文件操作对文件夹或文件执行操作的权限能列出但不能打开、创建、重命名或删除

如果协商失败,确认客户端和服务器的当前版本及支持的 SMB 能力。不要启用 SMB1。无法满足当前安全要求的旧服务器应升级、隔离或更换,而不是削弱所有客户端。

如果会话建立失败,转到身份检查;如果通过 DNS 别名连接,还要确认服务器为该别名配置了服务主体名称(SPN),因为 Kerberos 会在会话建立时为它申请票据。如果树连接失败,核实准确的共享名称和共享级规则。如果只有文件操作失败,保留已成功的 SMB 会话,检查文件授权,而不是重新开始网络诊断。

如何解决认证和凭据反复弹出的问题?

使用服务器要求的账户格式。NAS 本地账户、Windows 本地账户、域账户和云端登录,即使显示名称相同也不能互换。

  1. 确认账户存在于目标 SMB 服务器或身份目录中。
  2. 检查它是否被停用、锁定、过期或被要求修改密码。
  3. 按文档规定的账户格式输入一次。不要轮流尝试各种前缀和域名。
  4. 检查客户端是否已用另一身份与同一服务器建立会话。
  5. 通过受支持的控制关闭打开的文件,只断开相关服务器的会话。
  6. 只有在知道凭据归属并能恢复它时,才删除已保存的凭据。
  7. 用一个不敏感的测试共享重试。

客户端可能不允许同时以两个身份连接同一台服务器。但这不足以成为删除整个凭据库的理由。保留无关服务器、业务 App 和计划任务使用的凭据。

认证成功、但所请求的共享拒绝该账户时,也可能反复弹出提示。在同一时间点查看服务器日志,判断失败发生在登录、树连接,还是之后的文件操作。不要仅凭单个客户端对话框的措辞推断阶段。

密码正确时为什么仍提示 SMB 拒绝访问?

密码正确只证明了身份,不代表获得授权。访问会同时受共享权限和底层文件或文件夹权限限制。实际生效的是两者中更严格的组合,再加上任何服务器策略或加密要求。

按以下顺序检查:

  1. 确认是准确的共享,而不是管理共享或名称相近的共享。
  2. 检查服务器上的直接用户和组成员身份。
  3. 检查所需读取或写入操作的共享权限。
  4. 检查目标文件夹的文件系统权限和继承。
  5. 在批准的共享内新建一个无害的文件夹进行测试。
  6. 确认存储卷可写,没有满、只读、降级或被锁定。
  7. 检查共享是否要求 SMB 加密或客户端缺少的某项能力。

不要为了诊断走捷径,给 Everyone 完全控制权限。临时测试账户只应获得某个测试文件夹所需的最小权限,用完即删。如果涉及继承而来的拒绝规则或组织策略,应由其负责人纠正,而不是在不清楚的设计上叠加宽泛的允许规则。

如果能列出但不能创建,对比所请求的操作。如果能创建但不能重命名或删除,检查所有权、继承、应用锁、保留策略、快照和安全软件。这些都是连接成功之后的文件操作问题。

应该修改 SMB 签名或加密设置吗?

不应作为通用的连接修复。Windows 11 24H2 专业版、企业版和教育版要求出站和入站 SMB 签名,Windows Server 2025 要求出站签名;Microsoft 不建议把关闭签名作为连接第三方服务器的变通办法,因为签名能防范篡改、伪造和中继攻击。[5]

不允许签名的第三方 SMB 服务器,可能在协商或会话建立阶段失败,例如报出 STATUS_INVALID_SIGNATURE。核实服务器固件、配置和文档中的能力说明。更新或更换不受支持的服务器,而不是降低所有客户端的安全策略。

当客户端不支持所需 SMB 版本时,加密要求也可能表现为拒绝访问。应把它视为能力不匹配。没有书面风险决策和替代保护路径时,不要关闭敏感共享的加密。

把这些设置分开看待:

  • SMB 签名提供消息完整性和认证保护。
  • SMB 加密为传输中的 SMB 数据增加机密性。
  • 传输可达只证明 TCP 445 能连通。
  • 共享和文件权限决定已认证身份可以做什么。

改动其中一层,无法修复错误的共享名称或已停用的账户。

上报前应收集哪些证据?

如果基础矩阵无法定位问题,在不暴露凭据或文件内容的前提下收集证据。

  • 客户端和服务器的型号及操作系统版本。
  • 准确的服务器和共享名称,必要时隐去敏感路径部分。
  • 客户端本地 IP、服务器本地 IP 和网络类型。
  • 准确的错误和时间戳。
  • 名称测试和 IP 测试的结果是否不同。
  • 在授权网络上 TCP 445 是否可达。
  • 失败发生在协商、会话建立、树连接还是文件操作。
  • 已知正常的客户端、账户和共享的对比结果。
  • 相关的客户端和服务器事件日志条目。

Microsoft 建议收集 SMB 客户端和服务器日志;复杂情况下,还应在失败操作前后抓取数据包。抓包可能包含名称、路径、地址和认证元数据,只能通过批准的支持流程收集和共享。

如果某台文件服务器只是连接后很慢,请转到 NAS 文件传输性能指南。反复修改认证设置无法诊断吞吐量。

常见问题

为什么能用 IP 访问 NAS,却不能用名称访问?

传输路径很可能正常,而名称解析或发现结果错误或已过时。应修复权威的本地 DNS 或受支持的发现路径,而不是保留写死的 IP 临时方案,因为地址变化后它可能失效。

SMB 拒绝访问就说明密码错了吗?

不一定。它可能是登录失败、无权连接共享、文件权限不足,或未满足加密要求。应把服务器日志和错误对应到连接阶段。

应该为旧 NAS 启用 SMB1 吗?

不应该。SMB1 缺少当前系统所要求的保护。更新服务器,使用受支持的新版 SMB 实现,隔离并迁移数据,或更换不再受支持的硬件。

应该清除所有已保存的凭据吗?

不应该。只有在清楚凭据归属和恢复方式时,才删除已确认服务器对应的那一个凭据。全部清除可能影响无关的共享、应用和计划任务。

两个账户能同时连接同一台 SMB 服务器吗?

有些客户端会限制以不同身份同时连接同一台服务器。只关闭相关的打开文件和服务器会话,然后用目标账户重新连接,而不是清除所有网络凭据。

连接超时就代表 445 端口被封了吗?

这只是可能性之一,路由、服务器宕机、地址错误或服务已停止也会导致超时。修改防火墙之前,先对比一台已授权且正常的客户端,并检查网络和服务器两方面的证据。

为了连接 NAS 应该关闭 SMB 签名吗?

不应把它当作常规修复。更新并配置 NAS,使其支持当前的安全要求。关闭签名会削弱对中继、伪造和篡改的防护,也可能违反受管理设备的策略。

为什么能列出文件却不能编辑?

SMB 会话和共享连接已经成功,但所请求的文件操作未获授权,或存储卷不可写。检查文件权限、所有权、锁、保留策略、可用空间和存储卷健康状况。远程 SMB 连接的网络路径可能受 AethoVPN 影响,但写入权限、文件锁和只读卷问题仍须在共享端解决。

延伸阅读

来源

  1. Microsoft, “Advanced Troubleshooting Server Message Block” — https://learn.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/troubleshooting-smb
  2. Microsoft, “Test-NetConnection” — https://learn.microsoft.com/en-us/powershell/module/nettcpip/test-netconnection
  3. Microsoft, “Get-SmbConnection” — https://learn.microsoft.com/en-us/powershell/module/smbshare/get-smbconnection
  4. Microsoft, “Negotiate, Session Setup, and Tree Connect Failures” — https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/negotiate-session-setup-tree-connect-fails
  5. Microsoft, “Control SMB Signing Behavior” — https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-signing

Sources checked 2026 年 10 月 4 日。

开启 3 天免费试用

注册即可免费体验全部高级功能。

*仅限新用户;每位用户只能获得一次试用。

SMB 连接故障排查:按失败阶段查名称、端口、登录与权限 | AethoVPN