Я пытаюсь изучить некоторые базовые вещи по развертыванию .NET реального мира (с использованием Web Deploy, удаленной отладки), заставляя приложение hello-world работать на нескольких виртуальных серверах. Я хочу иметь виртуальную машину, называемую vbox-web
в сети только для хоста VirtualBox, где она будет доступна с хоста и других гостей в той же виртуальной сети, используя это имя хоста. (А позже добавьте еще одну виртуальную vbox-db
, но это выходит за рамки этого вопроса.)
Что я сделал до сих пор:
- Сетевой адаптер только для хоста VirtualBox настроен на автоматическую настройку, сеть - 192.168.145.1/24, DHCP включен на .2, адреса раздачи начинаются с .101
- На виртуальной машине установлена ОС Windows Server 2016 с включенными ролями DNS и IIS, без дополнительной настройки. Сетевой адаптер только для хоста в виртуальной машине также настроен на статическое использование 192.168.145.100 в качестве IP-адреса и DNS-сервера. (Любопытно, что если этот адаптер получает адрес через DHCP, он не работает - он просто получает автоматический локальный адрес ссылки.) Имя компьютера также установлено как
vbox-web
. - Сетевой адаптер хоста настроен на получение адреса через DHCP, получает адрес 192.168.145.1, как и ожидалось. Я также настроил его на использование 192.168.145.100 в качестве DNS-сервера.
Что это меня заводит:
- В браузере на виртуальной машине я могу открыть домашнюю страницу IIS по умолчанию через http://localhost/, а также http://vbox-web/
- В браузере на хосте я могу открыть ту же самую домашнюю страницу, используя http://192.168.145.1/, но не используя http://vbox-web/ - т.е. то, что я хочу сделать здесь.
nslookup - localhost
в виртуальной машине сообщает мне, что время ожидания DNS-запроса истекло; кажется, что DNS-сервер даже не работает?
Это означает, что проблема не в возможности подключиться к гостю; Мне не хватает той части головоломки, которая заставляет DNS работать правильно.
Обходные пути меня не интересуют:
- Использование IP-адресов напрямую - я хочу несколько реалистичную настройку, никто в здравом уме не вставляет прямые IP-адреса в строки подключения.
- Использование
/etc/hosts
- см. Выше, есть причина, по которой DNS существует. - Используя мостовую сеть и позволяя DNS-маршрутизатору Wi-Fi справиться с этим - это не будет работать в сети на рабочем месте; а также то, что может сделать прошивка Wi-Fi роутера, должно быть выполнимо с использованием полной ОС.
- Автоматическое сетевое взаимодействие с Docker - мне нужно, чтобы VirtualBox работал для других рабочих задач, для Docker для Windows потребовалось бы включить HyperV и тем самым отключить другие гипервизоры.