Domínio resolve problema com estoque Debian

Domínio resolve problema com estoque Debian

Eu tenho uma instalação simples com o Debian como convidado no Virtualbox. Eu instalei o resolvconfpacote. O arquivo resolv.conf é este:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 10.3.x.x
nameserver 10.219.x.x

Adicionei servidores de nomes através da GUI (Aplicativos/Ferramentas de Sistema/Ferramentas de Rede).

O 8.8.8.8 é o DNS do Google e quero usá-lo para resolver endereços da Internet. O 10.3.xx e o 10.219.xx são necessários para resolver domínios internos como teleportal.company.intra.

Quando tenho esses servidores de nomes em resolv.conf (e 8.8.8.8 é o primeiro), recebo um erro ao consultar um endereço interno:

> host teleportal.company.intra           
Host teleportal.company.intra not found: 3(NXDOMAIN)

No entanto, se eu definir explicitamente o nameserverendereço do segundo como um servidor de nomes para nslookup, ele funcionará:

» nslookup teleportal.company.intra 10.3.x.x
Server:     10.3.x.x
Address:    10.3.x.x#53

teleportal.company.intra    canonical name = proxy.dummy1.dummy2.private.
Name:   proxy.dummy1.dummy2.private
Address: 172.27.x.x
Name:   proxy.dummy1.dummy2.private
Address: 172.27.x.x

A documentação do resolv.conf afirma que as nameserverentradas serão tentadas em ordem, se uma delas não conseguir resolver a consulta. Porém se eu ativar o debug ao usar nslookupvejo que nslookupnem tenta outras entradas, apenas a primeira.

Se eu alterar a ordem dos nameserversendereços internos serão resolvidos corretamente (o nslookup ainda usa apenas a primeira entrada).

Como posso configurar três servidores de nomes para que os utilitários usem todos eles em ordem?

Responder1

A resolv.conflista de servidores de nomes é contatada um após o outro somente em caso de timeout. Não quando um servidor de nomes diz com autoridade "não existe tal domínio" ( NXDOMAIN). No seu caso, o DNS 8.8.8.8aparentemente não sabe teleportal.company.intrae o resolvedor parou quando obteve o arquivo NXDOMAIN.

Se possível, você deve configurar um servidor DNS e usá-lo para todas as suas resoluções e deixar o servidor DNS decidir como resolver o nome. Se 10.3.x.xfor o seu servidor DNS da intranet, provavelmente também será capaz de resolver os nomes de host da Internet.

Dito isto, se você realmente deseja retransmitir as solicitações para diferentes servidores DNS com base nos nomes, você pode tentarpdnsd. É um programa proxy DNS de cache que seria executado localmente. Instale-o ( apt-get install pdnsd) e adicione seu localhost ( 127.0.0.1) ao resolv.conf. No pdnsd.confarquivo de configuração você pode especificar quais servidores DNS contatar com base na correspondência de nomes. Um parágrafo de exemplo para o seu /etc/pdnsd.conf:

server {
    label= "google";
    exclude = ".company.intra";
    ip = 8.8.8.8;
}

server {
    label= "intra";
    include = ".company.intra";
    ip = 10.3.x.x;
}

Recortei muitos outros parâmetros no arquivo acima. Você deve seguir a documentação e o arquivo de configuração de exemplo que acompanha o pacote debian para configurar seu arquivo pdnsd.conf.

Responder2

EUpensarque o resolvedor volte para DNS secundário (ou terciário ou ...)somente se o primeiro (ou segundo ou ...) falhar.

Neste caso a consultanão falha, ele retorna corretamente NXDOMAIN, ou seja, o nome de domínio não existe.

Se você realmente deseja usar o DNS do Google (ou qualquer outro DNS) para resolver domínios externos (em vez de seus servidores de nomes internos), você pode configurar seus servidores 10.3.x.xpara 10.219.x.xusar authoritativeapenas seus nomes internos e encaminhar todas as outras consultas para DNS externo e, em seguida, use seus servidores de nomes internos como seuapenasservidores de nomes em seus computadores internos.

informação relacionada