Рейтинг:0

Windows 10: включить просмотр сети / WS-Discovery / UPnP / обнаружение службы SSDP в подсетях из проводника Windows.

флаг ng

У меня есть следующий сценарий: два сайта, каждый со своей собственной сетью (непересекающаяся частная подсеть), подключенные с помощью межсайтовой VPN (уровень 3, Wireguard). Маршруты к другим сайтам настраиваются в шлюзах по умолчанию и также распределяются клиентам по DHCP. IP-трафик (v4 и v6) нормально перемещается между сетями.

На обоих VPN-шлюзах авахи-демон работает как ретранслятор mDNS (включить-отражатель = да) между локальной сетью и туннелем wireguard, и хитрый настроен на пересылку маршрутизируемые многоадресные пакеты SSDP (отправлено в 239.255.255.250, ff05::c, ff08::c) из локальной сети в туннель wireguard и наоборот. Это работает хорошо, пакеты MDNS и SSDP перемещаются из одной сети в другую, я проверил это с помощью Wireshark.

В Windows 10 (21H2) разрешение имен mDNS для доменов .local хорошо работает в обеих сетях благодаря отражению демона avahi.В VLC в Windows мультимедийные устройства из обеих сетей обнаруживаются с помощью mDNS, а также UPnP (SSDP), и к ним можно получить доступ. Однако проводник Windows показывает только устройства из локальной сети в представлении «Сеть».

Я уже проверил и попробовал следующие вещи:

  • Служба публикации ресурсов обнаружения функций (FDResPub) включена и работает.
  • Служба узла провайдера обнаружения функций (fdPHost) включена и работает (хотя, насколько я понимаю, это не обязательно для обнаружения службы).
  • Обнаружение сети и общий доступ к файлам и принтерам включены для активного сетевого профиля (частного) в дополнительных настройках общего доступа.
  • Я полностью отключил брандмауэр Windows для тестирования (другие брандмауэры не установлены).

При нажатии Ctrl + F5 в представлении «Сеть» в проводнике Windows я вижу, что запросы SSDP M-SEARCH отправляются на многоадресные адреса. 239.255.255.250 и ff02::c. IPv6-адрес ff02::c является локальным многоадресным адресом и не маршрутизируется в другую сеть, а запрос, отправленный в 239.255.255.250 достигает другой сети, и ответы от устройств достигают локальной сети. Но эти устройства не отображаются в проводнике Windows.

я нашел документация по Windows UPnP API. Есть раздел про параметры конфигурации это можно изменить с помощью ключей реестра. Большинство упомянутых путей реестра существуют, но ни один из упомянутых ключей не установлен. Ключи СкачатьScope и Приемескопе оба по умолчанию 1, что позволяет обнаруживать хосты в частных подсетях. Я также добавил оба ключа в реестр (как 32-битный DWORD), явно установил для них значение 1 и перезагрузил компьютер с Windows, но проводник Windows по-прежнему показывает только другие компьютеры из той же подсети.

UPnPDeviceFinder можно использовать из PowerShell для получения списка устройств UPnP (кредиты):

$ssdpFinder = New-Object -ComObject 'UPnP.UPnPDeviceFinder'
$ssdpFinder.FindByType('ssdp:все', 0)

Этот делает найти UPnP-устройства как в локальной, так и в удаленной сети, а также с помощью СкачатьScope и Приемескопе не указано в реестре. Однако запросы IPv6 SSDP M-SEARCH отправляются на ff02::c даже с СкачатьScope и Приемескопе оба явно настроены на 1 и поэтому не должны направляться в другие сети.

Так что осталось два вопроса:

  • Как можно настроить Windows 10 так, чтобы проводник Windows показывал устройства из других сетей, обнаруженные с помощью WS-Discovery / UPnP / SSDP, в представлении «Сеть»?
  • Как можно настроить Windows 10 (UPnPDeviceFinder, Windows Explorer) для трансляции запросов IPv6 SSDP M-SEARCH на ff05::c или же ff08::c вместо ff02::c, чтобы многоадресные сообщения могли маршрутизироваться в другие сети?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.