IP-адрес хоста WSL2

#lamp #wsl-2

Вопрос:

Я настроил WSL2 с Ubuntu 20.04 и использую его для веб-разработки. На WSL2 я установил стек ЛАМП.

Я настроил несколько хостов с apache в WSL2. Пока все работает нормально. Но что меня раздражает, так это то, что мне приходится каждый день устанавливать новый IP-адрес, который я получаю для WSL, в файле hosts Windows.

Я пытался установить статический IP-адрес в Ubuntu, но я не совсем уверен, что это правильный способ и работает ли он. Я создал в /etc/netplan папке файл с IP-адресом. В основном я следовал этому совету. Я установил IP-адрес, но при этом получаю сообщение об ошибке sudo netplan apply .

Я также попробовал этот подход и написал сценарий PowerShell. Но я не знаю, как это должно установить IP-адрес.

Я был бы рад и благодарен за любые предложения.

Ответ №1:

Вам действительно нужен IP-адрес для вашего варианта использования?

В WSL2 есть функция под названием localhostForwarding, которая должна быть включена по умолчанию. Это должно позволить вам напрямую обращаться к службам, работающим внутри экземпляра WSL2, просто используя localhost Windows.

Если в WSL больше ничего не запущено, попробуйте выполнить следующее из оболочки:

 python3 -m http.server 8088
 

И посмотрите, можете ли вы получить доступ к нему из своего браузера Windows по адресу localhost:8088 .

Если это не сработает, возможно, вы столкнулись с ошибкой WSL, из-за которой защита локального хоста прерывается при переходе в спящий режим или при включении быстрого запуска в Windows (по умолчанию). Если это так, попробуйте выполнить следующее в PowerShell:

 wsl --shutdown
 

Затем перезагрузите компьютер и повторите попытку.

Затем в вашем C:WindowsSystem32driversetchosts , установите имена хостов на 127.0.0.1 и ::1 .

Комментарии:

1. Большое спасибо. Это решило проблему. Мне просто нужно добавить»:: 1″ в файл Windows /etc/hosts.

2. @GunnarPolte Спасибо — Хороший аргумент . ::1 Я отредактирую это в ответе. Приятно слышать, что это привело вас в нужное русло.

3. Если переадресация локального хоста по какой-либо причине перестает работать, см. Этот пост, который я написал для решений: abdus.dev/сообщения/исправление-wsl2-проблема с доступом к локальному хосту