Como configurar um DNS local para o site dev usando bind?

2

Vou começar com um rápido, sim, isso é semelhante a muitas outras perguntas, mas eu tenho uma questão muito específica relacionada a como configurar o bind9, que parece não ter sido abordado em outro lugar.

Esta é a minha situação:

  • Temos um monte de máquinas dev por trás de um firewall.
  • As máquinas dev não têm acesso externo.
  • Todos os programadores estão em uma vpn que lhes dá acesso às máquinas dev.

Gostaria de ter uma maneira de permitir vários registros DNS de 'dev', sem mexer nos nossos registros DNS públicos.

De um modo geral, este é o meu plano:

  • Executar um servidor DNS na rede dev
  • Todos os programadores têm um par de servidores DNS definidos em suas configurações de rede local

Então funcionaria assim; Eu tenho um monte de entradas dev dns, por exemplo.

*. dev.mysite1.com - > vpn ip * .dev.mysite2.com - > vpn ip

No entanto, como as máquinas clientes têm duas entradas DNS definidas, elas encadearão a solicitação e as solicitações de www.mysite1.com, etc., serão resolvidas para o servidor dns normal (público).

Então, pergunta:

Como você configura o bind para que ele resolva um subdomínio (por exemplo, dev.mysite.com), mas não resolve nenhum outro subdomínio (por exemplo, www.mysite.com)?

Isso provavelmente é trivial, mas depois de instalar o bind e criar um arquivo de zona, as coisas parecem não estar funcionando?

Como deve ser meu arquivo named.conf.local / arquivo de zona específico para resolver um subdomínio específico, mas não o domínio inteiro?

-

Editar: Sim, vi Ignorar algumas entradas de DNS em BIND para redes internas , mas eu meio que esperava que houvesse uma maneira de fazer isso facilmente usando bind ...

    
por Doug 10.05.2011 / 05:41

3 respostas

2

Você precisa delegar o dev e tornar os servidores de nomes autorizados.

No site1.com:

dev.site1.com.            NS      ns1.dev.site1.com.
dev.site1.com.            NS      ns2.dev.site1.com.
ns1.dev.site1.com.        A       10.0.0.1
ns2.dev.site1.com.        A       10.0.0.2

Em ns1 / ns2.dev.site1.com:

@       SOA     ns1.dev.site1.com. hostmaster.site1.com ( 2011050802 3H 1H 1W 10M )
dev.site1.com.            NS      ns1.dev.site1.com.
dev.site1.com.            NS      ns2.dev.site1.com.
ns1.dev.site1.com.        A       10.0.0.1
ns2.dev.site1.com.        A       10.0.0.2
    
por 10.05.2011 / 09:49
2

Estritamente falando, não é uma resposta à sua pergunta (configurando bind), mas talvez ainda seja uma solução para o seu problema.

Eu não sei quantos programadores e máquinas dev você está falando, mas pode ser muito viável incluir todas as máquinas dev nos arquivos hosts apropriados nos clientes do programador.

    
por 10.05.2011 / 11:02
0

O uso de duas entradas DNS em seus clientes não funcionará. Se eles consultarem o primeiro servidor e ele retornar que não encontraram a entrada, eles não tentarão o segundo servidor, mas falharão.

A maneira usual de contornar isso é enviar uma entrada de DNS para seu servidor interno via DHCP quando seus usuários se conectarem à VPN. Esse servidor precisa ser configurado para ser autoritativo para dev.mysite1.com e / ou dev.mysite2.com e ser recursivo ou redirecionar para seu servidor DNS primário para todas as outras consultas.

    
por 10.05.2011 / 09:10