n1ro°
RU

Компьютеры · Инструкция

WSL: как открыть Linux-сервис для локальной сети через Windows

WSL: как открыть Linux-сервис для локальной сети через Windows. В стандартном NAT-режиме WSL 2 доступ Windows→WSL через localhost не делает сервис автоматически видимым другим устройствам LAN.

Редакция N1RO · Проверено

Короткий ответ

В стандартном NAT-режиме WSL 2 одного localhost недостаточно для доступа с другого устройства LAN. Microsoft показывает вариант с netsh interface portproxy: Windows слушает внешний порт и пересылает его на IP WSL, плюс нужно разрешить входящий трафик в брандмауэре.

Проверка по шагам

  1. Внутри WSL убедитесь, что приложение слушает нужный порт и не ограничено только неподходящим loopback-адресом для выбранной схемы.
  2. Из PowerShell получите IP дистрибутива командой wsl.exe -d <DistroName> hostname -I и выберите корректный адрес.
  3. Создайте portproxy по примеру Microsoft: внешний порт Windows направьте на IP WSL и тот же либо нужный внутренний порт.
  4. Разрешите входящее подключение к слушающему порту в Windows Firewall только для нужного профиля и диапазона сети.
  5. С другого устройства LAN обращайтесь к IP Windows-хоста и внешнему порту; после перезапуска WSL при NAT проверьте, не изменился ли IP.

Предупреждение: В NAT IP дистрибутива WSL может измениться после перезапуска, поэтому старое правило portproxy иногда требует обновления.

Почему localhost не открывает сервис в локальную сеть

По умолчанию WSL использует NAT-сеть, и Windows-хост может обращаться к Linux-сервису через localhost, но другие устройства сети не получают такой маршрут автоматически. Microsoft документирует portproxy с listenaddress=0.0.0.0 и connectaddress, равным IP WSL, полученному через wsl hostname -I. Правило нужно рассматривать вместе с Windows Firewall и с тем, на каком адресе сам Linux-сервис слушает порт. В случае «WSL: как открыть Linux-сервис для устройств локальной сети через Windows» сначала зафиксируйте текущую версию WSL и рабочую конфигурацию, затем применяйте документированный шаг и проверяйте его эффект.

Совет: Открывайте порт только для нужного профиля/подсети Windows Firewall; `0.0.0.0` без ограничения расширяет поверхность доступа.

Контрольные условия

  • Linux-сервис слушает порт
  • Получен актуальный IP WSL
  • Portproxy указывает на этот IP
  • Брандмауэр разрешает только нужный доступ

Что не стоит делать

Открытие порта на 0.0.0.0 делает его потенциально доступным не только вашему браузеру на Windows; ограничивайте брандмауэром и не публикуйте административные сервисы без защиты. Mirrored networking на Windows 11 меняет сетевую модель и может позволить более прямой доступ, поэтому не копируйте NAT-схему механически.

Важно: При `networkingMode=mirrored` топология другая; не копируйте NAT-инструкцию без проверки текущего режима.

Пример контрольной проверки

Контроль для «WSL: как открыть Linux-сервис для локальной сети через Windows»: подтвердите «linux-сервис слушает порт», затем выполните первый шаг — внутри WSL убедитесь, что приложение слушает нужный порт и не ограничено только неподходящим loopback-адресом для выбранной схемы.

Проверка по признакам

  • Linux-сервис слушает порт. Проверка «linux-сервис слушает порт» подтверждает исходное состояние перед изменением WSL.
  • получен актуальный IP WSL. Пункт «получен актуальный ip wsl» локализует проблему и не дает менять несколько причин одновременно.
  • portproxy указывает на этот IP. Условие «portproxy указывает на этот ip» позволяет проверить команду или настройку на конкретном уровне.
  • брандмауэр разрешает только нужный доступ. Если выполнено «брандмауэр разрешает только нужный доступ», следующий шаг можно оценивать без догадок о предыдущем.

Что учитывать

По умолчанию WSL использует NAT-сеть, и Windows-хост может обращаться к Linux-сервису через localhost, но другие устройства сети не получают такой маршрут автоматически. Microsoft документирует portproxy с listenaddress=0.0.0.0 и connectaddress, равным IP WSL, полученному через wsl hostname -I. Правило нужно рассматривать вместе с Windows Firewall и с тем, на каком адресе сам Linux-сервис слушает порт. В случае «WSL: как открыть Linux-сервис для устройств локальной сети через Windows» сначала…

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Accessing network applications with WSL). Пример и формулировки — редакция N1RO на 2026-09-22.