DNS
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
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