У меня виртуальная машина VirtualBox работает с сетью только для хоста. Эта виртуальная машина работает под управлением Apache, и я хочу настроить в ней несколько виртуальных хостов на основе имен, к которым можно будет получить доступ из веб-браузера на хост-машине.
Дело в том, что каждый раз, когда я добавляю новый поддомен для виртуального хоста, мне приходится добавлять его в файл hosts. Прямо сейчас у меня что-то вроде этого:
192.168.56.3 vm site1.vm site2.vm site3.vm site4.vm ...
Я хочу добиться такого же эффекта, как этот
192.168.56.3 vm *.vm
Я знаю, что * не работает как подстановочный знак в файле hosts. Есть ли другой способ достичь желаемого результата, кроме использования реального DNS-сервера? Должен ли я просто принять это и продолжать добавлять в свой файл hosts вручную?
Для этого не существует подстановочных знаков - вам нужно либо реализовать DNS-сервер, либо продолжать добавлять записи в файл hosts.
Если вы все же собираетесь установить DNS-сервер, вам не нужно устанавливать bind
- вы можете установить простой кеширующий DNS-сервер, например totd
, dnsmasq
, или maradns
.
Независимо от того, что вы делаете, вам нужно убедиться, что resolv.conf
содержит новый DNS-сервер, и в нем должна появиться следующая запись (в этом примере DNS-сервер установлен на localhost) ...
nameserver 127.0.0.1
Ты можешь использовать dnsmasq
для этого просто добавьте в файл конфигурации:
address=/.vm/192.168.56.3
Это интересный вопрос. Как вы упомянули, сам файл хоста не поддерживает подстановочные знаки. Было бы довольно легко настроить привязку на машине apache и сделать так, чтобы это был DNS-сервер auth и правильно указывал * .vm, но это обходной путь (даже если это «правильное» решение).
Должен быть способ обмануть nscd, но я этого еще не понял. Дайте мне больше времени, и я обновлю этот ответ
редактировать
Хорошо, лучше всего, не прибегая к простой задаче заполнения файла хоста огромным количеством виртуальных хостов или немного более сложной задаче настройки привязки к аутентификации для этого домена, - использовать эту уязвимость для отравления кеша nscd. : http://linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html
По крайней мере, это все, что я собираюсь сказать сегодня. Может быть, если мне потом надоест, я проверю исходный код в nscd и выясню, как напрямую ввести информацию.