Meu local de trabalho possui uma intranet com nomes de domínio como server01.foo.local
, server02.foo.local
etc. Inicializei recentemente o ambiente ativo do Fedora 16 para testá-lo e descobri que esses nomes de domínio não são resolvidos.
Por exemplo:
$ ping server01.foo.local
ping: host desconhecido server01.foo.local
$ ping server01
PING server01.foo.local (XXXX) ...
Por que server01
resolverá (e imprimirá o nome como server01.foo.local
), mas server01.foo.local
não será?
linux
networking
dhcp
rhollencamp
fonte
fonte
Respostas:
Embora eu não esteja 100% esclarecido sobre o motivo pelo qual ele não funciona conforme o esperado, parece haver um conflito muito grande com o serviço mDNS (Avahi no Linux, Bonjour / Zeroconf no Mac / Windows) e redes Windows que use .local como o nome de roteamento interno para domínios. O que parece acontecer é que, ao executar o ping em server01, ele está pulando usando mDNS para resolução e, em seguida, anexando o domínio de pesquisa (foo.local) à solicitação, consultando com êxito o servidor DNS para server01.foo.local. No entanto, ao usar o mDNS (que usa .local como a extensão padrão do nome da máquina), quando você tenta executar ping no server01.foo.local, na verdade ele está transmitindo pelo mDNS procurando uma máquina com o nome "server01.foo"; quando falha, não passa para o DNS direto por qualquer motivo. Uma grande solução para isso é não nomear o domínio .local, o que provavelmente vai contra o treinamento da maioria dos administradores do Windows para estruturação de domínio. Dito isto:
Se o mDNS não tiver importância na sua rede (como é comum na empresa, que tende a executar servidores DNS dedicados versus a rede doméstica, onde o mDNS às vezes é usado), alterar a ordem de pesquisa é a solução mais fácil.
Isso pode ser encontrado em /etc/nsswitch.conf. A seção para hosts listará a ordem, que para o Fedora 16 padrão é:
Se você mudar isso para:
para onde você está movendo o DNS na ordem de pesquisa, isso deve corrigir as coisas por enquanto. Como alternativa, se você sabe que não precisará do mDNS, remova a parte "mdns4_minimal [NOTFOUND = return]".
Olhando para esse bug no rastreador da Red Hat , parece que esse é um problema de longa data, sem solução aparente no momento. No entanto, se alguém puder fornecer mais informações sobre por que isso acontece dessa maneira, seria apreciado.
fonte
vpnc
não pode se conectar após a remoção dessas entradas nahosts: .*
linha/etc/nsswitch.conf
. A substituição dessas configurações corrigiu o problema.[NOTFOUND=return]
significa "se o mDNS diz que um nome .local não foi encontrado, isso é autoritário e não faz sentido pedir mais". Mover o DNS para o mDNS é uma solução alternativa, mas apenas tornar as falhas do mDNS não autorizadas já é suficiente.Sugiro outra solução caso você esteja usando o
.local
domínio. Primeiro, não é uma boa ideia, pois parece um padrão / convenção a ser usado.local
para alguma descoberta dinâmica multicast.Mas se você insistir, também é mais fácil remover o
nss-mdns
pacote ou olibnss-mdns
pacote, dependendo da sua distribuição, e o problema será resolvido. Se você não precisa dessa funcionalidade, por que ela está lá?Aqui está
yum info nss-mdns
:fonte
Algumas coisas que você pode verificar:
existe um pedido no /etc/host.conf, que especifica verificar o / etc / hosts antes de consultar o DNS?
server01 está em / etc / hosts?
existe um
search foo.local
/ etc / resolv, conf? Isso acrescentaria foo.local a qualquer nome de host que você estivesse procurandoGostaria de saber se o seu servidor de nomes está configurado corretamente. Se você ainda tiver nslookup, o que ele voltar para
server01
,server01.foo.local
eo endereço IP (reverse lookup)?fonte