Почему я не могу подключиться к VM из VirtualBox, используя WSL?

Вопрос или проблема

Проблема в том, что когда я пытаюсь подключиться через ssh к ВМ, я получаю сообщение “Истекло время ожидания подключения”.

Я сделал почти всё так же, как здесь. Вот точный порядок того, что я сделал:

  1. vagrant init ubuntu/focal64, а затем vagrant up. Всё это было сделано в PowerShell, и провайдер для vagrant – VirtualBox.

  2. Я создал проброс порта изображение проброса порта.

  3. Из WSL я ввел cat /etc/resolv.conf. Результат: изображение wsl.

  4. А затем я пытаюсь ssh -p 3322 [email protected] и получаю истечение времени ожидания соединения.

Что я делаю не так? Я был бы очень признателен за любую помощь! Спасибо!

Ладно, ребята, я разобрался. Проблема была в том, что между WSL и Windows есть брандмауэр. Вот где я об этом узнал: https://superuser.com/questions/1449775/windows-wsl-2-cant-ping-host-machine.

Что ещё может быть полезно: https://superuser.com/questions/1714002/wsl2-connect-to-host-without-disabling-the-windows-firewall.

В итоге я добавил новое правило для входящего трафика в Windows для этого порта, и всё заработало.

Ответ или решение

Почему я не могу подключиться к виртуальной машине (VM) из VirtualBox с помощью WSL?

Проблема подключения к виртуальным машинам с использованием SSH часто возникает в средах, таких как WSL (Windows Subsystem for Linux), из-за нескольких нюансов конфигурации системы. Давайте разберемся в этом вопросе, основываясь на вашем описании проблемы.

Процесс настройки

Вы указали, что использовали следующие шаги:

  1. Инициализация и запуск Vagrant: Вы выполнили команду vagrant init ubuntu/focal64, а затем vagrant up в среде PowerShell. Это стандартная процедура для развертывания виртуальной машины с использованием Vagrant и VirtualBox.

  2. Создание правила переадресации портов: Вы создали правило переадресации портов для подключения к вашей виртуальной машине. Это необходимо, поскольку Виртуальная Машина находится в собственном изолированном сетевом пространстве, и для доступа к ней из WSL и Windows требуется корректная настройка сетевых маршрутов.

  3. Проверка конфигурации DNS в WSL: Вы выполнили команду cat /etc/resolv.conf, чтобы увидеть, какие DNS-серверы используются в WSL.

  4. Попытка подключения через SSH: Вы попробовали выполнить команду ssh -p 3322 [email protected] и получили сообщение о временном истечении соединения.

Корень проблемы

Как выясняется, проблема заключается в настройках брандмауэра Windows и взаимодействии с WSL. По умолчанию, Windows и WSL имеют различия в сетевых стеков, что может привести к проблемам с сетевыми соединениями.

Брандмауэр Windows: По умолчанию брандмауэр может блокировать входящие соединения на порту, используемом для SSH (в вашем случае это 3322). Это может объяснить проблему «Connection timed out», так как ваш SSH-запрос может быть заблокирован брандмауэром.

Решение

Согласно вашему обновленному комментарию, вы нашли решение вашей проблемы. Добавление нового правила для входящих соединений в брандмауэр Windows позволило установить соединение. Вот основные шаги, которые помогли решить проблему:

  1. Открытие панели управления брандмауэра Windows:

    • Перейдите в Панель управления и откроете Брандмауэр Windows.
    • Выберите «Дополнительные параметры».
  2. Создание нового правила для входящих соединений:

    • В разделе «Правила для входящих подключений» выберите «Создать правило…».
    • Выберите «Порт», затем «TCP» и введите номер порта (3322).
    • Разрешите подключения (Allow the connection).
    • Убедитесь, что правило применяется для всех профилей (Доменный, Частный, Общедоступный).
  3. Проверка и повторное подключение:

    • После настройки правила попробуйте снова выполнить команду SSH для проверки соединения.

Заключение

Проблемы с подключением к виртуальным машинам из WSL могут быть вызваны различными настройками сети и брандмауэра. Важно понимать, что любой защитный механизм, включенный в Windows, может блокировать входящие соединения, что требует дополнительной настройки.

Если у вас возникли дополнительные вопросы или потребуется помощь с другой проблемой, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...