Eu tenho uma VM VirtualBox executando com rede somente host. Esta VM está executando o Apache, e eu quero configurar vários hosts virtuais baseados em nome que podem ser acessados a partir do navegador da Web na máquina host.
O problema é que toda vez que adiciono um novo subdomínio a um host virtual, tenho que adicioná-lo ao arquivo hosts. Agora eu tenho algo parecido com isto:
192.168.56.3 vm site1.vm site2.vm site3.vm site4.vm ...
Eu quero alcançar o mesmo efeito que este
192.168.56.3 vm *.vm
Eu sei que * não funciona como um curinga em um arquivo de hosts. Existe outra maneira de alcançar o resultado desejado, sem a execução de um servidor DNS real? Devo apenas sugá-lo e continuar adicionando ao meu arquivo hosts manualmente?
fonte
Você pode usar
dnsmasq
para isso, basta adicionar no arquivo de configuração:fonte
Esta é uma pergunta interessante. O arquivo host em si não suporta caracteres curinga, como você mencionou. Seria muito fácil configurar o bind na máquina apache e fazer com que ele fosse o servidor auth dns e aponte * .vm corretamente, mas essa é uma solução alternativa (mesmo que seja a solução "correta").
Deve haver uma maneira de enganar o nscd, mas ainda não o descobri. Dê-me mais tempo e eu atualizarei esta resposta
Editar
Tudo bem, sua melhor aposta, sem recorrer à tarefa simples de preencher seu arquivo host com um imenso número de hosts virtuais, ou a tarefa um pouco mais complexa de configurar a ligação à autenticação para esse domínio, é usar essa vulnerabilidade para envenenar o cache nscd : http://linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html
Pelo menos, é o mais longe que eu vou hoje. Talvez se eu ficar entediado mais tarde, vou verificar a fonte para o nscd e descobrir como injetar as informações diretamente.
fonte