Embora eu não esteja 100% no raciocínio por que não funciona como esperado, parece haver um conflito muito grande com o serviço mDNS (Avahi no Linux, Bonjour / Zeroconf no Mac / Windows) e Redes Windows que usam .local como o nome de roteamento interno para domínios. O que parece acontecer é que, ao pingar o server01, ele ignora o uso do mDNS para resolução e, em seguida, anexa 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 de nome de máquina padrão), quando você tenta executar o ping em server01.foo.local, ele realmente está transmitindo por mDNS procurando uma máquina com o nome "server01.foo"; quando falha, não passa para DNS direto por qualquer motivo. Uma grande solução para isso não é nomear seu domínio .local, o que provavelmente vai contra a maioria dos treinamentos dos administradores do Windows para a estruturação de domínio. Dito isto:
Se o mDNS não é importante em sua rede (como é comum na empresa, que tende a executar servidores DNS dedicados em relação à rede doméstica, onde o mDNS é usado às vezes), alterar a ordem de pesquisa é a solução mais fácil. / p>
Isso pode ser encontrado em /etc/nsswitch.conf. A seção para hosts irá listar a ordem, que para o padrão do Fedora 16 é:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Se você alterar isso para:
hosts: files dns mdns4_minimal [NOTFOUND=return] myhostname
onde você está movendo o dns adiante na ordem de pesquisa, isso deve consertar as coisas por enquanto. Alternativamente, se você sabe que não precisará de mDNS, apenas remova a parte "mdns4_minimal [NOTFOUND = return]".
Analisando esse bug no rastreador da Red Hat , parece que esse é um problema de longa data sem nenhuma correção aparente no momento. No entanto, se alguém puder fornecer mais informações sobre o motivo pelo qual isso acontece dessa maneira, será apreciado.