Как пробросить порты с wsl в windows 10?

Ссылка скопирована
1 ответ

Всем привет. Извеняюсь, может не корректно задаю вопрос. Постараюсь описать проблему не задуривая голову.
Я web-develop и я разрабатываю в OS Windows 10(т.е. код + компиляция + просмотр в браузере). Мой сайт находится по аддресу 127.0.0.1:3000 + апи тоже находится по этому же адресу. Возникла задача изменить 127.0.0.1:3000 на 127.0.0.1.
Я установил nginx в винде настроил конфиг proxy - все работает отлично. Но сам nginx в windows реализован плохо. тяжело с ним взаимодействовать (писать команды только из папки где он установлен). В таск менеджере бываеют клоны nginx процессов.

Я решил попробовать wsl. nginx там стал отлично и корректно работает. но 127.0.0.1:3000 на 127.0.0.1 я не смог изменить. Я так понимаю из за проброски портов? в винде при запуске 127.0.0.1 - 502 ошибка. Т.е. получается nginx работает.

Дополнительно:

1. loopback ip адрес 127.0.0.1 в WSL и Windows - это разные сущности.
2. У WSL есть ограничения в виде невозможности работы с другим vswitch от Hyper-V, только со своим.
Перенесите ваш nginx в виртуальную машину Hyper-V или в контейнер Docker Desktop.

Ответы:

Вообще на локальную систему из wsl порты пробросить можно, делается это так, пример с 80 портом:

netsh interface portproxy add v4tov4 listenaddress=192.168.13.17  listenport=8080 connectaddress=172.23.53.217 connectport=80

netsh interface portproxy add v4tov4 listenaddress=192.168.13.17 listenport=8080 connectaddress=172.23.53.217 connectport=80

Важно, чтобы пробрасываемые порты на самой системе не были заняты.

  • А как из локальной системы на wsl прокинуть маршруты? после подключения к vpn из windows в wsl адреса не резолвятся, не пингуются

Но сам nginx в windows реализован плохо. тяжело с ним взаимодействовать (писать команды только из папки где он установлен)

добавить эту папку в PATH, не?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для проброса портов с WSL (Windows Subsystem for Linux) в Windows 10 вам потребуется выполнить несколько шагов. Ниже приведены инструкции по настройке проброса портов для различных типов сетей.

1. **Проверьте, что WSL установлен и работает**: Убедитесь, что WSL установлен на вашем компьютере и работает корректно. Для этого запустите командную строку и введите `wsl`. Если вы видите приглашение для ввода команд в Linux-среде, значит WSL работает.

2. **Определите IP-адрес WSL**: В командной строке введите `ip addr show eth0`. Вы увидите информацию об IP-адресе вашего WSL. Обычно это будет адрес вида `172.X.X.X`.

3. **Проброс портов для локальной сети**:
- Откройте файл настроек WSL, который находится по пути `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc\ssh\sshd_config` в блокноте или любом другом текстовом редакторе.
- Раскомментируйте строку `#Port 22` и замените `22` на нужный вам порт, например, `2222`.
- Добавьте следующую строку в конец файла: `GatewayPorts yes`.
- Сохраните файл и перезапустите службу SSH в WSL, введя команду `sudo service ssh --full-restart`.

4. **Проброс портов для удаленного доступа**:
- Откройте файл настроек SSH на Windows, который находится по пути `C:\ProgramData\ssh\sshd_config`.
- Добавьте следующие строки в конец файла:
```
Match Address 0.0.0.0/0
GatewayPorts yes
```
- Перезапустите службу SSH на Windows, введя команду `Restart-Service sshd`.

5. **Проверьте настройки брандмауэра**: Убедитесь, что порт, который вы пробрасываете, разрешен в настройках брандмауэра Windows.

Теперь вы должны иметь возможность подключаться к порту WSL извне. Например, если вы пробросили порт 2222, вы можете подключиться к WSL из командной строки Windows, используя команду `ssh username@172.X.X.X -p 2222`.

Надеюсь, эта инструкция поможет вам успешно пробросить порты с WSL в Windows 10. Если у вас возникли дополнительные вопросы, не стесняйтесь задавать их.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно