Руководство по настройке сетевого режима WSL mirrored
Руководство по настройке сетевого режима WSL 2.6.0
Categories:
Требования к версии
Текущий статус версии:
- Последняя стабильная версия: 2.5.9 (существуют дефекты сетевой конфигурации)
- Рекомендуемая версия: 2.6.0 предварительная версия (поддержка полного режима mirrored)
Сравнительный анализ режимов
| Характеристика | Режим bridge (устаревший) | Режим mirrored (рекомендуемый) |
|---|---|---|
| Архитектура стека протоколов | Двойной стек протоколов | Совместно используемый стек протоколов |
| Распределение IP-адресов | Независимый IP (Windows+WSL) | Совместно используемый IP хоста |
| Ресурсы портов | Независимое использование | Совместное использование портов (необходимо избегать конфликтов) |
| Сетевые характеристики | Относительно тяжелый | Легкий и эффективный |
| Сложность настройки | Простая | Требуется глубокая настройка стратегии брандмауэра |
Стандартные шаги настройки
1. Установка сетевого режима
Настройка базового режима через приложение WSL Settings:
- Откройте приложение настройки
- Выберите вкладку “Network”
- Установите сетевой режим в “Mirrored”
- Примените конфигурацию и перезапустите 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
Методы проверки
- Запустите службу WSL (например, Nginx/Apache)
- Доступ с хоста Windows:
http://localhost:<port> - Доступ с устройства в локальной сети:
http://<host-ip>:<port>