要让smb共享真正“隐身”,需组合配置:设共享为“是/隐藏”、全局禁用浏览(如unraid中smb extras添加browseable = no和restrict anonymous = 2)、强制使用精确unc路径访问,并禁用smbv1及未加密连接。
要让smb共享真正“隐身”,不被网络邻居或windows资源管理器自动列出,关键不是只关掉一个开关,而是组合配置服务端行为、协议策略和访问路径三方面。
设置共享为完全隐藏模式
在Unraid、TrueNAS或Windows服务器中,共享属性里找到“可见性”或“浏览”选项,明确选择“是/隐藏”(不是“否”或“标准”)。这个设置会让共享名不出现在net view、Windows“网络”视图或SMB浏览器扫描结果中。但注意:它只是隐藏名称,不阻止已知路径的访问。
强制禁用全局浏览功能
仅设单个共享为隐藏还不够。必须在SMB服务全局配置中关闭整个服务的可浏览性:
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
- Unraid:进入 Settings > SMB > SMB Extras,添加以下两行:
browseable = no
restrict anonymous = 2
- Windows Server:通过PowerShell运行:
Set-SmbServerConfiguration -EnableSMB2Protocol $true -ForceSet-SmbServerConfiguration -AutoConfigureServer $false -Force - TrueNAS:在SMB服务高级设置中勾选“禁止共享枚举”和“启用基于访问的共享枚举(ABSE)”
访问必须使用精确路径,不依赖发现
隐藏后,所有访问都得靠手动输入完整UNC路径,例如:\192.168.1.100secure-backup
而不是靠点击“网络”里找设备再点进去。Windows客户端建议用“映射网络驱动器”方式固定路径,并勾选“重新连接时重新连接”;Linux客户端则需在/etc/fstab中写死地址,避免使用findsmb或smbtree这类探测工具。
额外加固:关闭匿名访问与协议降级
防止攻击者绕过隐藏机制试探共享:
- 禁用SMBv1(存在严重漏洞,且支持弱枚举):
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force - 拒绝未加密连接(尤其跨子网或Wi-Fi):
Set-SmbServerConfiguration -EncryptData $true -RejectUnencryptedAccess $true -Force - Windows组策略中关闭“启用不安全的来宾登录”(gpedit.msc → 计算机配置 → 管理模板 → 网络 → Lanman工作站)










