SSDP Discovery не работает для IP-адресов, отличных от IP-адреса экземпляра WSL

SSDP Discovery не работает для IP-адресов, отличных от IP-адреса экземпляра WSL

Я пытаюсь перенести процесс из Windows в WSL/Linux. Ранее два процесса Windows взаимодействовали через TCP-соединение после успешного обнаружения SSDP. Теперь я хочу, чтобы аналогичная связь работала из Windows в Linux (WSL). Я использовал localhost/127.0.0.1 в случае Windows<->Windows, но обнаружение SSDP, похоже, работает только на IP-адресе экземпляра WSL для Windows<->WSL.

ifconfigв WSL даёт:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.26.253.18  netmask 255.255.240.0  broadcast 172.26.255.255
        inet6 fe80::215:5dff:fed7:82b  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:d7:08:2b  txqueuelen 1000  (Ethernet)
        RX packets 422  bytes 72257 (72.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 299  bytes 27676 (27.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 378  bytes 19949 (19.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 378  bytes 19949 (19.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Обнаружение SSDP работает для 172.26.253.18, когда я запускаю процесс в Windows, а другой — в WSL.

Возможная причина, которую я могу придумать, заключается в том, что когда мы используем 127.0.0.1 в WSL, он ссылается на интерфейс обратной связи самой среды WSL. Пакеты SSDP, отправленные на 127.0.0.1, остаются в среде WSL и не видны хостовой среде Windows или другим устройствам в вашей локальной сети.

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