DNS

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre o Domain Name System (DNS), que é um sistema de gerenciamento de nomes hierárquico e distribuído para computadores, serviços ou qualquer recurso conectado à Internet ou numa rede privada.

Vídeos

https://youtu.be/JZqQvjg6nSI

https://youtu.be/8KAWcv9ywwQ

https://youtu.be/YxvVu1M_cus

Instalando Bind no Debian 9

A instalação do Bind no Debian 9 é realizado com o comando apt-get install, mas para realizar as configurações é necessário contemplar os pré-requisitos.

Pré-requisitos

1 - Verificar o Arquivo nsswitch.conf

   grep hosts /etc/nsswitch.conf
   
  * files = /etc/hosts
  * dns = /etc/resolv.conf

Alterar nome do Host

2 - editar hosts

  nano /etc/hosts

3 - editar hostname

  nano /etc/hostname

4 - editar resolv.conf

  nano /etc/resolv.conf

5 - deixar o arquivo imutavel

  chattr +i /etc/resolv.conf


DNS Primário

Chama-se DNS Primário, ou Master, o primeiro serviço de dns a responder as requisições em uma infraestrutura, ele é o responsável pelo pleno funcionamento do serviço de nomes, uma vez que este esteja sobrecarregado ou inoperante, o próprio protocolo de DNS se encarrega de funcionar com o secundário ou ainda terciário, uma vez que esteja configurado para ser utilizado tanto como servidor em um novo endereço IP, ou como cliente em máquinas de uma infra.

Instalação do Bind9 no Debian

1 - Instalar o Bind9

   apt-get install bind9 openssh-server dnsutils

2 - Entrar em /etc/bind

   cd /etc/bind

3 - Editar named.conf e deixa-lo como no exemplo (dominio.com.br para exemplo sera proot.com.br)

   nano named.conf
   ;#### Zona do Dominio 
   
   zone "dominio.com.br" {
     type master;
     file "/etc/bind/zones/db.dominio.com.br";
     };
     
    ;### Zona Reversa
    
    zone "200.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.200.168.192";
    };

4 - Criar a pasta zones em /etc/bind

   mkdir -p /etc/bind/zones

5 - Entrar na pasta zones

   cd /etc/bind/zones
  • Explicação dos Campos zona e zona reversa:
   IN = Internet
   SOA = Start of Autority
   @ = Origem do Domínio e/ou Inicio da Configuração
   TTL = Tempo de vida
   NS = Name Server
   MX = Mail Exchanger (10/20 numero de prioridade quanto maior o numero menor e a prioridade)
   hostmaster = email do administrador note que e separado por "." e NAO "@"
   A = Apontamento para IPv4 (Address Mapping)
   AAAA = Apontamento para IPv6 (Address Mapping)
   CNAME = Apontamento para Nome Canônico/alias 
   PTR = PoinTeR (aponta domínio reverso a partir de um endereço IP)
   TXT = TeXT, permite incluir um texto curto em um hostname. Técnica usada para implementar o SPF.
   SPF = SenderPolicyFramework. Permite ao administrador de um domínio definir os endereços das 
   maquinas autorizadas a enviar mensagens neste domínio.
   SRV = SeRVice, permite definir localização de serviços disponíveis em um domínio, inclusive seus 
   protocolos e portas.

6 - Criar/Editar o Arquivo de zona "db.dominio.com.br"

   nano db.dominio.com.br
  ;
  ; BIND zone file for proot.com.br
  ;
  
  $TTL    3D
  @       IN      SOA     ns.proot.com.br.    hostmaster.proot.com.br. (
                       2017011801      ; serial (Padrao de data: ANO/MES/DIA/Sequencia)
                       8H              ; refresh (A cada X Seg(28800) ou Horas(8H) e feito atualizacao)
                       15M             ; retry (Tempo em Seg(900)ou Min(15M)o slave verificara se o master voltou)
                       1W              ; expire (Tempo maximo Seg(604800) para responder por dominio antes de expirar)
                       1D )            ; minimum ( Tempo minimo Seg(86400) antes de devolver ao principal )
   
  ;
  @       IN      NS      ns01.proot.com.br. 	   ; Servidor primario responsavel pelo dominio
  @       IN      MX      10 mail.proot.com.br.  ; Servidor primario de e-mail 
  
  ns01                    A       192.168.200.239
  proot.com.br.           A       192.168.200.123
  www                     A       192.168.200.111
  mail            IN      A       192.168.200.111
  lab             IN      CNAME   www

