Почему Windows 10 не видит компьютеры в сетевом окружении?

Windows 10 не видит сеть
Почему Windows 10 не видит сеть?

Сложно представить себе офис без компьютерной сети с подключенными к ней десктопами, ноутбуками и серверами. В течении рабочего дня гигабайты информации передаются и получаются не только через сеть Интернет, но и локально: папки обмена, расшареные сетевые диски, печать на общий принтер. Представьте, что в один далеко не прекрасный день компьютер выступавший в роли сервера печати внезапно исчез из сетевого окружения или доступ посети к нему прекратился. Или, скажем, приобрела организация новенький ПК с предустановленной Windows 10. Подключили его к сети. В Интернет компьютер заходит без проблем, а в локальной сети отображаться не хочет и соседей не видит. А ведь к нему хотели подключить плоттер или МФУ для печати с других ПК… Что делать? Почему Windows 10 не видит компьютеры в сети?

 

Чтобы Windows 10 увидела сеть, в первую очередь настройте параметры общего доступа

Может случиться так, что Windows 10 не видит компьютеры рабочей группы по банальной причине – не настроены параметры общего доступа.

Для начала необходимо убедиться что общий доступ в разделе “Панель управления->Сеть и Интернет->Центр управления сетями и общим доступом->Дополнительные параметры общего доступа” включён, а парольная защита – отключена.

Панель управления->Сеть и Интернет->Центр управления сетями и общим доступом->Дополнительные параметры общего доступа

Если в локальной сети присутствуют ПК под управлением устаревших операционных систем – поставьте галочку напротив пункта “Включить общий доступ для устройств, использующих 40 или 56-битное шифрование”.

 

Включите отображение сети и общий доступ к файлам в брандмауэре Windows 10

Отображению компьютеров в локальной сети может мешать брандмауэр Windows 10

Win⊞ ->”Найти” -> Брандмауэр Windows ->Разрешение взаимодействия с приложением или компонентом…

Win⊞ ->Найти -> Брандмауэр Windows ->Разрешение взаимодействия с компонентом или приложением…

 

 

Помимо настройки параметров общего доступа в Win10, изменения расположения сети на домашнюю и прочих манипуляций с настройками, следует проверить работают ли следующие службы (их статус должен быть выставлен как “Автоматически”):

  • Хост поставщика функции обнаружения – отвечает за обнаружение в сети других компьютеров;
  • Публикация ресурсов обнаружения функции – отвечает за то, чтобы другие компьютеры могут обнаружить в сети ваш компьютер;
    Об этих двух важных службах подробно расписано в конце статьи
  • Служба DNS-клиента;
  • Служба обнаружения SSDP;
  • Узел универсальных PNP-устройств;

 

Так же нелишним будет отключение или удаление сторонних брандмауэров, антивирусов имеющих в своём составе сетевые экраны (Esset Smart Security, Comodo Firewall), сброс настроек встроенного брандмауэра из командной строки (cmd.exe, запускаем от имени администратора):
netsh int ip reset
netsh winsock reset
netsh advfirewall reset

Можно попробовать выполнить сброс настроек сети командами:
netsh winsock reset
netsh int ip reset

Или выполнить сброс сети используя интерфейс системы: откройте параметры Windows -> Сеть и Интернет -> Состояние -> Сброс сети, нажмите Сбросить сейчас.

Теперь перейдите к сбросу настроек сети. Откройте параметры Windows > Сеть и Интернет > Состояние > Сброс сети и нажмите “Сбросить сейчас”.

 

Увидеть компьютеры в сети может помочь отключение протокола IPv6 с свойствах сетевого адаптера Windows 10

Центр управления сетями и общим доступом->Изменение параметров адаптера

 

Обозреватель сети в Windows 10 и отображение в сети

Проблемы с доступом по сети может быть связана со службой обозревателя сети (Master Browser). Она отвечает за построение и поддержание списка компьютеров. В локальной сети только один компьютер может брать на себя роль обозревателя (+резервный компьютер-браузер). Решается это чем-то наподобие голосования между всеми подключенными к “локалке” ПК и на роль обозревателя выбирается либо сервер, либо хост с более новой операционной системой на борту. Так же обращается внимание на значение параметра MaintainServerList в реестре (об это ниже). При удалении из сети компьютера-обозревателя путём голосования опять выбирается новый.

