Virtualbox на Ubuntu Host: доступ гостей по имени хоста


10

У меня есть несколько устройств VirtualBox (Windows, Linux), каждое из которых настроено с двумя сетевыми адаптерами:

  • NAT для доступа в интернет
  • хост только для хостов <> хосты и хосты <> гостевая связь

Проблема в том, что я могу общаться только по IP-адресу. Я хочу общаться по имени хоста, т.е. Я хочу иметь возможность получить доступ к любому хосту с любого другого хоста (или гостя), используя имя хоста. Это возможно?

У меня уже есть адаптер только для хоста ( vboxnet0 ) на хост-компьютере, и работа в сети нормальная, но я бы не хотел назначать статические IP-адреса каждому устройству.

Ответы:


3

Я предлагаю вам использовать Multicast DNS, чтобы это исправить.

Ubuntu использует это по умолчанию через Avahi .

Хосту Windows нужен клиент Avahi для обнаружения других сервисов Avahi. Если ваш хост уже использует какое-либо программное обеспечение Apple, оно, вероятно, уже существует через службу Bonjour. Однако, если он еще не установлен, можно скачать небольшую версию Bonjour здесь: Bonjour Print Services . После установки вы сможете получить доступ к вашему гостю через .local.

Примечание. Система mDNS по умолчанию использует постфикс .local. Итак, если ваше имя хоста - «dev.myapp.com», то фактическое имя хоста будет «dev.myapp.com.local».

Скопировано из моего собственного ответа на superuser.com.


2
mDNS - действительно хороший способ попасть сюда. Я хотел указать на этот фактический ответ Ubuntu, который я разместил на UL: Определить адрес другого компьютера в локальной ссылке?
gertvdijk

2

Согласно инструкции (немного по другой теме ):

DNS-преобразователь для внутренней сети отсутствует

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

Связанный: VB Forum


Это не сработает, потому что хост VBox действует как DHCP-сервер, поэтому виртуальный DNS-сервер также не сможет разрешать имена. Я думаю, что статические IP-адреса - единственный способ сделать это.
StarNamer

Я знаю, что могу отключить dhcp сервер VBox, так что, возможно, это возможно.
Мигель Пинг

@StarNamer Вы абсолютно правы, DNS-сервер не решит проблемы, вызванные DHCP-сервером в VB. Однако, хотя это не практично, DNS-сервер может быть настроен на использование назначенных в настоящее время адресов, но это не улучшит ситуацию, чем редактирование /etc/hostsфайлов. @Miguel может отключить VB DHCP-сервер и установить его на виртуальной машине. Я предлагаю вам обратиться к Руководству по серверу Ubuntu в разделе «Служба сетевых служб и доменных имен (DNS)».
Igarzo

@ Igarzo Это может сработать. Я бы на самом деле предложил что-то вроде dnsmasqкомбинированного сервера DNS и DHCP. Вопрос в том, где это поставить; если он находится на одной из гостевых виртуальных машин, то эта становится особенной, и я не уверен, что легко разместить DHCP-сервер на хосте и заставить его обслуживать гостей. Я никогда не пробовал это.
StarNamer

@StarNamer Я не думаю, что хост-сервер DHCP может обслуживать хосты внутренней сети. Узлы внутренней сети VB не взаимодействуют с внешним миром, кроме узлов, подключенных к той же внутренней сети. Dnsmasqоднако выглядит как хороший выбор. Я лишь склонен предлагать решения Ubuntu Server Guide, чтобы быть на безопасной стороне.
lgarzo

1

Вам нужен DNS-сервер для преобразования ip в имя хоста и наоборот, и это, к сожалению, не поддерживается в Vbox


0

РАЗРЕШИТЬ ДРУГИХ (КЛИЕНТ WINDOWS, КОНФИГУРИРОВАННЫЕ КЛИЕНТЫ LINUX) ДОБРАТЬСЯ К ВАШЕМУ ХОЗЯИНУ ПО ХОЗЯИНУ:

  • Установите / настройте / запустите службу nmbd , предоставляемую samba .

    nmbd - сервер имен NetBIOS для предоставления клиентам услуг именования NetBIOS через IP

РАЗРЕШИТЬ ВАШЕГО ХОЗЯИНА НА ДОСТУПА К ДРУГИМ (КЛИЕНТ WINDOWS, НАСТРОЙКИ КЛИЕНТОВ LINUX):

  • редактировать /etc/nsswitch.conf

Изменить линию

hosts: files dns

в

hosts: files dns wins
  • установить winbind

    apt-get установить winbind

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.