У меня виртуальная машина 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 вручную?
Вы можете использовать
dnsmasq
для этого, просто добавьте в файл конфигурации:источник
Это интересный вопрос. Как вы упомянули, сам хост-файл не поддерживает подстановочные знаки. Было бы довольно легко настроить привязку на машине apache и сделать так, чтобы это был сервер проверки подлинности DNS и правильно указывать * .vm, но это обходной путь (даже если это «правильное» решение).
Должен быть способ обмануть nscd, но я еще не понял. Дайте мне больше времени, и я обновлю этот ответ
редактировать
Хорошо, ваш лучший выбор, не прибегая к простой задаче заполнения файла хоста огромным количеством виртуальных хостов или чуть более сложной задаче настройки привязки к аутентификации для этого домена, состоит в том, чтобы использовать эту уязвимость, чтобы отравить кэш nscd. : http://linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html
По крайней мере, сегодня я так далеко. Возможно, если мне будет скучно позже, я проверю исходный код для nscd и выясню, как напрямую ввести информацию.
источник