
Consulte esta configuração:
Meu servidor DNS público autorizado em <public dns ip>
:
example.com. A <public webserver IP>
foo.bar.example.com. TXT "Hello World"
Meu servidor DNS autoritativo privado em 192.168.0.2
:
foo.bar.example.com. A "192.168.0.1"
bar.bar.example.com. CNAME "foo.bar.example.com"
Portanto, tenho dois servidores DNS autorizados, um de domínio público e outro de domínio privado. Preciso que o público sirva alguns registros TXT, mas não registros A, para um subconjunto específico de domínios. O privado precisa atender registros A e CNAME, apenas para uso interno, mas não atenderá registros TXT.
Se meus clientes tiverem os IPs dos servidores DNS na ordem errada (público, privado), a resposta pública do servidor DNS autoritativo impedirá que o servidor DNS privado seja consultado?
Exemplo:
O cliente resolv.conf
definiu para:
<public dns ip>
192.168.0.2
Se eles forem executados nslookup foo.bar.example.com
a partir do console, isso será resolvido 192.168.0.1
ou o servidor DNS público dirá que o nome não existe e parará de procurar?
Responder1
A resolução não funciona como você pensa. Quando você tem várias linhas no seu, resolv.conf
elas são usadas como substituto: o sistema sempre usa o primeiro servidor de nomes e somente se não responder (o que é diferente de responder que um nome não existe) ele irá então consultar o segundo e assim por diante. Isso se aplica basicamente por consulta.
Você deve configurar as coisas de maneira diferente: tenha apenas um servidor de nomes autoritativo e, se usar, bind
use seu views
mecanismo para responder coisas diferentes para clientes diferentes. Deixe a árvore normal percorrer o DNS pelos clientes para encontrá-lo.
Mas, caso contrário, em teoria você está certo: se o servidor "público" responder e disser NXDOMAIN, a pesquisa irá parar por aí. Exceto que você está misturando autoritativo e recursivo (os de resolv.conf
), o que é um péssimo hábito. E você ainda tem uma configuração mais complicada do que o necessário e que vai te dar problemas mais tarde.
Responder2
Esta é uma configuração comum em redes Windows; onde (devido à integração DNS do Active Directory) o resolvedor recursivo também é o servidor autorizado para essas zonas DNS.
Se uma zona com o mesmo nome (mas registros diferentes) também existir no DNS público, as tentativas de consultar os registros públicos terminarão no resolvedor recursivo interno (como é autoritativo para essa zona, pode declarar com autoridade que o registro não existe .); assim, a zona pública é mascarada pela zona privada para qualquer cliente que utilize o resolvedor privado.
Responder3
Na minha opinião, se você <public dns ip>
não tiver o registro A para o domínio, então ele definitivamente veio para o servidor DNS secundário192.168.0.2