Usando o servidor DNS DHCP duplo com o VirtualBox

0

Eu tenho um Mac no qual eu faço desenvolvimento na web. Eu tenho meus projetos configurados para serem acessíveis em endereços como project1.dev, project2.dev, etc. Eu cansei de atualizar meu arquivo "/ etc / hosts", então instalei o Dnsmasq. Isso funciona muito bem! Agora posso executar ping doesnotexist.dev e receber respostas de 127.0.0.1, que é exatamente o que eu quero.

O Mac também tem uma máquina virtual do Windows XP VirtualBox instalada. Eu gostaria que a máquina virtual também fosse capaz de pingar o doesnotexist.dev e obter respostas, mas eu quero que as respostas venham do IP da LAN do Mac em vez de 127.0.0.1. Pelo que entendi, isso é possível com Servidor DNS DHCP duplo . Eu instalei-o na máquina virtual e editei o arquivo "DualServer.ini". Simplesmente descomentei a linha "DNS" da seção "[SERVIÇOS]" e adicionei *.dev=192.168.1.50 à seção "[SERVIÇOS]". Isso não funcionou, no entanto. Eu vi este segmento e decidi instalar o Microsoft Loopback Adapter, mas eu não sabia como configurá-lo. Então agora estou preso.

Como configuro o servidor DNS DHCP duplo para que o ping doesnotexist.dev receba respostas do IP da LAN do Mac?

    
por Nick 03.07.2013 / 07:58

3 respostas

0

Você deve usar o parâmetro -A do dnsmasq. Da documentação do dnsmasq:

   -A, --address=/<domain>/[domain/]<ipaddr>
          Specify  an IP address to return for any host in the given domains.  Queries in the
          domains are never forwarded and always replied to with  the  specified  IP  address
          which  may  be IPv4 or IPv6. To give both IPv4 and IPv6 addresses for a domain, use
          repeated -A flags.  Note that /etc/hosts and DHCP leases override this for individ-
          ual names. A common use of this is to redirect the entire doubleclick.net domain to
          some friendly local web server to avoid banner ads. The domain specification  works
          in  the same was as for --server, with the additional facility that /#/ matches any
          domain. Thus --address=/#/1.2.3.4 will always return  1.2.3.4  for  any  query  not
          answered  from  /etc/hosts or DHCP and not sent to an upstream nameserver by a more
          specific --server directive.

Portanto, adicionar a linha de comando --address=/dev/192.168.1.50 ao dnsmasq ou adicionar address=/dev/192.168.1.50 ao arquivo de configuração do dnsmasq e reiniciar deve ser suficiente.

Além disso, se você não pode conectar sua máquina virtual do windows ao dnsmasq no mac para consultas dns, você pode tentar replicar o mesmo comportamento em pDNS usando curingas ...

    
por 10.07.2013 / 07:14
2

Visão geral de minhas soluções

Acabei usando o pDNS , conforme sugerido pelo gnp. Este é todo o conteúdo do arquivo hosts.txt que usei:

192.168.1.50 *.dev

Eu não gostava que eu precisasse sempre ter uma janela de comando aberta, então eu instalei a versão gratuita do Minimizador de Bandeja 4t , mantendo a tecla de atalho padrão de Shift + Esc para minimizar o aplicativo ativo na bandeja. Eu queria automatizar a parte Shift + Esc, então escrevi um script AutoIt que executa o pDNS e minimiza-o imediatamente na bandeja. O script é executado quando o Windows é iniciado.

As etapas específicas

  1. Faça o download e extraia o pDNS. Eu escolhi colocar os arquivos extraídos em "C: \ Applications \ pDNS".
  2. Edite o arquivo hosts.txt do pDNS, fazendo com que pareça o que eu tenho na visão geral da minha solução.
  3. Baixe e instale a versão gratuita do 4t Tray Minimizer. Certifique-se de que a caixa de seleção "Inicializar o Minimizador de Bandeja 4t na Inicialização do Windows" esteja marcada. Certifique-se também de que a caixa de verificação "Minimizar para bandeja" esteja marcada e que a tecla de atalho esteja definida como "Shift + Esc". Se você quiser alterar a tecla de atalho, também terá que alterar o script AutoIt.
  4. Faça o download e instale o AutoIt. Quando solicitado a selecionar uma opção padrão para arquivos * .au3, certifique-se de manter o botão de opção "Executar o script" selecionado.
  5. Defina o seu servidor DNS preferido para 127.0.0.1.
  6. Crie o seguinte script AutoIt (eu chamei o meu "pDNS.au3") e coloque-o na pasta "Inicialização" ("% APPDATA% \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização"). Sinta-se à vontade para substituir o IP do OpenDNS por outra coisa.
Run("C:\Applications\pDNS\pdns.exe /ns:208.67.222.222", "C:\Applications\pDNS")
WinWaitActive("C:\Applications\pDNS\pdns.exe")
Send("+{ESC}")
    
por 19.07.2013 / 04:25
0

Se você estiver executando um servidor DNS, simplesmente conecte seu adaptador de rede virtual no Virtualbox (é definido como NAT por padrão, que é o oposto do que você precisa) e configure o DNS interno da VM para apontar para o servidor.

    
por 06.07.2013 / 04:47