SMB(Server Message Block)协议配置信息的位置
如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3 | Microsoft Learn
%SystemRoot%\system32\srvsvc.dll
%SystemRoot%\System32\svchost.exe -k smbsvcs
%systemroot%\system32\wkssvc.dll
%SystemRoot%\System32\svchost.exe -k NetworkService -p
\Device\NetBT_Tcpip6_{93123211-9629-4E04-82F0-EA2E4F221468}
\Device\Tcpip6_{93123211-9629-4E04-82F0-EA2E4F221468}
\Device\NetBT_Tcpip6_{2EE2C70C-A092-4D88-A654-98C8D7645CD5}
\Device\Tcpip6_{2EE2C70C-A092-4D88-A654-98C8D7645CD5}
\Device\NetBT_Tcpip6_{07374750-E68B-490E-9330-9FD785CD71B6}
\Device\Tcpip6_{07374750-E68B-490E-9330-9FD785CD71B6}
\Device\NetbiosSmb
\Device\Tcpip6_{58F2BF73-BA1D-46EA-A531-BC9E2568F38A}
\Device\Tcpip_{58F2BF73-BA1D-46EA-A531-BC9E2568F38A}
\Device\NetBT_Tcpip6_{58F2BF73-BA1D-46EA-A531-BC9E2568F38A}
\Device\NetBT_Tcpip_{58F2BF73-BA1D-46EA-A531-BC9E2568F38A}
\Device\NetBT_Tcpip_{8D0BA42F-4CAD-460E-9884-41B823022264}
\Device\Tcpip_{8D0BA42F-4CAD-460E-9884-41B823022264}
\Device\Tcpip6_{8D0BA42F-4CAD-460E-9884-41B823022264}
\Device\NetBT_Tcpip6_{8D0BA42F-4CAD-460E-9884-41B823022264}
\Device\Tcpip_{F5AD6F02-7478-4CDC-9DB5-473AA4971344}
\Device\NetBT_Tcpip6_{F5AD6F02-7478-4CDC-9DB5-473AA4971344}
\Device\Tcpip6_{F5AD6F02-7478-4CDC-9DB5-473AA4971344}
\Device\NetBT_Tcpip_{F5AD6F02-7478-4CDC-9DB5-473AA4971344}
\Device\Tcpip_{531E01A9-3FD4-41C7-8465-45BFC977875D}
\Device\Tcpip6_{531E01A9-3FD4-41C7-8465-45BFC977875D}
\Device\NetBT_Tcpip_{531E01A9-3FD4-41C7-8465-45BFC977875D}
\Device\NetBT_Tcpip6_{531E01A9-3FD4-41C7-8465-45BFC977875D}
\Device\Tcpip_{A88563C7-39C2-4410-8803-9321B5FFA89F}
\Device\Tcpip6_{A88563C7-39C2-4410-8803-9321B5FFA89F}
\Device\NetBT_Tcpip_{A88563C7-39C2-4410-8803-9321B5FFA89F}
\Device\NetBT_Tcpip6_{A88563C7-39C2-4410-8803-9321B5FFA89F}
SMB(Server Message Block)协议的配置信息通常保存在 Windows 操作系统的注册表中。以下是一些可能包含 SMB 协议相关设置的注册表位置:
- SMB 服务器设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
在这个路径下,您可以找到与 SMB 服务器相关的配置设置,包括共享文件夹、用户访问权限等。
- SMB 客户端设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
在这个路径下,可能包含与 SMB 客户端相关的配置设置,如连接到网络共享文件夹时的参数。
- SMB 协议版本:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrxsmb10HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrxsmb20
这些路径可能包含有关 SMB 协议版本的配置信息,您可以在这里找到有关 SMB 1.0 和 SMB 2.0 的设置。
- SMB 验证凭据:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\Credential
在这个路径下可能保存着与 SMB 认证相关的凭据信息,包括用户的认证信息等。
- SMB 连接设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\Linkage
在这个路径下可能包含有关 SMB 连接设置的信息,如连接到网络共享资源时的参数配置。
- SMB 加密设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature
在这个路径下可能包含有关 SMB 加密和安全签名设置的信息,可以控制是否要求通信进行加密或签名验证。
- 共享文件夹设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares
在这个路径下存储了关于共享文件夹的设置信息,包括共享名称、路径、访问权限等。
- SMB 高级设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\ParametersHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters
这些路径可能包含了更高级别的 SMB 设置,如连接超时、缓冲区大小、SMB 版本等。
- SMB 连接日志:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\Parameters\EnablePlainTextPassword
这个路径可能包含了与 SMB 连接日志相关的设置信息,可以控制是否启用明文密码传输的日志记录。
- SMB 缓存设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\CacheHashTableSizeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxCmds
这些路径可能包含了与 SMB 缓存相关的设置信息,包括缓存哈希表大小和最大命令数等。
- SMB 会话设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnableSecuritySignature
在这个路径下可能包含了与 SMB 会话安全签名相关的设置信息,可以控制是否启用会话级别的安全签名验证。
- SMB 连接限制:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature
这个路径可能包含了与 SMB 连接安全签名要求相关的设置信息,可以控制是否要求连接进行安全签名验证。
- SMB 文件缓存设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheLife
在这个路径下可能包含了与 SMB 文件缓存相关的设置信息,可以控制文件未找到时的缓存寿命。
- SMB 重连设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnableWMI
这个路径可能包含了与 SMB 重连和连接状态监视相关的设置信息,可以控制是否启用 Windows Management Instrumentation(WMI)来进行连接状态监视。
- SMB 性能优化设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\LargeReadWarning
在这个路径下可能包含了与 SMB 性能优化相关的设置信息,可以控制在进行大型读取操作时的警告阈值。
- SMB 连接超时设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\KeepConn
在这个路径下可能包含了与 SMB 连接超时相关的设置信息,可以控制空闲连接的保持时间。
- SMB 文件缓存刷新设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheLifetime
这个路径可能包含了与 SMB 文件缓存刷新相关的设置信息,可以控制文件信息缓存的寿命。
- SMB 会话超时设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Autodisconnect
在这个路径下可能包含了与 SMB 会话超时相关的设置信息,可以控制会话的自动断开时间。
- SMB 重定向设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnableDownlevelTimewarp
在这个路径下可能包含了与 SMB 重定向行为相关的设置信息,可以控制是否启用向下级客户端的时间偏移。
- SMB 并发连接设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxThreads
这个路径可能包含了与 SMB 并发连接数相关的设置信息,可以控制客户端与服务器之间的最大并发连接数。
- SMB 文件缓存刷新设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\ScavengerTime
在这个路径下可能包含了与 SMB 文件缓存回收相关的设置信息,可以控制文件缓存回收任务的执行频率。
- SMB 缓存设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\CachedFiles
在这个路径下可能包含了与 SMB 缓存文件相关的设置信息,可以控制缓存的文件数量和大小。
- SMB 延迟设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\UseOpportunisticLocking
这个路径可能包含了与 SMB 延迟写入相关的设置信息,可以控制是否启用 Opportunistic Locking 来延迟写入操作。
- SMB 连接调整设置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\MaxMpxCt
在这个路径下可能包含了与 SMB 连接参数相关的设置信息,可以控制最大的连接数目。
“SMB 协议配置信息的位置”(分解 / 诊断 / 开发 / 交付)
总体目标
- 快速定位所有与 SMB 行为/安全/性能相关的配置项与位置,便于诊断、自动化与交付验收。
- 配置位置(常见平台与文件/项)
-
Windows(服务器/客户端)
- 推荐查询/修改命令:Get-SmbServerConfiguration / Set-SmbServerConfiguration;Get-SmbClientConfiguration。
- 关键注册表路径:
- Server: HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Client: HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
- GPO:Computer Configuration → Administrative Templates → Network → Lanman Workstation / Lanman Server(SMB 策略、签名、允许/禁用 SMB1 等)。
- 共享定义与权限在文件系统 ACL(NTFS)与 Server Manager / New-SmbShare。
- 防火墙/端口:Windows Defender Firewall 规则(端口 TCP 445,历史上 TCP 139/UDP137-138)。
- 日志与计数器:Event Viewer(Applications and Services Logs → Microsoft → Windows → SMBServer/SMBClient),Perfmon SMB counters。
-
Samba / Linux
- 主配置文件:/etc/samba/smb.conf(以及 /etc/samba/smb.conf.d/)
- 密码/认证数据:/var/lib/samba/private/secrets.tdb、passdb.tdb(或 /etc/samba/smbpasswd 旧格式)
- 运行时/状态文件:/var/run/samba/*、.tdb 数据库(wins, lock, ipc, registry)
- 日志位置:/var/log/samba/log.smbd, log.nmbd, log.winbindd 或 per-client logs(log.%m)
- 管理命令:testparm、smbstatus、pdbedit、smbcontrol、net(net ads join/leave 等)。
- systemd 单元:smbd.service, nmbd.service, winbind.service。
-
虚拟化/设备/中间件
- NAS/存储设备:设备自带 GUI/配置文件(确认是否转发 TRIM、SMB 多通道、RDMA 设置)。
- 负载均衡器:检查是否破坏源 IP/端口,影响 SMB Multichannel 或客户端粘性。
- 防火墙/网关:NAT、IPS/SSL Inspection 可能改变或阻断协商/加密流量。
- 协议分解(哪些配置影响什么)
- 协商与方言(dialect):影响是否启用 SMB2/SMB3、加密与签名能力。
- 会话/认证配置:Kerberos/SPN、NTLMv2、Guest 映射、权限继承。
- 性能特性:SMB Multichannel、SMB Direct(RDMA)、credits、oplocks/leases、durable handles(这些在 server/client 配置或驱动/硬件层启用)。
- 安全策略:强制签名、强制加密、SMB1 禁用、审计策略(GPO/本地策略)。
- 共享级别设置:share ACL、share-level options(read-only, guest ok, oplocks, vfs modules)。
- 诊断(去哪看、用什么命令/工具)
- 抓包:Wireshark/tcpdump → 过滤 tcp.port==445 或 smb2。查看协商、Session Setup、NTSTATUS、加密协商。
- Windows 常用:Get-SmbServerConfiguration / Get-SmbShare / Get-SmbSession / Get-SmbConnection / Get-SmbOpenFile;Event Viewer(SMBServer/SMBClient);netstat、perfmon(SMB counters)。
- Samba/Linux 常用:testparm(语法),smbstatus(会话/打开文件),journalctl -u smbd,/var/log/samba/*,iotop/iostat;tcpdump -i any port 445。
- 认证问题:klist / kinit(Kerberos),setspn / Kerberos SPN 检查,EventID(4625/4768 等)。
- 存储/网络瓶颈:fio/bonnie++、iperf3、smartctl、esxtop(虚拟化)。
- 快速核查点:SMB 协议版本协商、是否启用加密/签名、是否为多通道连接、spn/dns、端口/防火墙。
- 开发注意(读取/修改配置 & 集成点)
- Windows API/Automation:使用 PowerShell SMB module、WMI/CIM 或直接修改注册表(谨慎)。
- Samba 自动化:编辑 smb.conf(或 drop‑in includes),用 testparm 校验,systemctl restart smbd。
- 使用库:libsmbclient(C)、SMBJ(Java)、go‑smb2、pysmb;避免重实现协议。
- CI/测试:构建互操作测试矩阵(Windows Server, Windows 10/11, Samba 版本, NAS),包含 Kerberos/NTLM 路径、加密/签名开关、断连恢复测试。
- 日志与可观测性:在开发中支持可调日志级别、输出 correlation id、记录 NTSTATUS 错误以便客服/运维诊断。
- 交付 / 部署(上线检查表与运维位置)
- 配置备份:备份 smb.conf、/var/lib/samba/private/*、相关注册表导出(LanmanServer/Workstation keys)、GPO 配置文档。
- 上线前核查:SMB1 禁用、Kerberos SPN 与 DNS 正确、端口/防火墙策略、ACL 与 NTFS 权限验证、审计/日志开启。
- 监控指标:会话数、连接数、打开文件数、读/写吞吐与延迟、SMB 错误/NTSTATUS、credits 使用、oplock breaks。
- 回滚与变更控制:配置变更在非高峰时段滚动发布,保持回滚快照(配置和系统状态)。
- 文档与 SRE 手册:记录常见故障排查步骤、关键命令(测试/采集包/重启服务)、联系人与 SLAs。
- 合规/安全:定期补丁、审计访问日志、限制 445 对外暴露,若需要远程访问考虑 SMB over QUIC / VPN / IPsec。
- 常用命令速查(示例)
- Windows:Get-SmbServerConfiguration;Get-SmbShare;Get-SmbSession;Get-SmbConnection;Set-SmbServerConfiguration -EncryptData $true
- Samba/Linux:testparm; smbstatus; smbclient -L //server -U user; systemctl restart smbd; tail -F /var/log/samba/log.smbd
- 抓包:tcpdump -i eth0 port 445 -w smb.pcap;wireshark → filter: smb2 || tcp.port==445

浙公网安备 33010602011771号