
Muitas vezes nos deparamos com problemas que ou não tem muita lógica(no Windows é comum isso ;-P) ou demoramos para achar a solução, e precisamos que a empresa funcione assim mesmo. Procuramos de um lado pra outro, reviramos logs, ou event viewers, e nada diz porque o problema ocorre.
Em uma empresa de um cliente onde a rede é controlada pelo Windows 2008: Domínio, DNS, DHCP, Certificados e etc. Começou a aparecer um problema meio que sem pé nem cabeça, mas que prejudica o funcionamento da rede:
- O DNS não resolve endereços! - Como assim? Não resolve nada? - Resolve os endereços do domínio local e da internet, mas não resolve alguns endereços da internet. - Quais? - Esse é o problema, não tem uma lógica. Um endereço ele resolve e outra hora não, ou não resolve e minutos depois passa a resolver. Não tem um padrão.
Salvo as devidas proporções, esse foi o dialogo que tive com o Administrador Microsoft dessa empresa. E como os usuários viam muitas mensagens de : “Este endereço não pode ser resolvido” . Ele estava recebendo muitas reclamações sobre a internet e como o proxy é Linux(Squid) mas usa o DNS do Windows também estava com esse problema.
Como resolver se não se identifica a causa no sistema?
Simples use o Linux.
A “solução”, não foi definitiva pois ele ainda está procurando no sistema o que causa este erro, foi instalar no proxy o Bind, mas se eu apenas instalasse o Bind funcionaria perfeito pra internet mas não para os hosts e servidores locais do domínio (empresa.local no exemplo). O AD já tem o secundário dele, e não necessita de que o proxy seja mais um secundário. O que fazer?
Simples: Use a diretiva “forwarders” do Bind. A função dessa diretiva é redirecionar uma consulta para um servidor específico ANTES de pesquisar na estrutura da internet (Root Servers). Assim se o servidor consultado for o responsável por informações de um determinado domínio o Bind aceita as informações que ele passa, e se ele não tiver autoridade sobre o domínio consultado o Bind vai à internet.
Com isso se eu pesquiso ad.empresa.local o Bind vai primeiro ao servidor que está na “forwarders” e se ele responder que tem esse nome registrado o Bind pega essa resposta e repassa ao cliente. Porém se a pesquisa for um domínio como www.cooperati.com.br o Bind vai primeiro ao servidor que está na “forwarders” e como nesse caso a resposta é negativa, o próprio Bind vai à internet e obtém o IP relacionado com esse nome e entrega para o cliente.
Assim mesmo que o DNS do Windows tenha problemas em resolver para fora, para dentro do domínio não apresenta problemas, os clientes não perdem as máquinas locais e sempre resolvem na internet.
Vamos parar de conversa e vamos aos fatos.
Instale o Bind:
root # apt-get install bind9
Entre no seu diretório de configuração:
root # cd /etc/bind
Edite o arquivo named.conf.options e acrescente as seguintes linhas dentro da seção options:
forwarders { 172.16.1.1; 172.16.1.2; };
Seu arquivo vai ficar mais ou menos assim:
options {
directory "/var/cache/bind";
forwarders { 172.16.1.1; 172.16.1.2; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Pronto, agora é só reiniciar o Bind e deixar que ele faça seu trabalho como redirecionador de consultas e cache de nomes de internet.
Abraços e não se esqueçam de comentar, curtir nossa Página no Facebook e visitar nossos links de Livros em promoção com a nossa Parceira Brasport.


Show de bola o post. Simples e direto.
Linux, simplificando nosso dia a dia.
Parabéns Vagner.
Uma condição, se no FORWARDER do DNS do Windows estiver configurado os DNS do google 8.8.8.8 e 8.8.4.4 este pode ser o problema, remova estes do FORWARDER e adicione os da operadora que lhe oferece o serviço de internet.
Edson,
O DNS do Windows está para o do provedor, e o problema não é constante e nem com os mesmos domínios. Isso é o que deixa o Admin de Windows meio maluco
Traduzindo: é um problema MS! Ainda bem que eles existem! huahuahuahuahuaha. Para nossa alegria!
Isto é uma coisa engraçada que tem o maldito servidor de DNS do windows 2008. Isto acontece com alguns clientes que tenho. Uma forma de fazer o DNS “voltar” é fazer o restart no serviço do DNS. Então coloquei toscamente um scrip para fazer isto a cada inicio de turno. Remediou. Mas não consegui encontrar este maldito problema.
Se alguem encontrar esta falha e quiser compartilhar com a comunidade seria uma boa ação…….
kakakakkaka …gostei disso ” Simples use o Linux.” !!! Passei por um problema desse recente, com link frame-relay da Embratel, resolvi alterando o DNS da operadora por um outro que o suporte informou. No meu caso resolveu , mas é guardar essa dica derrepentemente, sabe como é…..rsrsrsrs
Meu Deus aqui tá cheio de xiita Linux. rsrsrs
Muito boa a dica doutor. Ainda não tive problemas dessa natureza, mas quando tiver já sei o que fazer. abraços.
Olá Vagner!
Tenho um cenário que gostaria de sua opinião.
Tenho um DNS Windows que serve o domínio local (AD) e também para a internet, porem resolvi que ele só serviria ao Domínio (justo pelos motivos relatados neste artigo), neste caso implementei um BIND no gateway de forma que ele resolva os endereços internet. Porem gostaria de registrar uma zona do MEUDOMINIO.LOCAL nele e apontar para o servidor DNS Windows, assim o servidor BIND só buscaria o servidor Windows para resolver endereços locais. O que voce acha desta abordagem?
Um abraço de seu eterno aluno!
Fala Francisco,
O cenário que você descreve é muito bom, ter o DNS secundário no Linux ajuda em muito na melhoria do desempenho das resoluções de nome.
Lembre de habilitar “BIND secondaries” no Windows.
Abraços.