Resolvendo erros nas consultas do DNS do Windows com o Bind
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:
1 2 3 4 5 6 7 8 | - 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 82c.bd8.myftpupload.com 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:
1 2 3 4 5 6 | 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.