WSL2 Ubuntu может получить доступ к IP-адресу хоста, но не может получить доступ к порту хоста

WSL2 Ubuntu может получить доступ к IP-адресу хоста, но не может получить доступ к порту хоста

Конфигурации Windows:

  1. Запуск примера веб-сервера с открытым портом 5000 (см. рисунок 1)
  2. Брандмауэр Windows полностью закрыт

WSL2:

  1. Может успешно получить доступ к Интернету и выполнить ping windows с IP-адресом хоста или $(hostname).local, но не можетcurl http://172.18.16.1:5000
sandowner@ENIGMATIC-MACHINE:~$ hostip=$(ip route | grep default | awk '{print $3}')
sandowner@ENIGMATIC-MACHINE:~$ echo $hostip
172.18.16.1
sandowner@ENIGMATIC-MACHINE:~$ ping 172.18.16.1
PING 172.18.16.1 (172.18.16.1) 56(84) bytes of data.
64 bytes from 172.18.16.1: icmp_seq=1 ttl=128 time=0.514 ms
64 bytes from 172.18.16.1: icmp_seq=2 ttl=128 time=0.690 ms
^C
sandowner@ENIGMATIC-MACHINE:~$ ping $(hostname).local
PING ENIGMATIC-MACHINE (172.18.16.1) 56(84) bytes of data.
64 bytes from ENIGMATIC-MACHINE (172.18.16.1): icmp_seq=1 ttl=128 time=0.355 ms
64 bytes from ENIGMATIC-MACHINE (172.18.16.1): icmp_seq=2 ttl=128 time=0.729 ms
^C
sandowner@ENIGMATIC-MACHINE:~$ curl http://172.18.16.1:5000
^C (will timeout)
  1. Порт 5000 хоста также не может быть доступен из браузера WSL2 и он будет заканчиваться на ERR_CONNECTION_TIMED_OUT(см. рисунок 2)

картинка 1

картинка 2

Любая помощь будет оценена по достоинству! Спасибо!

решение1

Когда вы хотите подключитьсяот WSL 2 к хосту, нет никаких специальных механизмов. WSL 2 работает в виртуальной машине и является удаленным хостом с точки зрения сетевого стека Windows. Это означает:

  • Вы не можете получить доступ к приложениям, привязанным к localhostлюбому IP-адресу 127.0.0.0/8или::1
  • Брандмауэр должен разрешать входящее соединение.

Виртуальная сеть WSL 2, к сожалению, имеет совершенно непредсказуемые динамические адреса, поэтому прослушивание только там означает, что вам придется постоянно обновлять конфигурацию сетевой службы. Вместо этого проще привязаться к 0.0.0.0или ::(«все интерфейсы»). Это означает, что каждый сможет подключиться, поэтому убедитесь, что вы осведомлены о последствиях, если вы находитесь в ненадежной сети.

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