Хозяйство вести — не мудями трясти!

Ну дак вот, чтобы твой любимый линукс в WSL имел такой же айпишник, как и хостовая машина, нужно сделать так:

В винде, в папке C:\Users\<user>\, создать файл с названием .wslconfig и запихать в него:

[wsl2]
networkingMode=mirrored

Затем перезапустить WSL 2 в повершеле:

wsl --shutdown

И после этого твой линукс получит тот же самый айпишник, что и хостовая машина (192.168.0.100), а не виртуальные (172.31.124.159, 10.255.255.254).

Ну а там дальше пробрасывай порты и развлекайся, как твоей душе угодно.

Режим mirrored включает зеркальный режим сети, при котором WSL использует сетевой стек хоста, а не собственную виртуализированную NAT-сеть.

Раньше жили пиздатее, можно было сделать так: networkingMode=bridge, и виртуалка в WSL получала айпишник прям по DHCP. Но в новых версиях винды эту штуку выпилили, видимо, на это были свои причины.

Где и как можно применить:

  • Ты хочешь из винды обратиться к серверу, поднятому внутри WSL, без localhost:port-forward и прочих долбаёбских танцев.
  • Проблемы с випиэн (часто бывает, что при включённом випиэн WSL теряет интернет или не видит другие хосты).
  • Когда надо изнутри WSL видеть локальную сеть хоста и взаимодействовать, как обычное приложение винды.
  • При разработке серверных приложений, если нужно, чтобы всё вело себя как на обычной машине, а не в изолированной виртуалке.
Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Ну ты понял. Бери на вооружение, хуйня полезная, если правильно применить.