Учтите некоторые особенности Windows 10:

  • В билде 1703 Windows 10 обозреватель работает не корректно и его лучше отключить в службах или через реестр.
  • Начиная с билда 1709 служба обозревателя сети совместно с протоколом SMB v1.0 отключена (т.к. работают более новые службы отвечающие за данную функцию).
    Узнать версию сборки своей операционной системы можно набрав команду Winver в командной строке.

 

Можно попытаться вернуть старый-добрый обозреватель включив протокол SMB v1.0/SIFS

Windows 10 по идее должна стать мастер-браузером сети с поддержкой устаревших компьютеров-соседей. Почему по идее? Свистопляска индусского кода в последнее время настолько хаотична, что даже сам Шива не ведает, что у этих разработчиков на уме…

Включаем устаревший протокол SMB 1.0 и поднимаем Обозреватель компьютеров сети

Win⊞ -> Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows -> Поддержка общего доступа к файлам SMB 1.0 / CIFS -> Клиент SMB 1.0 / CIFS, Сервер SMB 1.0 / CIFS  (Не забудьте перезагрузить компьютер).

 

Как включить/выключить Master Browser через реестр

Чтобы вручную включить или наоборот отключить функцию обозревателя сети можно воспользоваться реестром. Нажмите “Пуск” в окне “Найти” введите Regedit.exe и нажмите Enter

HKLM\System\CurrentControlSet\Services\Browser\Paramters\MaintainServerList

Раскройте ветку HKLM\System\CurrentControlSet\Services\Browser\Paramters и найдите параметр MaintainServerList. Он отвечает за запуск службы обозревателя локальной сети и може принимать следующие значения:

  • No – этот значение запрещает компьютеру становиться мастер-браузером или резервным браузером.
  • Yes – этот параметр разрешает компьютеру участвовать в выборах и иметь шансы на роль главного обозревателя сети. При подключении этого ПК к сети он автоматически становится резервным браузером. Далее он попытается связаться с мастер-браузером для получения списка компьютеров.
  • Auto – это значение делает компьютер потенциальным браузером. Это играет роль при выборе нового обозревателя сети.

 

Связать по сети два компьютера может не получиться из-за различия версий протоколов SMB операционных систем

Для того, чтобы пользователи компьютеров могли обмениваться файлами и папками, подключаться к принтерам в пределах локальной сети был придуман специальный протокол Server Message Block. Он реализовывает клиент-серверное (т.е. тот кто хочет посмотреть шары – клиент, тот у кого расшарены папки – сервер) подключение поверх TCP/IP используя API-прослойку NetBIOS* в устаревших операционных системах и новые протоколы SSDP и WS-Discovery в Windows 10 .

*В одноранговой локальной сети, где не используются контроллеры домена с DNS серверами и пр. сложностями, отображение имен компьютеров реализовано с помощью древнего протокола NetBIOS (Server2003/XP). В операционных системах Windows Vista/Server 2008 и выше эта задача решается с помощью технологии Link-Local Multicast Name Resolution (LLMNR). В десятке применяется SSDP + WS-Discovery. Всё это даёт возможность новым версиям SMB спокойно работать поверх TCP (без NetBIOS).

За годы эволюции компьютеров и сетей протокол доступа к файлам и принтерам претерпел значительные изменения и улучшения. На данный момент новейшая ОС Windows 10 использует последнюю прогрессивную версию протокола SMB 3.1.1. На замену устаревшим протоколам разрешения имя<–>адрес в локальных сетях  пришли протоколы протоколы Simple Services Discovery Protocol (SSDP) и Web Services Discovery (WS-Discovery). Именно их и использует служба “Хост поставщика функции обнаружения”

В Windows 10 за отображение расшареных ресурсов в сети и обнаружение соседних компьютеров отвечают службы “Публикация ресурсов обнаружения функции” и “Хост поставщика функции обнаружения”. Эти две службы должны быть запущены!

В XP для этих целей использовалась служба Обозреватель компьютеров совместно с протоколом SMB v1.0 и NetBIOS.

