O servidor DNS alternativo não pode resolver

O servidor DNS alternativo não pode resolver

Configurei o servidor DNS no Linux como encaminhador.
Ele apenas encaminha consultas DNS para o servidor DNS principal da organização.

Em clientes Windows (em filiais da organização), o DNS primário é definido para seu próprio servidor DNS
e o alternativo é definido para o meu (DNS encaminhador).

Se meu servidor DNS estiver definido como alternativo, ele não poderá ser resolvido.
Mas quando meu servidor DNS está definido como primário, a resolução funciona.

Como posso fazer meu servidor DNS funcionar quando definido como DNS alternativo?

Responder1

Um resolvedor DNS básico (como o do cliente Windows) pressupõe quecada servidor DNS configurado para ele sabe ou pode descobrir tudo o que há para saber, e se um servidor disser que algo não existe, não fará sentido pedir uma segunda opinião a outro servidor.

Um servidor DNS pode ter mais flexibilidade na origem de suas informações. Muitos servidores DNS podem ser configurados para encaminhar solicitações seletivamente: "se uma solicitação for sobre domínio X.Y.example, encaminhe a solicitação para o servidor A, se for qualquer outro Y.example, encaminhe para o servidor B, caso contrário, tente resolvê-la perguntando aos servidores DNS da Internet ."

Mas essa não é a maneira normal de configurar a resolução DNS.


Se as informações no servidor DNS primário forem sobre domínio Y.examplee seu servidor DNS tiver informações sobre subdomínio X.Y.example, então o servidor DNS primário deverá ter o chamadoregistros de colaem suas informações sobre o Y.exampledomínio. Algo como:

X.Y.example.            IN NS <your.DNS.server.name.>

e se o seu servidor DNS estiver dentro do Y.exampledomínio (ou seja, parte do X.Y.exampledomínio, ou do Y.exampledomínio ou de qualquer um de seus outros subdomínios), também:

<your.DNS.server.name.> IN A <your DNS server IP address>

O registro NS informaria ao servidor DNS primário para entrar em contato com seu servidor DNS para obter qualquer informação sobre o X.Y.exampledomínio. Isso é conhecido comoDelegação DNS. O registro A serve apenas para fornecer o endereço ao qual se conectar: ​​aregistro de cola.


Se as informações em seu servidor de nomes forem sobre um domínio não relacionado, por exemplo Z.other.example, existem três opções:

  • O servidor de nomes primário pode ter um relacionamento especial com o seu servidor DNS para que possa baixar uma cópia completa do Z.other.exampleconteúdo do domínio e mantê-lo atualizado automaticamente, verificando periodicamente com o seu servidor DNS. Isso geralmente é chamado de master/slaverelacionamento: seu servidor seria a autoridade mestre em Z.other.example, mas o servidor DNS primário teria pleno conhecimento do conteúdo desse domínio e seria capaz de responder com autoridade com base nos dados baixados.

Com o BIND, isso significa que seu servidor teria algo como:

options {
    allow-transfer { <IP address of primary DNS server>; };
    # The next line is not absolutely necessary but speeds up propagation of updates:
    also-notify { <IP address of primary DNS server>; }; 
    <... any other options here...>
}; 

e o servidor primário teria:

zone "Z.other.example" { 
    type slave; 
    masters { <IP address of your DNS server>; };
};

E sim, isso significa que a organizaçãoprimárioServidor DNS seria um servidor escravoZ.other.exampleapenas para o domínio. Para outros domínios/zonas, isso não teria efeito.

Normalmente, esse tipo de relacionamento significa que o servidor DNS primário também pode estar listado nos registros NS do Z.other.exampledomínio, masvocê não precisa fazer issose o domínio for apenas para uso interno dos usuários do servidor DNS primário.

  • Ou o servidor DNS primário pode ser configurado para encaminhar condicionalmente as consultas: "se a solicitação for sobre Z.other.example, encaminhe-a para o seu servidor DNS em vez de fazer qualquer outra coisa". Às vezes, isso é feito, por exemplo, com domínios DNS internos da organização, cuja existência não deve ser revelada em nenhum registro NS público.

Para isso, o servidor primário precisaria ter:

zone "Z.other.example" { 
    type forward;
    forwarders { <IP of your DNS server>; };
    forward only;
}; 
  • Ou, se não houver nenhuma configuração especial, deverá existir uma cadeia de registros NS para que os servidores DNS encontrem seu Z.other.exampledomínio:
    • os servidores DNS raiz devem ter registros NS (e os registros A correspondentes) apontando os servidores DNS do exampledomínio de nível superior
    • os exampleservidores de domínio devem ter registros NS apontando os servidores DNS do other.exampledomínio de segundo nível
    • e os servidores DNS do other.exampledomínio devem ter registros NS apontando para o seu servidor DNS como responsável por Z.other.example.

Com isso, o servidor DNS primário seria capaz de encontrar o seu domínio, assim como qualquer outro domínio na internet.


Se você está tentando fazer com que seu servidor DNS forneça apenas alguns registros adicionais ao Y.exampledomínio,isso não vai funcionar.

Se um servidor DNS tiver autoridade para um domínio específico (excluindo subdomínios delegados, se houver), ele deverá sempre ter conhecimento completo do conteúdo desse domínio; não existe "talvez" para um servidor DNS em uma posição de autoridade. Se o servidor DNS primário for a autoridade Y.examplee quando questionado sobre X.Y.exampleele não tiver nenhum registro para isso e nenhuma delegação de subdomínio correspondente, sua resposta "nenhum host/domínio" será em termos humanos:

"Eu sei tudo o que há para saber sobre Y.example, e definitivamente não existe XYexample."


Pode ser tecnicamente possível fazer com que o servidor primário recuse consultas para o seu domínio para que o cliente solicite o servidor DNS alternativo, masEu recomendaria fortemente contra isso.

Essas configurações podem parecer funcionar à primeira vista, mas tendem a falhar de maneiras inesperadas, especialmente quando um ou outro servidor de nomes se torna temporariamente inacessível. Muitos tentaram configurações como essa e falharam. A experiência de aprendizagem tende a envolver uma dolorosa sessão de solução de problemas em um momento denãosua escolha e/ou facepalms de administradores de DNS mais experientes alertados para ajudar a resolver o problema.

informação relacionada