Linux - DNS

13,904 views
13,755 views

Published on

Configuração do servidor Bind no linux

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,904
On SlideShare
0
From Embeds
0
Number of Embeds
1,838
Actions
Shares
0
Downloads
458
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Linux - DNS

  1. 1. ADMINISTRAÇÃO DE REDES I ­ LINUX DNS - Domain Name System Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  2. 2. Agenda Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona Mensagens de Log Atividades
  3. 3. Visão Geral
  4. 4. - É um banco de dados hierárquico e distribuído, com milhares de servidores através da internet, controlando as consultas de nomes e endereços - Servidor responsável por traduzir nomes em endereços IP (e vice versa) de um determinado domínio. - Evolução da tabela de hosts (/etc/hosts), resolve suas limitações - Arquitetura cliente-servidor, onde o cliente solicita a informação ao servidor - Robustez e performance são obtidas através de replicação e caching - Servidores são chamados de Name-Servers (Servidores de Nome) DNS
  5. 5. - Sua organização é semelhante a do sistema de arquivos do unix (árvore invertida). No caso do unix inicia-se com “/” e no DNS inicia-se com “.” - Cada nó, passa a ser a raiz da nova sub-árvore. Através de consultas, acha-se qualquer host no sistema de domínios, começando pela raiz, seguindo os ponteiros até o domínio de destino. - Domínios podem ser divididos em sub-domínios - Cada domínio possuí um nome único (da mesma forma que os diretórios) - FQDN – Full Qualify Domain Name = Nome que começa com um host e vai até a raiz Ex: winnie.corp.hp.com - Domínios TLDs (Top Levels Domains): org, edu, jp, com são servidos pelos servidores raiz. Coutry Code Top Levels Domains: .br, .us, .ca Organizados pela IANA – Internet Assigned Numbers Authority Lista dos TDLs: http://www.iana.org/domains/root/db/ DNS
  6. 6. DNS Organização semelhante ao filesystem unix
  7. 7. DNS Resolução de nomes de domínios
  8. 8. DNS Consulta a base de dados da IANA – TLD .BR
  9. 9. - No núcleo da arquitetura do DNS, existem 13 computadores especiais, chamados de root servers - Coordenados pela ICANN (Internet Corporation for Assigned Names and Numbers) e são distribuídos pelo mundo. - Todos possuem as mesmas informações vitais garantindo balanceamaneto de carga e backup deles mesmos - Possuem os registros de todos os TLD gerais e dos países - Cada root server é replicado várias vezes - Não possuem informações de hosts DNS – Root Servers (Servidores raiz)
  10. 10. Lista dos Servidores Raiz A.ROOT-SERVERS.NET. A 198.41.0.4 B.ROOT-SERVERS.NET. A 192.228.79.201 C.ROOT-SERVERS.NET. A 192.33.4.12 D.ROOT-SERVERS.NET. A 128.8.10.90 E.ROOT-SERVERS.NET. A 192.203.230.10 F.ROOT-SERVERS.NET. A 192.5.5.241 G.ROOT-SERVERS.NET. A 192.112.36.4 H.ROOT-SERVERS.NET. A 128.63.2.53 I.ROOT-SERVERS.NET. A 192.36.148.17 J.ROOT-SERVERS.NET. A 192.58.128.30 K.ROOT-SERVERS.NET. A 193.0.14.129 L.ROOT-SERVERS.NET. A 198.32.64.12 M.ROOT-SERVERS.NET. A 202.12.27.33 DNS – Root Servers (Servidores raiz)
  11. 11. DNS – Root Servers (Servidores raiz)
  12. 12. Visão Geral Implementação Em Linux
  13. 13. DNS – Bind - Implementado em linux pelo software Bind (bind-9.5.1-1.P1.fc10 /bind- chroot-9.5.1-1.P1.fc10) o nome do daemon é named. No CentOS 5.x necessário instalar os arquivos de config: caching- nameserver-9.3.6-4.P1.el5_4.2 - BIND (Berkeley Internet Name Domain) - Iniciando o serviço: service named start /etc/init.d/named start Systemctl start named.service - Logs do servidor de nomes podem ser vistos em /var/log/messages - Roda em ambiente chrooted em /var/named/chroot - Realiza balanceamento de carga via round robin
  14. 14. Visão Geral Implementação Em Linux Tipos de Servidores
  15. 15. Existem três configurações básicas: Somente Cache (Não autorizado) - Não são fontes oficiais de informações a respeito de domínios. - Obtêm a resposta a partir de servidores remotos. - Iniciam apenas com os endereços dos Root-Servers - Armazenam as consultas feitas pelos usuários Servidor Mestre (Autorizado para o domínio) - Fonte oficial de todas as informações a respeito de um domínio específico - Carrega informações dos domínios a partir de arquivos locais - Mantido pelo administrador do domínio - Também chamado de servidor primário - Armazenam as consultas feitas pelos usuários DNS – Tipos de Servidor
  16. 16. Servidor Escravo (Autorizado para o domínio) - É considerado um servidor autorizado, pois possui os dados completos do domínio. - Informações transferidas do servidor master (transferência de zona) - Também chamado de servidor secundário - Armazenam as consultas feitas pelos usuários DNS – Tipos de Servidor
  17. 17. Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config
  18. 18. Arquivos de Configuração /etc/named.conf (Fedora / Centos 6.x e 7) /etc/named.rfc1912.zones (dominios) (centos) /etc/named.caching-nameserver.conf (Serviço)(centos 5.x) - Parâmetros básicos e aponta para as fontes de informação do banco de dados do domínio /var/named/named.ca - Fornece os nomes e endereços dos servidores-raiz Arquivos de Banco de Dados (hosts locais) - Arquivos de zona, mapeia nomes de computador para ip - Arquivos de zona reversa, mapeia os endereços IP em nomes - localizados em: var/named (servidor master) //var/named/slave (servidor slaves) Configurados em : /etc/sysconfig/named * Zona é um pedaço do espaço do nome de domínio sobre o qual um servidor mestre tem autoridade. DNS – Arquivos de Zona / Hosts
  19. 19. Declaração Options - Apenas uma pode ser usada - Localizada no inicio do arquivo - Define parâmetros globais que definem como o Bind opera options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; dnssec-enable yes; dnssec-validation yes; }; DNS – /etc/named.conf Trocar para any; Trocar para any; ou endereço de sua rede Trocar para no;
  20. 20. Declaração Options listen-on port 53 { any; } - O daemon esperará solicitações em todas as interfaces directory "/var/named" - Diretório de trabalho, onde o servidor armazena os arquivos de configuração - Serve de PATH para o arquivos definidos nesse arquivo de configuração allow-query { any; }; - Permite consultas de qualquer host allow-transfer { 192.168.15.1; }; - Permite a transferência de zona para o servidor especificado version "Nao lhe interessa !"; - Não informa a versão do servidor de nomes - Previne contra ataques do topo banner grabbing DNS – /etc/named.conf
  21. 21. Declaração Zone - Mais importantes no arquivo de configuração - Define uma zona que é servida por esse servidor - Define o tipo de servidor que está sendo executado (master/slave) - Define a fonte do arquivo de dados (local ou transferido do servidor mestre) - Define opções de processo especiais DNS – /etc/named.conf ou /etc/named.rfc1912.zones //Slave zone "turmalinux.com.br" { type slave; file "slaves/turmalinux.com.br"; masters { 172.16.10.1; }; }; // Master zone "turmalinux.com.br" { type master; file "turmalinux.com.br"; allow-transfer { ip_slave; }; };
  22. 22. Declaração Zone zone "turmalinux.com.br": Determina o domínio que está sendo configurado type master/slave: Determina o tipo do servidor que está sendo configurado para esse domínio. file "turmalinux.com.br": Determina o arquivo onde estarão o mapeamento dos hosts desse domínio. Fonte de informações sobre a zone (master), depósito das informaçoes sobre a zona (slave) allow-update { localhost; }: Especifica quais clientes estão autorizados a atualizar o arquivo de zona dinamicamente. Normalmente, apenas o servidor DHCP possui essa permissão, e a forma segura de se fazer isso é rodando ambos na mesma máquina. DNS – /etc/named.conf
  23. 23. Declaração Zone Masters { 172.16.10.1; }: Indica o servidor mestre, pode haver mais de um IP do servidor mestre (multi-homed). O servidor slave faz a transferência de zona (baixa das informações de domínio do master para o slave) notify yes: Normalmente os servidores escravos verificam atualização nos arquivos de zona dos servidores mestres. Com essa opção, o servidor master irá notificar o slave que houve uma atualização em um arquivo de zona através de uma mensagem DNS NOTIFY. Also-notify { 172.16.19.20;}: Também notifica os servidores listados DNS – /etc/named.conf
  24. 24. Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona
  25. 25. - Chamados de Registro de Recursos Padrão ou apenas RRs. - Todos os RRs possuem o mesmo formato básico: [name] [ttl] IN type data onde: Name – Identifica o objeto de domínio afetado pelo registro - Se tiver em branco, refere-se ao último objeto nomeado - Se @, refere-se a origem atual ($ORIGIN ou nome do domínio na declaração da zone ttl – Tempo de vida, define o tempo em que esse recurso deve ser deixado em cache, define quanto tempo os servidores remotos devem deixar em cache as informações do seu domínio, se não especificado, será usado o valor da diretiva $TTL. IN – Campo class. Sempre possui esse valor type – Tipo do registro do recurso (vide tabela) data – Dados específicos do tipo do recurso. Diferente de acordo com cada tipo de registro. DNS – Registro de banco de dados de hosts
  26. 26. DNS – Registro de banco de dados de hosts Tipos de RR Nome do Registro Função SOA NS A PTR MX CNAME Tipo do Registro Start of Authority Marca o começo dos dados de uma zona e define parâmetros que afetam a zona inteira Name Server Identifica o servidor de nomes de um domínio Address Mapeia um hostname para um endereço Pointer Mapeia um endereço para um hostname Mail Exchanger Identifica um servidor de correio para um domínio Canonical Name Define um alias para um hostname
  27. 27. - Arquivos de zona oferecem 4 diretivas - Facilitam a construção do arquivo de zona - Define valores padrão usados pelos registros Rrs. Diretiva $TTL - Define o tempo em que os servidores armazenarão em cache as informação sobre o domínio. - Seta esse valor globalmente. - Sobrescrita se declarada direto do RR. - Definido em segundos ou com um valor e uma letra 1w – Uma semana 2d – Dois Dias 3h – Três horas 4m – Quatro minutos 50s – Cinco segundos DNS – Diretivas de arquivo de zona
  28. 28. Diretiva $ORGIN - Ajusta a origem atual - Usado para completar quaisquer nome de domínio (definido na zona) - Valor padrão é o definido na declaração da zona no named.conf DNS – Diretivas de arquivo de zona
  29. 29. DNS – Arquivo de banco de dados de domínio (Zona) $TTL 43200 @ IN SOA ns1.turmalinux.com.br. hostmaster.ns1.turmalinux.com.br. ( 2008010802 ; serial 1H ; refresh 15M ; retry 14D ; expire 5m ; negative cache TTL ) ; Define os servidores de nome IN NS ns1.turmalinux.com.br. IN NS ns2.turmalinux.com.br. ; Define os servidores de mail IN MX 5 mx1.turmalinux.com.br. IN MX 10 mx2.turmalinux.com.br. ; Define os hosts desse domino ns1 IN A 172.192.10.1 ns2 IN A 172.192.10.2 mx1 IN A 172.192.10.3 mx2 IN A 172.192.10.4 www IN A 172.192.10.4
  30. 30. Registro SOA -Todos os arquivos de zona começam com um registro SOA. - O @ recorre a origem atual, no caso a que está declara no arquivo de zona, que no nosso caso é turmalinux.com.br - O campo de dados desse registro contém: - ns1.turmalinux.com.br – Nome do servidor mestre para essa zona - hostmaster.ns1.turmalinux.com.br – Endereço de email da pessoa responsável por esse domínio (sem o sinal de @) - 2008010802 ; Número de série do arquivo, informa que o arquivo foi atualizado (o adm deve alterá-lo a cada mudança no arquivo de zona). Esse valor é consultado pelo slave, se for diferente, ele transfere a zona para ele. - 1H : Informa de quanto em quanto tempo o servidor slave deve checar o master por alterações na zona. (Valor mediano) - 15M : Caso o servidor slave não consiga verificar o master, esse registro informa de quanto em quanto tempo ele deve tentar novalmente. (valor baixo) DNS – Arquivo de banco de dados de domínio (Zona)
  31. 31. - 14D: Caso o servidor slave não consiga verificar o master, depois de quanto tempo ele deve para de responder por aquele domínio (valor alto) - 5M : Quando o servidor armazena uma resposta negativa (domínio não existe), quanto tempo o servidor deve guardar em cache essa resposta negativa (Valor deve ser pequeno) Registro de Servidores de Nome - Definem os servidores de nomes oficiais desse domínio. Registro de Servidores de E-mail - Definem os servidores de email oficiais desse domínio. - O valor numérico após o tipo de registro, indica a prioridade Registro de Informação de hosts - Definem o mapeamento de host para ip Registro CNAME - Cria um apelido entre hosts. - O apelido definido, não deve ser utilizada em nenhum outro registro DNS – Arquivo de banco de dados de domínio (Zona)
  32. 32. Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona Mensagens de Log
  33. 33. Mensagens do arquivo de log /var/log/messages Indica que a zona madeira.com.br foi carregada com sucesso no servidor de nomes. [root@localhost named]# tail -f /var/log/messages Apr 3 15:11:01 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030301 Recarga do servidor, mas não houve alteração no serial da zona Apr 3 15:15:08 localhost named[32637]: zone madeira.com.br/IN: zone serial unchanged. zone may fail to transfer to slaves. Apr 3 15:15:08 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030301 Recarga do servidor, houve alteração no serial da zona Apr 3 15:16:04 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030302 DNS – Mensagens do servidor de nomes
  34. 34. Mensagens do arquivo de log /var/log/messages Realiza a transferência de zona do master para o slave Apr 3 15:45:47 localhost named[9614]: zone madeira.com.br/IN: Transfer started. Apr 3 15:45:47 localhost named[9614]: transfer of 'madeira.com.br/IN' from 192.168.15.140#53: connected using 192.168.15.224#42614 Apr 3 15:45:47 localhost named[9614]: zone madeira.com.br/IN: transferred serial 2008030302 Apr 3 15:45:47 localhost named[9614]: transfer of 'madeira.com.br/IN' from 192.168.15.140#53: end of transfer DNS – Mensagens do servidor de nomes
  35. 35. Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona Mensagens de Log Atividades
  36. 36. Atividade 1 1. Configure sua máquina para usar o seu servidor DNS configurado apenas no modo de cache. 2. Tente navegar na internet DNS
  37. 37. Atividade 2 1. Configure em sua máquina o domínio: seusobrenome.com.br Aponte os registros NS, MX e A para o seu IP. 2. Crie um registro do tipo A com o nome WWW apontando para o IP da máquina de seu vizinho. 3. Acompanhe a carga do servidor no arquivo de log 4. Tente pingar os hosts DNS
  38. 38. Atividade 3 1. Configure sua máquina com servidor slave do domínio da pessoa ao seu lado. 2. Configure o seu linux para usar o servidor DNS do seu vizinho (ele configurou como slave o nosso sobrenome.com.br), veja se você consegue pingar no nosso domínio. 3. Acompanhe a transferência de zona DNS
  39. 39. ADMINISTRAÇÃO DE REDES I ­ LINUX DNS - Domain Name System Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br

×