Sistemas Operacionais Livres
Transcrição
Sistemas Operacionais Livres
Sistemas Operacionais Livres DNS - Domain Name System Agenda Visão Geral Implementação Em Linux Mensagens de Log Atividades Tipos de Servidores Arquivos de Config Arquivos de Zona Visão Geral DNS - É 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 - 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 Organização semelhante ao filesystem unix DNS Resolução de nomes de domínios DNS Consulta a base de dados da IANA – TLD .BR DNS – Root Servers (Servidores raiz) - 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) 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) Visão Geral Implementação Em Linux DNS – Bind - Implementado em linux pelo software Bind (bind-9.5.1-1.P1.fc10 /bind-chroot9.5.1-1.P1.fc10) o nome do daemon é named. No CentOS 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 - 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 Visão Geral Implementação Em Linux Tipos de Servidores DNS – Tipos de Servidor 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 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 Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config DNS – Arquivos de Zona / Hosts Arquivos de Configuração /etc/named.conf (Fedora) /etc/named.rfc1912.zones (dominios) (centos) /etc/named.caching-nameserver.conf (Serviço)(centos) - 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/chroot/var/named (servidor master) /var/named/chroot/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 – /etc/named.conf 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 { any; }; directory "/var/named"; allow-query { any; }; allow-transfer { 192.168.15.10; 200.100.122.12; }; version "Nao lhe interessa !"; }; DNS – /etc/named.conf 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 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 // Master zone "turmalinux.com.br" { type master; file "turmalinux.com.br"; allow-transfer { ip_slave; }; }; //Slave zone "turmalinux.com.br" { type slave; file "slaves/turmalinux.com.br"; masters { 172.16.10.1; }; }; DNS – /etc/named.conf 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 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 Visão Geral Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona DNS – Registro de banco de dados de hosts - 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 Tipos de RR Nome do Registro Tipo do Registro Start of Authority SOA Nam e Server NS Address A Pointer PTR Mail Exchanger MX Canonical Nam e CNAME Função Marca o com eço dos dados de um a zona e define parâm etros que afetam a zona inteira Identifica o servidor de nom es de um dom ínio Mapeia um hostnam e para um endereço Mapeia um endereço para um hostnam e Identifica um servidor de correio para um dom ínio Define um alias para um hostnam e DNS – Diretivas de arquivo de zona - 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 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 $TTL @ – Arquivo de banco de dados de domínio (Zona) 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 DNS – Arquivo de banco de dados de domínio (Zona) 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) - 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 Visão Geral Mensagens de Log Implementação Em Linux Tipos de Servidores Arquivos de Config Arquivos de Zona DNS – Mensagens do servidor de nomes 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 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 Visão Geral Implementação Em Linux Mensagens de Log Atividades Tipos de Servidores Arquivos de Config Arquivos de Zona DNS 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 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 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
Documentos relacionados
Slide10-ServidorDNS - Rafael Silva Guimarães
Instalando o Servidor de Nomes No Linux o software utilizado para prover o serviço de servidor no nomes(DNS) se chama “BIND”. O Bind é o software mais utilizado no mundo para esta finalidade. Para...
Leia maisServiço DNS BIND agosto/2015 Instalação e
Os nomes [DNS names] são atribuídos através de registros, pela IANA2 [Internet Assigned Number Authority]. O domain name [nome do domínio] é um nome atribuído para um domínio internet. Por exemplo,...
Leia mais