? 文件服务器与 SMB 协议从零到实战
SMB(Server Message Block,服务器消息块)是 Windows 网络文件共享的核心协议。 通俗地说:你在 Windows 资源管理器里输入 SMB 协议TCP 445端口 读取/写入文件 不只是文件共享: SMB 还是许多核心 Windows 服务的底层基础设施,包括 Hyper-V 虚拟化存储、SQL Server 数据库存储、存储空间直通(Storage Spaces Direct)和存储副本(Storage Replica)。 SMB 经历了多个版本迭代,版本越高功能越强、越安全。 核心原则: SMB 客户端和服务器在连接时会自动协商使用双方都支持的最高版本。因此只要服务器支持,新客户端会自动获得更好的安全性。 Windows 版本对应的默认 SMB 方言: ⚠️ SMBv1 已被弃用。Windows 10/11 和 Windows Server 2019+ 默认不安装 SMBv1。如果你还在使用 SMBv1(常见于老旧设备如旧 NAS、Windows XP),强烈建议升级。SMBv1 缺乏现代加密,是 WannaCry 等勒索病毒的传播途径之一。 很多人以为 Windows 客户端只能访问别人的共享,Windows Server 才能提供共享——这是错的。 Windows(包括 Windows 11 家庭版)自带完整的 SMB 客户端和 SMB 服务器: 既是客户端又是服务器 同时 作为服务器 作为客户端 这意味着你可以: 在服务器上创建共享: 在客户端访问共享: SMB 使用 TCP 端口 445(从 Windows 2000 开始,早期用 NetBIOS 端口 137-139)。Windows 防火墙默认允许局域网内的 SMB 流量(专用/域网络),但禁止来自互联网的 SMB 连接——这是重要的安全防线。 从 Windows 11 24H2 / Server 2025 开始,防火墙规则已不再自动打开 NetBIOS 端口 137-139。如果你的环境还依赖这些旧端口(例如兼容老旧 SMBv1 设备),需要手动配置防火墙。 SMB 提供了多层安全机制,就像一栋楼的防盗门: 签名为每条 SMB 消息附加一个加密哈希。如果有人篡改了传输中的数据,接收方会发现签名不匹配,立即拒绝。 工作原理: 签名版本进化: 如何配置: 对应的注册表值: 签名在以下情况下启用:只要客户端或服务器任意一方要求签名,签名就会生效。只有双方都明确禁用时才不签名。 最佳实践: 在企业环境中始终启用签名。域控制器默认要求签名。 签名只能防篡改,不能防窥探。加密则更进一步——让数据在传输过程中完全不可读。 加密场景: 如何启用文件共享加密: 小提示: 启用加密会消耗一些 CPU 资源。在千兆局域网内,现代 CPU 几乎感觉不到性能损失。 防篡改 防窥探 防冒用 监控 从 Windows 11 24H2 开始,可以审核不支持签名/加密的设备和软件: 通过事件查看器查看结果: SMB 压缩是 Windows Server 2022 引入的杀手级功能。当你通过网络复制文件时,SMB 可以实时压缩数据再传输,减少带宽占用,缩短传输时间。 适用场景: 优点: 无需手动压缩→复制→解压三步走,SMB 自动处理 限制: 如何启用: 方式 1:对共享启用(所有传输压缩) 方式 2:对映射驱动器启用压缩 方式 3:robocopy 单次压缩 方式 4:全局始终压缩 从 Windows Server 2025 开始还支持 LZ4 压缩算法,比默认的 XPRESS 算法更快,推荐用于高速网络环境。 SMB 3.0 引入的多通道功能允许同时使用多条网络路径传输数据。如果你的服务器有多个网卡,SMB 会自动聚合它们的带宽。 特点: 零配置自动启用,增加网络容错(一条线路断开会自动切换)。 RDMA(Remote Direct Memory Access) 让数据绕过 CPU,直接在内存之间传输,实现极低延迟和极低 CPU 使用率。 硬件要求: 需要支持 RDMA 的网卡(如 Intel XXV710、Mellanox ConnectX 等)。 SMB over QUIC 是 Windows Server 2022 Datacenter: Azure Edition 引入的颠覆性功能——无需 VPN,通过互联网安全访问文件共享。它使用 UDP 443 端口和 TLS 1.3 加密,相当于内置了 VPN 隧道。 办公室同事之间的文档共享,共享打印机等。 将虚拟机(VHD/VHDX 文件)直接存储在 SMB 共享上。这样多个 Hyper-V 主机可以共享同一存储,支持故障转移和实时迁移。 SQL Server 可以将数据库文件(.mdf、.ldf)存放在 SMB 共享上,获得 SMB 多通道和 SMB 直通的性能优势。 存储空间直通和存储副本都建立在 SMB 之上: 包括横向扩展文件服务器(Scale-Out File Server)、DFS 命名空间和 DFS 复制等企业级功能,底层都依赖于 SMB。 SMB 从最初简单的文件共享协议,发展成了 Windows 存储生态的基石。理解 SMB 是管理 Windows 网络的基础——不管你是系统管理员、开发者还是 IT 运维人员,都会在某个时刻用到它。 记住这四句话就够了:
目录
1. SMB 是什么?一句话讲清楚
\\server\shared_folder 访问另一台电脑的文件、把文件拖到网络驱动器上、或者打开共享打印机——背后都是 SMB 在工作。2. SMB 的版本进化
SMB 1.0 SMB 2.0 SMB 2.1 SMB 3.0 重大升级 SMB 3.02 SMB 3.1.1 当前主流 版本影响
3. 你的电脑既是客户端也是服务器
\\server\share 访问文件服务器4. 文件共享是怎么工作的?
4.1 最基本的操作流程
Win+R,输入 \\服务器IP或名称\共享名Z:\ 指向 \\server\share)4.2 通信过程
4.3 防火墙须知
5. SMB 的安全防护体系
5.1 SMB 签名(Signing)— 防篡改

