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

У меня на компьютере установлена Windows 11, и в ней работает WSL2 с Ubuntu. Я попытался пробросить все TCP-порты с 1024 по 65535, изменив настройки Hyper-V, но по ошибке нарушил работу сети WSL и теперь не знаю, как восстановить прежние настройки. 

Я зашел в Диспетчер Hyper-V, выбрал KIRILL-PC и открыл Диспетчер виртуальных коммутаторов. Виртуальный коммутатор "WSL (Hyper-V firewall)" изначально имел тип подключения "Внутренняя сеть". Я решил изменить его на "Внешняя сеть", после чего получил ошибку удаления порта коммутатора и потерял интернет-соединение в WSL. Затем я вернул тип подключения обратно на "Внутренняя сеть", но это не решило проблему.

Во время переключения типа подключения виртуального коммутатора я получил следующее предупреждение. Сейчас в Ubuntu у меня стоят такие настройки. Как мне исправить эту ситуацию?
  • 3 апреля 2025 г. 19:45
Ответы на вопрос 3
Для восстановления работы сетевого соединения в WSL после изменения настроек виртуального коммутатора следует выполнить несколько шагов. Давайте попробуем разобраться в вашей ситуации и восстановить работу сетевого подключения.

### Шаги для восстановления сетевого соединения в WSL

1. **Перезапустите WSL**:
   - Откройте командную строку или PowerShell и выполните команду:
     ```bash
     wsl --shutdown
     ```
   - После этого снова запустите вашу дистрибуцию Ubuntu.

2. **Проверьте настройки сети**:
   - Откройте терминал Ubuntu и выполните:
     ```bash
     ip a
     ```
   - Убедитесь, что интерфейс WSL (обычно `eth0`) получает IP-адрес. Если IP-адрес не назначен, возможно, проблема в настройках DHCP.

3. **Проверьте настройки DNS**:
   - Убедитесь, что файл `/etc/resolv.conf` содержит корректные DNS-серверы. Вы можете попробовать использовать Google DNS:
     ```bash
     sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
     ```

4. **Сбросьте настройки сети WSL**:
   - Иногда лучше чисто сбросить все сетевые настройки WSL. Выполните в PowerShell:
     ```bash
     netsh int ip reset
     netsh winsock reset
     ```

5. **Проверка конфигурации Hyper-V**:
   - Убедитесь, что виртуальный коммутатор "WSL (Hyper-V firewall)" настроен правильно. Попробуйте удалить и заново создать виртуальный коммутатор:
     - В Диспетчере виртуальных коммутаторов удалите существующий виртуальный коммутатор.
     - Создайте новый виртуальный коммутатор типа "Внутренняя сеть".

6. **Обновите WSL**:
   - Убедитесь, что WSL обновлен до последней версии:
     ```bash
     wsl --update
     ```

7. **Проверка версий**:
   - Убедитесь, что вы используете WSL 2. Вы можете проверить это с помощью команды:
     ```bash
     wsl --list --verbose
     ```

8. **Перезагрузите компьютер**:
   - Если все вышеперечисленные шаги не помогли, попробуйте перезагрузить компьютер. Иногда перезагрузка может решить проблемы с сетевыми функциями.

### В случае дальнейших проблем

Если вышеуказанные шаги не помогли, рассмотрите возможность сброса WSL. Сброс WSL приведет к удалению всей вашей файловой системы в WSL и всех установленных приложений. Чтобы сбросить WSL:

1. Откройте "Приложения и возможности" в Windows.
2. Найдите вашу дистрибуцию Ubuntu и выберите "Расширенные параметры".
3. Нажмите "Сбросить".

После этого вы сможете заново установить необходимые пакеты и настроить окружение.

### Заключение

Попробуйте выполнить предложенные действия, и, надеюсь, ваша проблема будет решена. Если проблема все равно остается, пожалуйста, предоставьте дополнительные детали, такие как ошибки, которые вы получаете при попытках подключения.
Полное удаление wsl, платформы виртуально машины и hyper-v. Затем установка назад. WSL - кривое нечто. Лучше поставить виртуалку полноценную и в ней изгаляться
WSL это кривая поделка 
Установите полноценную виртуалку, как советуют, например VirtualBox
И там уже ставьте ubuntu и докер для неё
Похожие вопросы