Шаг А: Получите GUID вашего сетевого адаптера.

Шаг А: Получите GUID вашего сетевого адаптера.

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

Когда я пытаюсь просмотреть общую папку через \\localhost, все работает, я вижу файлы.

локальный хост -- ок

Однако при попытке подключиться с того же компьютера через мой локальный сетевой адрес (192.168.1.2) отображается список папок, но открыть его не удаётся.

введите описание изображения здесь

Я могу пинговать свой адрес ( 192.168.1.2) без проблем. Брандмауэр отключен. Антивируса нет. Я включил и «Общий доступ к файлам и принтерам», и «Сетевое обнаружение».

Microsoft Windows [Version 10.0.15063]

Вот как выглядит мой ipconfig, ничего подозрительного.

C:\Users\nrj>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : EUGENE-PC
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter local:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : <hidden>
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::c0cf:f044:74d2:c5ec%11(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.2(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Saturday, August 12, 2017 14:57:30
   Lease Expires . . . . . . . . . . : Sunday, August 13, 2017 14:57:30
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 190858699
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1E-9B-1E-0E-00-1F-C6-78-EC-28
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Disabled

Netstat для порта 445:

C:\Users\nrj>netstat -a | findstr /R /C:.*445.*
  TCP    0.0.0.0:445            EUGENE-PC:0            LISTENING
  TCP    [::]:445               EUGENE-PC:0            LISTENING

Что еще я могу проверить, чтобы выяснить это?

ОБНОВЛЕНИЕ. В свойствах сетевого адаптера указано, что «Общий доступ к файлам и принтерам» включен.

свойства сетевого адаптера

Чтобы прояснить ситуацию, 192.168.1.2это адрес моего компьютера, с которого я пытаюсь получить доступ к своему собственному файловому ресурсу, и он не работает. Вот таблица маршрутов.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1      192.168.1.2     35
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      192.168.1.0    255.255.255.0         On-link       192.168.1.2    291
      192.168.1.2  255.255.255.255         On-link       192.168.1.2    291 <- see here
    192.168.1.255  255.255.255.255         On-link       192.168.1.2    291
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link       192.168.1.2    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link       192.168.1.2    291

ОБНОВЛЕНИЕ 2. netcfgвывод здесь:https://pastebin.com/zRa7wi1t.

решение1

Когда вы задали этот вопрос 6 месяцев назад, в своих попытках воспроизвести вашу проблему я отключил, а затем снова включил NetBIOS через TCP/IP в расширенных настройках TCP/IP моего сетевого адаптера. Несколько недель спустя я обнаружил, что у меня та же проблема, что описана в OP (за исключением того, что я сам ее и сделал). Я в итоге решил проблему после нескольких часов исследований, которые завершились кропотливым сравнением реестров рабочего компьютера с моим нерабочим компьютером.

Вот решение, которое я нашел. (Возможно, сначала вам захочется выпить пива...)

Шаг А: Получите GUID вашего сетевого адаптера.

Вам понадобится GUID вашего сетевого адаптера. Он выглядит примерно так:

{DED7C856-1234-5678-BA7E-FF9BF300F579}

Вот два способа его получить:

Через PowerShell:

  1. Запустите это:

    Get-NetAdapter | fl Name,Status,InterfaceDescription,Status,MacAddress,LinkSpeed,InterfaceGuid
    
  2. Обратите внимание на адаптер.ИнтерфейсGuidценить.

Через командную строку (источник):

  1. При необходимости используйте оснастку Services MMC (запустить services.msc) для запускаПроводная автонастройкасервис (для проводных сетевых интерфейсов) илиАвтонастройка WLANсервис (для беспроводных интерфейсов).

  2. Выполните команду, соответствующую вашему типу интерфейса:

    Проводной:       netsh lan show interfaces
    Беспроводной:  netsh wlan show interfaces

  3. Обратите внимание наGUIDзначение (оно будет отображено без окружающих скобок, которые вам необходимо добавить).

Шаг Б: Редактирование реестра

  1. Запустите regedit, чтобы открыть редактор реестра.

  2. Перейдите к следующему ключу:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage

  3. Для каждого из трех значений в таблице ниже (Привязка, Экспорт и Маршрут) дважды щелкните значение, чтобы открыть редактор данных Значения.

  4. Проверьте данные значения для строк, показанных вДанныестолбец таблицы ниже. Когда таблица показывает, {GUID}замените его на фактический GUID вашего сетевого адаптера, включая окружающие скобки. Например, если GUID вашего адаптера соответствует {DED7C856-1234-5678-BA7E-FF9BF300F579}таблице ниже,СвязыватьЗначение в реестре должно иметь следующие две записи:

    \Device\Tcpip_{DED7C856-1234-5678-BA7E-FF9BF300F579}
    \Device\Tcpip6_{DED7C856-1234-5678-BA7E-FF9BF300F579}
    
  5. Добавьте любые отсутствующие значения данных в виде новых строк в конце текстового поля. Сделайте это для каждого значения, показанного в таблице.

Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage

+--------+-----------------------------+
| Значение | Данные |
+--------+-----------------------------+
| Привязать | \Device\Tcpip_{GUID} |
| | \Device\Tcpip6_{GUID} |
+--------+-----------------------------+
| Экспорт | \Device\NetBt_Tcpip_{GUID} |
| | \Device\NetBt_Tcpip6_{GUID} |
+--------+-----------------------------+
| Маршрут | "Tcpip" "{GUID}" |
| | "Tcpip6" "{GUID}" |
+--------+-----------------------------+
  1. Повторите шаги 2–5 для каждой из следующих таблиц (для этой следующей таблицы вы будете использовать таблицу данных для обоих показанных ключей):
Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Linkage
Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage

+-------+-----------------------------+
| Значение | Данные |
+-------+-----------------------------+
| Привязать | \Device\Tcpip_{GUID} |
| | \Device\Tcpip6_{GUID} |
| | \Device\NetBT_Tcpip_{GUID} |
| | \Device\NetBT_Tcpip6_{GUID} |
+-------+-----------------------------+
| Маршрут | "Tcpip" "{GUID}" |
| | "Tcpip6" "{GUID}" |
| | "NetBT" "Tcpip" "{GUID}" |
| | "NetBT" "Tcpip6" "{GUID}" |
+-------+-----------------------------+
Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Linkage

+--------+------------------------------------------+
| Значение | Данные |
+--------+------------------------------------------+
| Экспорт | \Device\LanmanServer_Tcpip_{GUID} |
| | \Device\LanmanServer_Tcpip6_{GUID} |
| | \Device\LanmanServer_NetBT_Tcpip_{GUID} |
| | \Device\LanmanServer_NetBT_Tcpip6_{GUID} |
+--------+------------------------------------------+
Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage

+--------+-----------------------------------------------+
| Значение | Данные |
+--------+-----------------------------------------------+
| Экспорт | \Device\LanmanWorkstation_Tcpip_{GUID} |
| | \Device\LanmanWorkstation_Tcpip6_{GUID} |
| | \Device\LanmanWorkstation_NetBT_Tcpip_{GUID} |
| | \Device\LanmanWorkstation_NetBT_Tcpip6_{GUID} |
+--------+-----------------------------------------------+

Шаг C: Перезагрузка

Перезагрузите компьютер, чтобы изменения вступили в силу.

решение2

Для автоматизации Twisty ImpersonatorрешениеЯ разработал программу командной строки под названиемПоделитьсяFix.

Извините, если это похоже на рекламу, но это работает.

решение3

В качестве ярлыка для взлома реестра, описанного выше, вы можете открыть Панель управления, перейти к параметрам адаптера, затем к свойствам интерфейса,запрещатьСеть и общий доступ к файлам, затем снова откройте окно идавать возможностьснова.

введите описание изображения здесь

Это, по-видимому, заставляет Windows переосмыслить все привязки адаптера LanManServer. Миллион жалости, что это необходимо!

решение4

Единственное отличие, которое я вижу на своем ПК по сравнению с вашим, из того, чем вы поделились, это NETBIOS через Tcpip. У меня он включен, а у вас отключен, так что это должно быть достаточно простой настройкой, чтобы посмотреть, решит ли она вашу проблему.

В окне «Свойства адаптера Ethernet» дважды щелкните «Протокол Интернета версии 4 (TCP/IPv4)», чтобы открыть окно «Свойства IPv4».
введите описание изображения здесь

Нажмите кнопку «Дополнительно».
введите описание изображения здесь

Затем выберите вкладку WINS и включите настройку NetBIOS. У меня она установлена ​​по умолчанию, поэтому выберите ее включение, если она установлена ​​по умолчанию.
введите описание изображения здесь

Перезагрузите компьютер и проверьте, сработало ли это.

ОБНОВЛЯТЬ:

netstat -an -p tcp

Это вернет IP-адрес с IP-адресом, которые подключены, если они подключены, и если связь установлена ​​или прослушивается. Я опустил текст из моего результата, чтобы показать только то, что имеет значение.

    Active Connections

    Proto  Local Address          Foreign Address        State
    TCP    192.168.1.15:139       0.0.0.0:0              LISTENING
    TCP    192.168.1.15:445       192.168.1.31:53594     ESTABLISHED
    TCP    192.168.1.15:445       192.168.1.33:33598     ESTABLISHED

У меня есть два подключения к моему общему ресурсу с двух разных IP-адресов, просто хотел показать это в качестве примера.

Порт 139 предназначен для нашей службы сеансов NetBIOS.
Порт 445 предназначен для нашего общего доступа к файлам SMB.

С уважением,

Крис

Связанный контент