7 - Fazer uma copia do arquivo db.127 em /etc/bind para /etc/bind/zones/db.200.168.192

   cp /etc/bind/db.127 /etc/bind/zones/db.200.168.192

8 - Criar/Editar o Arquivo de zona reversa

   nano /etc/bind/zones/db.200.168.192
   ;
   ; BIND reverse data file for 200.168.192
   ;
   $TTL    604800
   @       IN      SOA     ns01.proot.com.br. root.proot.com.br. (
                       2017011801      ; Serial
                       28800           ; Refresh (8 Horas )
                       900             ; Retry (15 Minutos )
                       604800          ; Expire (7 Dias )
                       604800 )        ; Negative Cache TTL (7 Dias)
   ;
   @       IN      NS      ns01.proot.com.br.
   239     IN      PTR     ns01.proot.com.br.

9 - Restart ou Reload no Bind analisando os logs

   /etc/init.d/bind9 restart ; tail -f /var/log/syslog

10 - Checar se as confs foram aplicadas

   named-checkzone  dominio.com.br /etc/bind/zones/db.dominio.com.br
   named-checkzone  200.168.192 /etc/bind/zones/db.200.168.192


Testar o DNS

1 - utilizando o comando nslookup

   nslookup www.terra.com.br
   nslookup www.proot.com.br

2 - utilizando o dig

  dig -t any www.terra.com.br
  dig -t any www.proot.com.br

Administrando o DNS com RNDC

1 - editar o arquivo de conf

  nano /etc/bind/named.conf.local
  #ADD
  include "/etc/bind/rndc.key";
  # inclui o arquivo rndc.key
  
  controls {
  	inet 127.0.0.1 port 953 allow { localhost; } keys { "rndc-key";};
  };
  # 127.0.0.1 tem acesso para utilizar o rndc apenas para local

2 - entrar na pasta do bind

  cd /etc/bind

3 - gerar a chave do rndc

  rndc-confgen -r /dev/urandom -a

4 - ajustar permissoes

  chmod 700 rndc.key

5 - reiniciar o servico

  /etc/init.d/bind9 restart

6 - testar o rndc

  rndc status
  rndc reload

DNS Secundário

Chama-se DNS secundário, o DNS que está configurado na segunda posição em máquinas clientes, sua utilização é necessária para que diversos serviços não fiquem inoperante caso o DNS primário venha a ter lentidões ou por motivos diversos fique inoperante em um determinado momento, ainda podem ser utilizados um terceiro servidor de DNS, este chamado de terciário, sua utilização é a mesma que do secundário, ficando de backup caso o secundário venha a falhar também, lembrando que as consultas são realizadas na ordem: primário, secundário, terciário.


Pré-requisitos

1 - Verificar o Arquivo nsswitch.conf

   grep hosts /etc/nsswitch.conf
   
   * files = /etc/hosts
   * dns = /etc/resolv.conf

Alterar nome do Host

2 - editar hosts

  nano /etc/hosts

3 - editar hostname

  nano /etc/hostname

4 - editar resolv.conf

  nano /etc/resolv.conf

5 - deixar o arquivo imutavel

  chattr +i /etc/resolv.conf


Instalação do Bind 9

1 - Instalar o Bind9

   apt-get install bind9 openssh-server dnsutils

2 - Entrar em /etc/bind

   cd /etc/bind

3 - Editar named.conf e deixa-lo como no exemplo

   nano named.conf
   
   zone "dominio.com.br" {
     type slave;
     masters {IP_SERVER_PRIMARIO;};
     file "db.dominio.com.br";
   };

4 - Entrar na pasta onde ficara o cache (DNS Secundário)

   cd /var/cache/bind

5 - Conferir o conteúdo

   ls -lah

6 - Restart no Bind já analisando o log

   /etc/init.d/bind9 restart ; tail -f /var/log/syslog

7 - Reconferir o conteúdo

   ls -lah


Referências

   Livro Servidores Linux - Guia Prático
   Carlos Eduardo Morimoto
   http://www.americanas.com.br/produto/6725809/livro-servidores-linux-guia-pratico
   
   Site do hardware
   http://www.hardware.com.br/livros/servidores-linux
   http://www.hardware.com.br/tutoriais/instalando-servidor-dns
       
   GTER (Grupo de Trabalho de Engenharia e Operação de Redes)
   Rafael Justo - Eng. de Software do Nic.br
   https://www.youtube.com/watch?v=VIa1dHtmQ4U