К слову сказать, поддержка устаревшего NetBIOS в современных операционных системах до сих пор включена для совместимости со старыми приложениями и сетевыми сервисами.

Проверить включен NetBIOS или нет в вашей операционной системе можно зайдя в раздел “Сетевые подключения” и нажав кнопку “Сведения” в свойствах выбранного адаптера.

Служба NetBIOS через TCP/IP включена

 

Пытаясь связать по локальной сети два компьютера под управлением различных операционных систем следует знать, что для их взаимодействия будет выбрана максимальная версия протокола SMB поддерживаемая одновременно и клиентом и сервером. К примеру: для двух хостов под управлением Windows 10 и XP максимальной версией будет SMB1.
На практике, конечно же, новейшая операционная система откажется использовать слишком древний протокол связи и для того, чтобы настроить передачу файлов по сети придётся немного поиграть с настройками.

Сводим два значения как в таблице Пифагора

 

Почему Windows 10 не видит XP по сети и как это исправить?

Устаревшая версия SMB 1/CIFS File Sharing Support совместно со службой “Обозреватель компьютеров” (Computer Browser)  использовалась в операционных системах Windows Server 2003 / XP /2000. Начиная с Windows Vista на замену обозревателя компьютеров пришёл ряд новых служб: Function Discovery Provider Host отвечающая за обнаружение “соседей по сети” и Function Discovery Resource Publication отвечающая за обнаружение в сети компьютера на котором оная служба запущена.
К примеру требуется связать по локальной сети два хоста работающих на XP и Windows 10. Эти операционные системы используют различные версии протокола SMB. С точки “зрения” десятки имеющей на борту продвинутую версию – SMB 3.1.1 передача файлов по сети компьютеру использующему древнюю и кстати сказать уязвимую для атак реализацию протокола именуемую SMB 1/CIFS крайне опасно. Чтобы заставить Windows 10 видеть шары на древней системе необходимо в настройках сетевых компонентов десятки включить поддержку SMB 1/CIFS клиента. Чтобы расшаривать на 10-ке папки для клиентов использующих устаревшую XP нужно включить SMB 1/CIFS сервер. Следует отметить, что данные процедуры с точки зрения безопасности сети не уместны ввиду возможности атак на устаревшие и уязвимые версии протоколов передачи. Но, как говорится, если очень надо – то можно.

Win⊞ -> Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows -> Поддержка общего доступа к файлам SMB 1.0 / CIFS -> Клиент SMB 1.0 / CIFS  (Не забудьте перезагрузить компьютер).

Благодаря включению компонента клиент SMB1.0 у Windows 10 появится возможность просматривать расшареные папки компьютеров под управлением XP.

Проконтролировать в 10-ке какие протоколы в данный момент поддерживаются можно командой заданной в строке Windows PowerShell (аналог командной строки): Get-SmbServerConfiguration

Подробный результат команды показывает поддержку протоколов SMB 1 и 2-й версий.

 

Можно попытаться подключиться к компьютеру по сети используя команды Windows PowerShell

Открываем консоль PowerShell и вводим команду Test-NetConnection 192.168.1.104 -port 445
(ip адрес, естественно вводите тот, на котором находится компьютер с шарами)

Порт 445 используется для соединения SMB over TCP в системах выше XP/Server2003.

Если соединение установилось, мы получим ответ:

Таким образом можно выяснить не блокирует ли брандмауэр соединение? Можно попытаться установить коннект по порту 139 (актуально для очень старых операционных систем использующих SMB over NetBIOS). Мало ли, может ваша система пытается соединиться используя новые протоколы связи, а старый компьютер с шарами слушает на 139 порту?

 

Windows 10 может блокировать анонимный вход по сети

Windows 10 блокирует сетевой вход по протоколу SMB v2 для анонимных пользователей (сама система использует версию SMB 3.1.1). Чтобы всё-таки разрешить анонимные подключения нужно включить “Небезопасные гостевые входы” в редакторе групповых политик.

Computer Configuration -> Administrative templates -> Network (Сеть)-> Lanman Workstation

или ввести в командной строке:
reg add
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v
AllowInsecureGuestAuth /t reg_dword /d 00000001 /f