
Я немного застрял, пытаясь понять, почему я не могу получить доступ к общей папке 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:
Запустите это:
Get-NetAdapter | fl Name,Status,InterfaceDescription,Status,MacAddress,LinkSpeed,InterfaceGuid
Обратите внимание на адаптер.ИнтерфейсGuidценить.
Через командную строку (источник):
При необходимости используйте оснастку Services MMC (запустить
services.msc
) для запускаПроводная автонастройкасервис (для проводных сетевых интерфейсов) илиАвтонастройка WLANсервис (для беспроводных интерфейсов).Выполните команду, соответствующую вашему типу интерфейса:
Проводной:
netsh lan show interfaces
Беспроводной:netsh wlan show interfaces
Обратите внимание наGUIDзначение (оно будет отображено без окружающих скобок, которые вам необходимо добавить).
Шаг Б: Редактирование реестра
Запустите
regedit
, чтобы открыть редактор реестра.Перейдите к следующему ключу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage
Для каждого из трех значений в таблице ниже (Привязка, Экспорт и Маршрут) дважды щелкните значение, чтобы открыть редактор данных Значения.
Проверьте данные значения для строк, показанных вДанныестолбец таблицы ниже. Когда таблица показывает,
{GUID}
замените его на фактический GUID вашего сетевого адаптера, включая окружающие скобки. Например, если GUID вашего адаптера соответствует{DED7C856-1234-5678-BA7E-FF9BF300F579}
таблице ниже,СвязыватьЗначение в реестре должно иметь следующие две записи:\Device\Tcpip_{DED7C856-1234-5678-BA7E-FF9BF300F579} \Device\Tcpip6_{DED7C856-1234-5678-BA7E-FF9BF300F579}
Добавьте любые отсутствующие значения данных в виде новых строк в конце текстового поля. Сделайте это для каждого значения, показанного в таблице.
Ключ: 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}" | +--------+-----------------------------+
- Повторите шаги 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.
С уважением,
Крис