Руководство по настройке сетевого режима WSL mirrored

Руководство по настройке сетевого режима WSL 2.6.0

Требования к версии

Текущий статус версии:

  • Последняя стабильная версия: 2.5.9 (существуют дефекты сетевой конфигурации)
  • Рекомендуемая версия: 2.6.0 предварительная версия (поддержка полного режима mirrored)

Сравнительный анализ режимов

ХарактеристикаРежим bridge (устаревший)Режим mirrored (рекомендуемый)
Архитектура стека протоколовДвойной стек протоколовСовместно используемый стек протоколов
Распределение IP-адресовНезависимый IP (Windows+WSL)Совместно используемый IP хоста
Ресурсы портовНезависимое использованиеСовместное использование портов (необходимо избегать конфликтов)
Сетевые характеристикиОтносительно тяжелыйЛегкий и эффективный
Сложность настройкиПростаяТребуется глубокая настройка стратегии брандмауэра

Стандартные шаги настройки

1. Установка сетевого режима

Настройка базового режима через приложение WSL Settings:

  1. Откройте приложение настройки
  2. Выберите вкладку “Network”
  3. Установите сетевой режим в “Mirrored”
  4. Примените конфигурацию и перезапустите WSL

2. Настройка стратегии брандмауэра

Необходимо выполнить полную настройку стратегии брандмауэра через PowerShell:

# Определение GUID виртуальной машины WSL
$wslGuid = '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'

# Настройка стратегии брандмауэра (выполнять по порядку)
Set-NetFirewallHyperVVMSetting -Name $wslGuid -Enabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultInboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultOutboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -LoopbackEnabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -AllowHostPolicyMerge True

# Проверка результата настройки
Get-NetFirewallHyperVVMSetting -Name $wslGuid

3. Проверка сопоставления портов

# Пример: проверка использования порта 80
Get-NetTCPConnection -LocalPort 80

Обработка типичных проблем

Проблема 1: Невозможно установить внешнее соединение

  • Проверка шагов: все поля в выводе Get-NetFirewallHyperVVMSetting должны быть True/Allow
  • Решение: повторно выполнить настройку стратегии брандмауэра по порядку

Проблема 2: Конфликт портов

  • Метод проверки: netstat -ano просмотр занятых портов
  • Рекомендации по обработке: в первую очередь освободить порты, занятые Windows, или изменить порт прослушивания службы WSL

Методы проверки

  1. Запустите службу WSL (например, Nginx/Apache)
  2. Доступ с хоста Windows: http://localhost:<port>
  3. Доступ с устройства в локальной сети: http://<host-ip>:<port>

Справочные материалы

  1. Официальная сетевая документация WSL
  2. Примечания к выпуску WSL 2.6.0