Подключение к Raspberry Pi в локальной сети из виртуальной машины [закрыто]

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

У меня есть Raspberry Pi 5 с именем raspberrypi. Я могу получить к нему доступ с хоста Windows 10, используя имя raspberrypi.local.

Доступ к этому имени из гостевой системы VirtualBox с Arch Linux завершается с ошибкой: “имя или сервис недоступен”.

Как подключиться к raspberrypi.local из виртуальной машины с Arch Linux?

Хост – Windows 10 22H2 (AMD60) сборка 19045.4046.

Я использую Virtualbox 7.0.18 с актуальной установкой Arch Linux.

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

Теория

Проблема, описанная в вашем вопросе, связана с невозможностью разрешить доменные имена через протокол mDNS (Multicast DNS) из виртуальной машины под управлением Arch Linux в VirtualBox, находящейся в одной сети с Raspberry Pi, именуемым как raspberrypi.local. В Windows 10 это имя доступно благодаря системе Bonjour, встроенной в ОС. Однако, в Linux такой функционал по умолчанию отсутствует, что может вызвать проблему с разрешением mDNS.

Пример

Распространённым примером решения этой проблемы является установка и настройка Avahi – это реализация модуля мDNS для Linux. Avahi позволяет Linux-системам участвовать в сетях, где используется протокол ZeroConfiguration для обнаружения служб, что и используют современные десктопные операционные системы для подключения к устройствам без предварительной настройки (например, к принтерам или сетевым накопителям).

Применение

Для разрешения проблемы необходимо следовать следующим шагам:

  1. Установка Avahi:
    Откройте терминал в вашем Arch Linux и выполните следующую команду для установки Avahi:

    sudo pacman -S avahi nss-mdns
  2. Изменение конфигурации NSSwitch:
    Настройте /etc/nsswitch.conf, чтобы убедиться, что mDNS-домены могут быть разрешены. Найдите строку, начинающуюся с hosts: и добавьте mdns перед resolve или dns, например:

    hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
  3. Запуск и включение Avahi:
    Выполните следующие команды, чтобы запустить и настроить Avahi так, чтобы он автоматически запускался при загрузке системы:

    sudo systemctl start avahi-daemon
    sudo systemctl enable avahi-daemon
  4. Проверка подключения:
    После выполнения этих шагов попробуйте снова подключиться к raspberrypi.local с вашей виртуальной машины. Для этого откройте терминал и введите:

    ping raspberrypi.local

Если имя успешно разрешено, пинг должен начать отвечать от адреса Raspberry Pi.

Следуя этим рекомендациям, вы настроите Arch Linux на виртуальной машине для поддержания mDNS и сможете успешно подключаться к Raspberry Pi по имени raspberrypi.local.

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

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