Не открываются общие сетевые SMB папки в Windows 10
Если вы из Windows 10 не можете открыть сетевые папки на других сетевых устройствах (NAS, Samba сервера Linux) или на компьютерах со старыми версиями Windows (Windows 7/ XP /2003), скорее всего проблема связана с тем, что в вашей новой версии Windows 10 отключена поддержка устаревших и небезопасных версий протокола SMB (используется в Windows для доступа к общим сетевым папкам и файлам). Так, начиная с Windows 10 1709, был отключен протокол SMBv1 и анонимный (гостевой) доступ к сетевым папкам по протоколу SMBv2.
Конкретные действия, которые нужно предпринять зависят от ошибки, которая появляется в Windows 10 при доступе к общей папке и от настроек удаленного SMB сервера, на котором хранятся общие папки.
Вы не можете получить гостевой доступ к общей папке без проверки подлинности
Начиная с версии Windows 10 1709 (Fall Creators Update) Enterprise и Education пользователи стали жаловаться, что при попытке открыть сетевую папку на соседнем компьютере стала появляться ошибка:
При это на других компьютерах со старыми версиями Windows 8.1/7 или на Windows 10 с билдом до 1709, эти же сетевые каталоги открываются нормально. Эта проблем связана с тем, что в современных версиях Windows 10 (начиная с 1709) по умолчанию запрещен сетевой доступ к сетевым папкам под гостевой учетной записью по протоколу SMBv2 (и ниже). Гостевой (анонимный) доступ подразумевают доступ к сетевой папке без аутентификации. При доступе под гостевым аккаунтом по протоколу SMBv1/v2 не применяются такие методы защиты трафика, как SMB подписывание и шифрование, что делает вашу сессию уязвимой против MiTM (man-in-the-middle) атак.
При попытке открыть сетевую папку под гостем по протоколу SMB2, в журнале клиента SMB (Microsoft-Windows-SMBClient) фиксируется ошибка:
В большинстве случае с этой проблемой можно столкнуться при использовании старых версий NAS (обычно для простоты настройки на них включают гостевой доступ) или при доступе к сетевым папкам на старых версиях Windows 7/2008 R2 или Windows XP /2003 с настроенным анонимным (гостевым) доступом (см. таблицу поддерживаемых версий SMB в разных версиях Windows).
В этом случае Microsoft рекомендует изменить настройки на удаленном компьютере или NAS устройстве, который раздает сетевые папки. Желательно переключить сетевой ресурс в режим SMBv3. А если поддерживается только протокол SMBv2, настроить доступ с аутентификацией. Это самый правильный и безопасный способ исправить проблему.
В зависимости от устройства, на котором хранятся сетевые папки, вы должны отключить на них гостевой доступ.
- NAS устройство – отключите гостевой доступ в настройках вашего NAS устройства (зависит от модели);
- Samba сервер на Linux — если вы раздаете SMB каталог с Linux, в конфигурационном файле smb.conf в секции [global] нужно добавить строку: map to guest = never
А в секции с описанием сетевой папки запретить анонимный доступ: guest ok = no - В Windows вы можете включить общий доступ к сетевым папкам и принтерам с парольной защитой в разделе Control Panel\All Control Panel Items\Network and Sharing Center\Advanced sharing settings. Для All Networks (Все сети) в секции “Общий доступ с парольной защитой” (Password Protected Sharing) имените значение на “Включить общий доступ с парольной защитой” (Turn on password protected sharing). В этом случае анонимный (гостевой) доступ к папкам будет отключен и вам придется создать локальных пользователей, предоставить им доступ к сетевым папкам и принтерам и использовать эти аккаунты для подключения к общим папкам на этом компьютере.
Есть другой способ – изменить настройки вашего SMB клиента и разрешить доступ с него на сетевые папки под гостевой учетной записью.
Чтобы разрешить гостевой доступ с вашего компьютера, откройте редактор групповых политик (gpedit.msc) и перейдите в раздел: Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция Lanman (Computer Configuration ->Administrative templates -> Network (Сеть) -> Lanman Workstation). Включите политику Enable insecure guest logons (Включить небезопасные гостевые входы).
В Windows 10 Home, в которой нет редактора локальной GPO, вы можете внести аналогичное изменение через редактор реестра вручную:
Или такой командой:
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
Вашей системе необходимо использовать SMB2 или более позднюю
Другая возможная проблема при доступе к сетевой папке из Windows 10 – поддержка на стороне сервера только протокола SMBv1. Т.к. клиент SMBv1 по умолчанию отключен в Windows 10 1709, при попытке открыть шару вы можете получить ошибку:
При этом соседние устройства SMB могут не отображаться в сетевом окружении и при открытии по UNC пути может появляться ошибка 0x80070035.
Т.е. из сообщения об ошибке четко видно, что сетевая папка поддерживает только SMBv1 протокол доступа. В этом случае нужно попытаться перенастроить удаленное SMB устройство для поддержки как минимум SMBv2 (правильный и безопасный путь).
Если сетевые папки раздает Samba на Linux, вы можете указать минимально поддерживаемую версию SMB в файле smb.conf так:
В Windows 7/Windows Server 2008 R2 вы можете отключить SMBv1 и разрешить SMBv2 так:
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB1 -Type DWORD -Value 0 –Force
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 1 –Force
В Windows 8.1 отключите SMBv1, разрешите SMBv2 и SMBv3 и проверьте что для вашего сетевого подключения используется частный или доменный профиль:
Disable-WindowsOptionalFeature -Online -FeatureName «SMB1Protocol»
Set-SmbServerConfiguration –EnableSMB2Protocol $true
Если ваше сетевое устройство (NAS, Windows XP, Windows Server 2003), поддерживает только протокол SMB1, в Windows 10 вы можете включить отдельный компонент SMB1Protocol-Client. Но это не рекомендуется.
Запустите консоль PowerShell и проверьте, что SMB1Protocol-Client отключен ( State: Disabled ):
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Включите поддержку протокола SMBv1 (потребуется перезагрузка):
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Также вы можете включить/отключить дополнительные компоненты Windows 10 (в том числе SMBv1) из меню optionalfeatures.exe -> SMB 1.0/CIFS File Sharing Support
В Windows 10 1709 и выше клиент SMBv1 автоматически удаляется, если он не использовался более 15 дней (за это отвечает компонент SMB 1.0/CIFS Automatic Removal).
После установки клиента SMBv1, вы должны без проблем подключиться к сетевой папке или принтеру. Однако, нужно понимать, что использование данного обходного решения не рекомендовано, т.к. подвергает вашу систему опасности.
Почему Windows 10 может не видеть соседние компьютеры в сетевом окружении
Ко мне несколько раз обращались читатели с просьбой помочь решить проблему с отображением компьютеров в сетевом окружении на последних сборках Windows 10. Действительно, в последних релизах Windows 10 ваш компьютер можете перестать видеть соседние компьютеры в рабочей группе локальной сети, либо же сам пропасть из сетевого окружения. Рассмотрим, как это исправить.
Не отображаются компьютеры с Windows 10 в сетевом окружении рабочей группы
Пользователи стали сталкиваться с проблемами отображения соседних компьютеров в локальной сети рабочей группы еще начиная с Windows 10 1703 (Creators Update). После установки данного билда W10 при просмотре устройств в сетевом окружении компьютер перестает видеть соседние компьютеры.
Список компьютеров в сетевом окружении можно просмотреть в проводнике либо командой:
Если список пуст (команда вернула В списке нет элементов ), что в первую очередь проверьте следующие настройки.
Проверьте, включен ли у вас сервис доступа к файлам и папкам. Перейдите в раздел Панель управления -> Центр управления сетями и общим доступом -> Дополнительные параметры общего доступа .
Убедитесь, что у вас в секции текущего сетевого профиля Частная (текущий профиль) включены опции:
- Включить сетевое обнаружение
- Включить доступ к файлам и принтерам
- Разрешить Windows управлять подключениями домашней группы
Затем в профили Все сети активируйте опции:
- Включить общий доступ, чтобы сетевые пользователи могли читать и записывать файлы в общих папках
- Отключить парольную защиту (если вы доверяете всем устройствам в вашей сети)
Затем откройте пункт Параметры Windows -> Сеть и Интернет -> Ethernet (в том случае, если вы подключены к локальной сети через беспроводное подключение, выберите Wi-Fi). Щелкните по сетевому значку и проверьте, что включена опция Сделать этот компьютер доступным для обнаружения .
В некоторых случаях для включения обнаружения нужно в командной строке с правами администратора выполнить команду:
netsh advfirewall firewall set rule group=»Network Discovery» new enable=Yes
В некоторых случаях компьютер с Windows может не отображаться в сетевом окружении из-за неправильных настроек рабочей группы. Попробуйте заново добавить этот компьютер в рабочую группу, переписав параметры ( Панель управления -> Система -> Дополнительные параметры системы -> Имя компьютера -> кнопка Идентификация ).
В открывшемся мастере присоединения к домену или рабочей группе выберите последовательно: Компьютер входит в корпоративную сеть -> Моя организация использует сеть без доменов -> имя вашей рабочей группы. После этого нужно перезагрузить компьютер.
Если после перезагрузки компьютер появился в сетевом окружении, но зайти на него не удается, проверьте тип сети компьютера. Скорее всего ваша локальная сеть распозналась как Публичная . Нужно сменить тип сети на Частная . Для этого откройте Параметры -> Сеть и Интернет -> Состояние -> Домашняя группа -> Изменение расположения в сети .
Нажмите на ссылку Изменение расположения в сети, после этого в боковой панели с запросом «Вы хотите разрешить другим компьютерам и устройства в этой сети обнаруживать ваш ПК? Рекомендуем делать это в домашней или рабочей сети, а не в общедоступных», выберите Да.
Откройте сетевое окружение и проверьте, появились ли компьютеры.
Если указанные советы не помогли, и компьютеры в рабочей группе все еще не отображаются, попробуйте сбросить настройки сети (Параметры -> Сеть и Интернет -> Состояние -> Сброс сети).
Сбросить сетевые настройки и правила файервола можно командами:
netsh int ip reset reset.txt
netsh winsock reset
netsh advfirewall reset
После чего нужно перезагрузить компьютер.
Также проверьте запущены ли следующие службы (для корректного отображения сетевого окружения они должны находится в состоянии автоматического запуска):
- Function Discovery Provider Host
- Function Discovery Resource Publication (см. ниже)
- DNS Client
- SSDP Discovery
- UPnP Device Host
SMB 1.0 и проблемы с Master Browser в Windows 10
Бывает, что проблемы с отображением компьютеров в сетевом окружении связаны со службой Обозревателя сети (Master Browser). Эта служба отвечает за построение и поддержание списка активных компьютеров в сети ( подробнее о службе Computer Browser ). В локальной сети может быть только один активный компьютер с ролью главного обогревателя.
В Windows 10 1703 служба Обозревателя сети работает некорректно. Рекомендуется полностью отключить эту службу на Windows 10 и использовать в качестве основного обозревателя сети компьютер с Windows 7 (через реестр).
Кроме того, в Windows 10 1709 и выше по-умолчанию отключен протокол SMB v1.0 , тем самым отключается и служба Computer Browser, которая как мы говорили отвечает за составление списка компьютеров в сети и их отображение. Если в сети у вас остались компьютеры только с Win 10 1709 и выше (см. таблицу совместимости версий SMB v1 ), чтобы решить проблему придется включить протокол SMB v1.0 хотя бы на одном компьютере (небезопасно!), который и будет у вас главным обогревателем сети (Master Browser). Установка SMB 1.0 выполняется путем добавления 3 компонентов в панели управления.
Компьютер не виден в сети после обновления до Windows 10 1803
В Windows 10 1803 (Spring Creators Update) разработчики убрали возможность создавать рабочую группу компьютеров, кроме того компьютеры с Windows 10 перестают отображаться в сетевом окружении проводника при просмотре устройств сети.
Дело в том, что с точки зрения Microsoft рабочие группы – это устаревший функционал организации локальной сети для доступа к общим ресурсам и принтерам. Вместо использования рабочей группы Microsoft предлагает использовать свои облачные сервисы (OneDrive, доступ через учетные записи Microsoft Account). На мой взгляд, это неоправданно.
Однако по факту в 1803, чтобы получить доступ к ресурсам другого компьютера в локальной сети нужно знать его имя (\\pcname1) или ip адрес (в формате \\192.168.1.100), но в сетевом окружении соседние компьютеры не отображаются. Однако это можно исправить.
Дело в том, что за обнаружение компьютеров в сети в Windows 10 отвечает отдельная служба Function Discovery Resource Publication , которая после установки 1803 по умолчанию не запускается (тип запуска с Автоматического изменен на Отключен). Если эта служба остановлена, компьютер не обнаруживает в сети другими компьютерами. Включить службу автообнаружения в Windows 10 1803 можно так.
- Откройте консоль управления службами Windows (services.msc)
- В списке служб найдите службу Function Discovery Resource Publication (Публикация ресурсов обнаружения функции). Она должна быть отключена.
- Измените тип запуска службы с Manual на автоматический с отложенной загрузкой — Automatic (Delayed Start).
- Перезагрузите компьютер
После перезагрузки другие компьютеры в локальной сети смогу обнаруживать данный компьютер и его ресурсы (принтеры и общие папки).