Использование гостевой ОС Virtualbox для доступа к серверу, работающему на хост-компьютере
Я запускаю веб-сервер локально на моем Mac. Я использую Virtualbox для запуска различных гостевых ОС Windows благодаря http://www.modern.ie/virtualization-tools. Сервер на моем хосте работает под управлением WordPress в многосайтовой конфигурации и требует имя хоста в запросе на обслуживать правильный сайт. URL-адреса IP не будут работать.
Сетевой адаптер Virtualbox находится в режиме NAT, и я нашел IP-адрес своего хост-компьютера. Я могу заставить все работать, отредактировав файл hosts в гостевой ОС Windows. Запись выглядит примерно так:
10.1.2.3 server.dev
Затем в Windows, если я захожу на server.dev все работает как надо.
Итак, мой вопрос... Могу ли я настроить его так, чтобы мне не нужно было редактировать файл hosts моей гостевой ОС каждый раз, когда меняется IP-адрес хост-машины? Что-то вроде обратного порта вперед, чтобы я мог установить запись в файле hosts так, как...
10.1.99.99 server.dev
и Virtualbox будет слушать запрос к 10.1.99.99 и изменить его на 127.0.0.1?
3 ответа
Ваше решение работает, но я довольно удивлен тем, что оно работает, кажется, оно вызовет проблемы, если вы случайно где-то используете 10.0.2/24 в своей сети. Альтернативой является изменение сетевых режимов ваших гостей VirtualBox на Bridged, рандомизация их MAC-адресов (если они еще не являются уникальными) и получение их собственных IP-адресов в сети. В этот момент они могут жить на вашей машине, но они будут действовать так же, как чужой компьютер в соседнем офисе, поэтому они предоставляют более аутентичные тестовые настройки.
Оказывается, это очень просто. Мне просто нужно отредактировать указатель файла хоста Windows
10.0.2.2 server.dev
Что-то около 10.0.2.2, являющегося шлюзом по умолчанию для NAT-соединений? Я нашел решение из этого ответа -> https://superuser.com/questions/144453/virtualbox-guest-os-accessing-local-server-on-host-os
Подход кувалдой будет состоять в том, чтобы настроить DNS-сервер, который прослушивает и обслуживает информацию DNS в сети только для виртуальных ящиков (я бы порекомендовал dnsmasq через homebrew.) Это в конечном итоге зависит от того, насколько вы удобны с DNS или сколько времени у вас готов инвестировать в выяснение этого. Я был бы рад разработать, если есть какой-либо интерес.