Короткий ответ
С клиента: TCP 445 до FS01.contoso.example, DNS, Kerberos/SPN, затем диалект SMB и signing, затем права. Get-SmbServerConfiguration на сервере и Get-SmbConnection на клиенте. Access denied при живом 445 — это уже ACL, не протокол: share vs NTFS.
Не включайте SMBv1 «для совместимости навсегда». Не отключайте firewall целиком.
Симптомы и как отличить
\\FS01\data— «не найден сетевой путь» (53 / 0x80070035).- По IP то же самое — сеть/firewall/служба.
- По IP есть, по имени нет — DNS/SPN/Kerberos.
- Сессия есть, папки нет — права или ABE.
Медленно, но открывается — производительность.
Возможные причины
- Firewall / ACL режет 445 (профиль Public).
LanmanServerStopped, шары не опубликованы.- Клиент требует SMB3, кто-то выключил диалекты на сервере.
- Signing mismatch (required vs disabled на одной стороне).
- Дубликат SPN или клиент идёт по CNAME без SPN.
- Insecure guest logons запрещены, а клиент ждёт гостя.
- NTLM заблокирован политикой, Kerberos не строится.
- SMBv1-only устройство против сервера без SMB1.
Диагностика
С WS-042:
Test-NetConnection FS01.contoso.example -Port 445
Resolve-DnsName FS01.contoso.example
nltest /dsgetdc:contoso.example /force
net.exe use \\FS01.contoso.example\data /user:contoso\ivanov
Get-SmbConnection | Format-Table ServerName, ShareName, Dialect, Signed, EncryptedНа файловом сервере:
Get-Service LanmanServer, LanmanWorkstation | Format-Table Name, Status
Get-SmbShare | Format-Table Name, Path, EncryptData
Get-SmbServerConfiguration | Format-List EnableSMB1Protocol, EnableSMB2Protocol, RequireSecuritySignature, EnableSecuritySignature, RejectUnencryptedAccess
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Format-Table DisplayName, Enabled, Profile, Direction, ActionSPN:
setspn.exe -L FS01
setspn.exe -XИщите HOST/FS01 и HOST/FS01.contoso.example. Дубликаты -X — причина логона NTLM fallback или отказа.
Журнал:
Get-WinEvent -CimSession FS01 -LogName 'Microsoft-Windows-SMBServer/Operational' -MaxEvents 20 -ErrorAction SilentlyContinueРешение
Сценарий A. 445 закрыт
Включите правила File and Printer Sharing / SMB-In для профиля Domain. Верните NIC в доменный профиль (DNS домена).
Enable-NetFirewallRule -DisplayGroup 'File and Printer Sharing'Не Set-NetFirewallProfile -Enabled False.
Сценарий B. Служба / шары
Start-Service LanmanServer
Get-SmbShareЕсли нет data — шару удалили или DFS-корень не там.
Сценарий C. Подпись и шифрование
Выровняйте клиент и сервер: signing required на обоих или политика домена. Не отключайте signing в домене, чтобы старый NAS зажил — изолируйте NAS.
Сценарий D. SPN / CNAME
Зарегистрируйте SPN на учётке компьютера файлового сервера. Для CNAME files.contoso.example — SPN HOST/files.contoso.example на FS01, не на случайном DC. После правки — логон заново / klist purge у клиента.
Сценарий E. Гость и SMB1
Современные клиенты не ходят гостем. Выдайте доменную учётку. SMB1 — отдельный план вывода устройств, не EnableSMB1Protocol $true на прод-сервере без срока.
Сценарий F. Диалект, NTLM и имя
С клиента после попытки подключения:
Get-SmbConnection | Format-Table ServerName, ShareName, Dialect, Signed, Encrypted, UserName
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, EnableSMB2Protocol, RequireSecuritySignature
setspn.exe -L FS01Dialect пустой и ошибка 53: до протокола не дошли (445/DNS). Dialect 3.1.1 и сразу Access denied — вы уже на ACL. Signing required на сервере и клиент с политикой «disabled» даёт отказ на negotiate, не «путь не найден».
CNAME files.contoso.example → FS01: без SPN HOST/files.contoso.example на учётке FS01$ Kerberos падает, NTLM может пройти или нет в зависимости от ограничений NTLM. Зарегистрируйте SPN, не учите пользователей IP.
Гостевой доступ с Windows 10/11 по умолчанию закрыт. Шара с Everyone без учётки не откроется. Выдайте доменную группу, не AllowInsecureGuestAuth на всех WS-042.
Мультидомный DFS + мёртвый DC сайта иногда ломает referral, это выглядит как «SMB нет». Проверьте \\FS01\data напрямую: если прямой путь жив, чините namespace, не LanmanServer.
Как проверить, что проблема устранена
Test-NetConnection FS01.contoso.example -Port 445
Get-SmbConnection
Get-ChildItem '\\FS01.contoso.example\data' | Select-Object -First 5Диалект SMB 2.x/3.x, Signed согласно политике. Пользователь с WS-042 открывает шару без IP. setspn -X без дубля на этих HOST.
Если не помогло
- 445 True, access denied — ACL, не эта статья.
- Только через DFS — namespace.
- Только после смены пароля компьютера — secure channel.
- Кластер: смотрите имя роли и SPN роли, не только узла.
Проверьте профиль firewall на FS01: после смены DNS NIC мог стать Public, правила File and Printer Sharing на Domain не действуют. Get-SmbServerConfiguration с EnableSMB2Protocol $false — кто-то «оптимизировал» и оставил только SMB1, современные клиенты молчат. Дубль SPN на пользовательской учётке ломает Kerberos к шаре: setspn.exe -X и снимите лишнее с человека, не с компьютера. Не открывайте 139 «на всякий» вместо 445. Гостевой доступ с Windows 11 не вернётся галкой на шаре Everyone без небезопасного гостя на клиенте — выдайте доменную группу.
Профилактика
- SMB1 выключен, мониторинг попыток SMB1.
- Подпись по доменной политике, единообразно.
- SPN не плодить на пользовательские учётки.
- Firewall Domain включён, правила роли File Server.
- Документировать CNAME и соответствующие SPN.
- После смены имени файлового сервера или добавления CNAME сразу
setspn.exe -L FS01и-X. Клиентам новый логон. Не оставляйте RequireSecuritySignature только на половине узлов фермы: иначеWS-042получит отказ negotiate вместо «доступ есть». После правки SPN подождите репликацию AD и сделайте новый логон на клиенте, не раньше.
FAQ
Почему \IP работает, а \FS01 нет?
Kerberos к IP обычно не строится. Либо NTLM, либо отказ. Чините DNS/SPN, не учите IP.
Нужно ли открывать 139?
Для SMB на 445 — нет как обязательное. NetBIOS 139 — наследие. Сначала 445.
RequireSecuritySignature сломал старый сканер.
Изолируйте устройство или обновите. Не снимайте signing с файлового сервера домена глобально.
Get-SmbServerConfiguration пустой?
Модуль SmbShare, права администратора. На Core без модуля — Get-SmbServerConfiguration всё равно должен быть на 2019+.
Можно ли «просто» AllowInsecureGuestAuth?
Только как осознанный риск для конкретного клиента. Не доменная норма 2025 года. Для сканера в изолированном VLAN заведите отдельную шару и учётку, не снимайте гостевой запрет с FS01 для всего домена contoso.example. Проверьте Get-SmbConnection после успешного входа: диалект 3.x и Signed по политике. Без 445 остальное не имеет смысла.