通过组策略或注册表:
计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项
├── Microsoft 网络客户端:对通信进行数字签名(始终)
└── Microsoft 网络服务器:对通信进行数字签名(始终)HKLM\System\CCS\Services\LanManWorkstation\ParametersRequireSecuritySignatureHKLM\System\CCS\Services\LanManServer\ParametersRequireSecuritySignature5.2 SMB 加密(Encryption)— 防窥探
# 创建加密共享
New-SmbShare -Name "Confidential" -Path "D:\Confidential" -EncryptData $true
# 已有共享启用加密
Set-SmbShare -Name "Confidential" -EncryptData $true5.3 身份验证保护
阻止 NTLM Set-SmbServerConfiguration -RejectNtlm $true身份验证速率限制 禁用不安全来宾登录 Set-SmbClientConfiguration -RequireSecuritySignature $true5.4 安全增强审核(新功能)
# 审核不支持加密的客户端
Set-SmbServerConfiguration -AuditClientDoesNotSupportEncryption $true
# 审核不支持签名的客户端
Set-SmbServerConfiguration -AuditClientDoesNotSupportSigning $true应用程序和服务日志 → Microsoft → Windows → SMBClient/SMBServer → Audit6. SMB 性能优化技巧
6.1 SMB 压缩
New-SmbShare -Name "Sales" -Path "C:\sales" -CompressData $true
New-SmbMapping -LocalPath "Z:" -RemotePath "\\fs1.corp.com\sales" -CompressNetworkTraffic $true
ROBOCOPY C:\temp \\server\share *.txt /COMPRESS
# SMB 客户端始终请求压缩
Set-SmbClientConfiguration -RequestCompression $true
# SMB 服务器始终请求压缩
Set-SmbServerConfiguration -RequestCompression $true6.2 SMB 多通道(Multichannel)

6.3 SMB 直通(Direct / RDMA)

6.4 传输层选择
SMB over QUIC 7. SMB 的应用场景
7.1 日常文件共享(最简单)
7.2 Hyper-V 虚拟化(SMB + Hyper-V)
Hyper-V 主机1 ──┐
├── SMB ── 共享存储(VHDX 文件)
Hyper-V 主机2 ──┘7.3 SQL Server over SMB
7.4 超融合基础设施(HCI)
7.5 高级文件服务
8. 常见问题与最佳实践
8.1 安全清单
✅ 在公司防火墙阻止 TCP 445 入站(防外部攻击)
✅ 在公司防火墙阻止 TCP 445 出站(防数据外泄)
✅ 禁用或卸载 SMBv1
✅ 启用 SMB 签名
✅ 敏感数据共享启用加密
✅ 对文件服务器使用强密码
✅ 审计不安全的客户端
✅ 如果使用 SMB over QUIC,利用其 TLS 1.3 天然加密8.2 性能清单
✅ 需要大文件传输 → 启用 SMB 压缩
✅ 服务器有万兆网卡 → 确保使用 SMB 3.0+(自动启用多通道)
✅ 低延迟要求 → 使用 RDMA 网卡启用 SMB 直通
✅ 跨互联网访问 → 使用 SMB over QUIC(替代 VPN)
✅ 高密度虚拟化 → SMB + Hyper-V over SMB 方案8.3 排错:无法访问共享怎么办?
ping 服务器IP)Test-NetConnection 服务器IP -Port 445)应用程序和服务日志 → Microsoft → Windows → SMBClient应用程序和服务日志 → Microsoft → Windows → SMBServer9. 总结
本文链接:https://www.kinber.cn/post/6580.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
