Serviços de Redes Servidor DNS (Bind) Professor: Alexssandro Cardoso Antunes Roteiro Objetivos Instalação (projeto) Definições, Características, Vantagens e Hierarquia Clientes, Processo de Resolução de Nomes e Servidores DNS (tipos e formas de resolução) Zonas (zone) e Resource Record Exemplo de Utilização (resolv.conf, named.conf e tipos de registros no banco de dados DNS - Zone) Subdomínios Ferramentas de Análise (nslookup, dig, host e whois) Atividades DNS Objetivos: Implementar os principais registros de um servidor DNS (padrão e reverso); Configurar Domínios e Subdomínios; Obter informações sobre registros de recursos (DNS) através de ferramentas de análise. Projeto http://www.isc.org/ Instalação #yum install bind #yum install bind-utils Definições ARPANET, sistema centralizado através de uma tabela (nome de computadores) estática (hosts.txt), possíveis desconfortos ... DNS Definições e Características Domínio Foi concebido com o objetivo de facilitar a memorização dos endereços de computadores na Internet. Nome que serve para localizar e identificar conjuntos de computadores na Internet. Um nome de domínio é composto por palavras separadas por pontos, que se tornam menos genéricas da direita para a esquerda. Exemplo: empresa.com.br é um domínio onde “.br” significa que trata-se de um domínio registrado no Brasil, “.com” significa que este é um domínio de cunho comercial e empresa é o nome da organização. Todo o conjunto é único ... Generic Top Level Domains (gTLD) Indicam apenas a área em que o registrante atua sem associá-lo a um país específico. Exemplos: .COM (entidades comerciais); .NET (entidades com serviços de rede ou telecomunicações); .ORG (organizações sem fins lucrativos). ... <http://www.internic.org/whois.html> DNS Definições e Características Country Code Top Level Domains (ccTLD) Indica o país em que o domínio é registrado (códigos de países). Exemplos: .BR (Brasil); .FR (França); .DE (Alemanha). ... Cada país mantêm órgãos responsáveis por determinar TLDs disponíveis em cada ccTLD, regulamentar e concentrar as atividades de registro de domínios no ccTLD correspondente. Exemplos (TLD no Brasil): .com.br; .edu.br; .org.br; .net.br; ... Exemplos (órgãos responsáveis no Brasil): Comitê Gestor da Internet no Brasil (http://www.cgi.br/); Registro de Domínios para a Internet no Brasil (http://registro.br/). =>Executa algumas das atribuições do Comitê ... Exemplos (outros órgãos): http://www.iana.org/domains/root/db DNS Definições e Características DNS É uma base de dados hierárquica, distribuída para a resolução de nomes de domínios em endereços IPs e vice-versa. Vantagens Não existe repositório único de informações. Simplifica a utilização da Internet, convertendo nomes simbólicos em seus respectivos endereços lógicos (ip´s) que são únicos. Consulta reversa, converter endereços lógicos (ip´s) em nomes simbólicos. Base para o funcionamento de outros serviços, como e-mail, web, ftp, ssh, etc. Tolerância a faltas (servidores DNS primários e secundários). ... DNS Hierarquia organizacional (1º e 2º nível, mapeamento inverso) DNS Clientes Linux (bind) Fazem uso de uma biblioteca de funções chamada resolver. Esta biblioteca é invocada pelos aplicativos do sistema sempre que se fizer necessário a tradução. Define-se qual a ordem de pesquisa. =>Conteúdo do arquivo /etc/host.conf order hosts,bind Define-se qual os nameservers e opcionalmente as diretivas domain e search. =>Conteúdo do arquivo /etc/resolv.conf nameserver IP_master nameserver IP_slave domain nome_do_dominio search sufixo1 sufixo2 DNS Exemplo de um Processo de Resolução de Nomes 1 - O Host consulta o servidor de nomes sobre um determinado endereço, no caso, “dominio.com.br”. 2 - O DNS recebe a consulta, verifica em seu cache, se encontrar, responde para o resolver o IP do domínio. Senão, consulta os servidores de nomes raiz (root name servers), o “.”. 3 - Obtida a lista de servidores raiz, consulta os domínios de primeiro nível responsáveis pelo “.br”. 4 - Recebendo a resposta do servidor de primeiro nível “.br”, o servidor de nomes consulta o próximo domínio “.com.br”. É retornado a lista de servidores responsáveis pelos domínios de segundo nível “com.br”. 5 - A consulta do domínio procurado (dominio.com.br) é enviada apenas para os DNS responsáveis pelos domínios “.com.br”, recebendo o IP do servidor responsável pelo domínio. De posse do IP, é direcionado ao serviço desejado, ou seja, Web, FTP, e-mail, … DNS Servidores DNS Interage com outros servidores na Internet para obter informações solicitadas por seus clientes. Mantém cache de consultas. Podem ser responsáveis por uma ou mais zonas de um domínio. Podem responder por mais de um domínio. Podem ser primários e/ou secundários ao mesmo tempo, desde que sejam de domínios diferentes. Tem como ponto de partida os servidores root hints (servidores raiz) disponíveis na Internet (root name servers). => http://www.internic.net/domain/named.root Exemplo de localização na distribuição Fedora. => Arquivo /var/named/named.ca DNS Tipos de Servidores DNS Primary Server (Authoritatives) Autoridade sobre os dados de um domínio. Informações obtidas de arquivos locais. Fonte oficial de informações a respeito de um domínio. Secondary Server (Authoritatives) Autoridade sobre os dados de um domínio, mas os têm replicados, podendo atender uma requisição de um resolvedor. Transferem um conjunto completo de informações (Zonas) a partir do servidor primário. Cache Server (Name caching, Non-Authoritatives) Possui dados derivados das últimas requisições. Mantém nomes recentemente resolvidos. Obtém respostas para solicitações do servidor de nome a partir de outros servidores de nomes. Não é fonte oficial de informações a respeito de um domínio. DNS Formas de Resolução de Servidores DNS Resolução Interativa Este tipo de consulta é realizada pelos servidores primários e secundários. Consulta distribuída não é automática. Devolve o endereço de servidores que podem resolver. O servidor de nomes retorna ao cliente a melhor resposta que conhece. Interação usual (Servidor -> Servidor). Resolução Recursiva O servidor é configurado para trabalhar como “caching”. Consulta distribuída automática. Devolve a resolução. O servidor de nomes interrogado é encarregado de obter os dados solicitados. Interação usual (Cliente -> Servidor). Possível desconforto: mascaramento de servidores ... DNS Definições e Características Zonas (zone) Informações contidas em um arquivo do banco de dados do DNS, relativas a uma rede sobre o qual um servidor de DNS tem autoridade. Parte de um domínio pela qual um servidor é responsável. Uma zona é separadamente. uma sub-árvore de um domínio administrado Autoridade de uma zona Primary Server Secondary Server Obtenção de informações Zone Transfer (secundário obtém informações/load do servidor primário) Atualizações periódicas ... DNS Servidor Linux (named) Exemplo de localização na distribuição Fedora. => Conteúdo do Arquivo (principal de configuração) /etc/named.conf 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; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; DNS Servidor Linux (named) =>Conteúdo do Arquivo (principal de configuração) /etc/named.conf, continuação ... logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; DNS Resource Record Registros de um Servidor DNS (banco de dados DNS). Grafia independente da caixa do caractere (maiúsculas ou minúsculas). Início na primeira coluna. Notação Genérica <nome> <ttl> IN <tipo> <dados> nome: nome do objeto do domínio (host ou domínio). ttl: time-to-live. Tempo em segundos que a informação deve permanecer no cache. IN: Internet DNS Resource Record (classe Internet). tipo: define o tipo do registro. dados: informação específica ao tipo do registro. DNS Tipos de Registros no banco de dados DNS DNS Registro SOA (Start of Authority) Usualmente, o primeiro registro de um arquivo de domínio. Cada domínio tem um SOA. zone ttl IN SOA origin contact (serial ;Serial refresh ;Refresh retry ;Retry expire ;Expire minimum) ;Minimum zone: nome da “zone”. O “@” referência o domínio previamente definido no arquivo “named.conf”. ttl: time to live. origin: nome do servidor primário para o domínio. contact: endereço eletrônico do administrador do domínio. DNS Registro SOA (Start of Authority) serial: número serial (ano, mês, dia, versão). refresh: indica de quanto em quanto tempo o servidor secundário deve contactar o servidor primário para verificar se houveram mudança nos dados do domínio para o qual é secundário. retry: indica quanto tempo o servidor secundário deve aguardar para tentar novamente uma conexão com o servidor primário quando houver uma falha na conexão. expire: tempo máximo em segundos que o servidor secundário poderá ficar com os dados sem um “refresh”. Após este tempo decorrido sem atualização, o servidor secundário para de responder requisições para a zona específica. minimum: indica o valor mínimo (TTL/time to live) em segundos dos registros que podem ficar no cache de outro servidor. DNS Registro NS (Name Server) Define a hierarquia de domínios (um subdomínio deve se registrar no domínio de mais alto nível). domain ttl IN NS server domain: nome do domínio. O “@” referência o domínio previamente definido no arquivo “named.conf”. ttl: time to live. server: nome do servidor que atende a este domínio. DNS Registro A (Address) Utilizado para converter um nome em endereço lógico (IPv4). AAAA, endereço IPv6 ... É necessário sempre que o servidor de nomes encontra-se dentro do domínio sobre o qual é autoridade. Pode existir um número de host fora do domínio do SOA, no caso do endereço de um servidor de um subdomínio. host ttl IN A addr host: nome do host, geralmente é relativo ao domínio corrente (origin, server). ttl: time to live. addr: endereço IP. DNS Registro MX (Mail Exchanger) Utilizado para o direcionamento de correio eletrônico. name ttl IN MX preference host name: nome do host ou domínio que as mensagens eletrônicas serão direcionadas. ttl: time to live. preference: número que indica qual o servidor tem prioridade no encaminhamento de mensagens. host: nome do servidor de “e-mail”. DNS Registro CNAME (Canonical Name) Servem para atribuir diversos nomes diferentes a um mesmo endereço IP. Define um “alias” para um nome. nickname ttl IN CNAME host nickname: alias (apelido). ttl: time to live. host: nome previamente definido, por exemplo, origin, server ... DNS Registro PTR Utilizado para converter um endereço lógico em nome. DNS Reverso ... name ttl IN PTR host name: número dentro do domínio in-addr.arpa. Usualmente, último octeto do endereço IP. ttl: time to live. host: nome do host (ou domínio). DNS Configuração de Subdomínio Necessário quando se delega autoridade para um servidor de nomes que reside dentro do domínio delegado. Delegação de Subdomínios. Registro a ser incluído … subdominio.dominio.com.br. IN NS ns.subdominio.dominio.com.br. ns.subdominio.dominio.com.br. IN A Endereço_IP DNS Ferramenta de Análise (nslookup) Ferramenta utilizada para interrogar servidores de nomes. Distribuída juntamente com o software “bind”. Pode ser utilizada na linha de comando (nslookup dominio.com <enter>) ou através do modo interativo (nslookup <enter>). Exemplos de comandos úteis (modo interativo): server name_server (domain) ou endereço_ip -> muda o servidor DNS a ser questionado. set type=type -> muda o tipo de registro (SOA, NS, A, MX, Any, …). set domain=domain -> muda o nome do domínio pesquisado. set all set query=soa, ns, a, mx, any, ... domain exit -> sai do modo interativo. DNS Ferramenta de Análise (dig) Ferramenta para consultas em servidores DNS. =>Substitui o comando nslookup … Exemplos de comandos úteis em Distribuições Linux: dig @Endereço_IP domínio tipo_de_registro dig domínio dig domínio tipo_de_registro Maiores informações … man dig dig -h DNS Ferramenta de Análise (host) Ferramenta para consultas em servidores DNS, através de nomes de hosts e endereços IP´s. =>Dica, testar DNS reverso … Exemplos de comandos úteis: host domínio host Endereço_IP host -t tipo_de_registro domínio DNS Ferramenta de Análise (whois) Utilizado para descobrir a quem pertence um determinado endereço IP ou domínio (host). Servidores (whois) alternativos podem ser especificados (/etc/whois.conf), caso omitido, a consulta (padrão) será realizada através do servidor whois … => Server “whois.networksolutions.com” => http://who.is/whois/crsnic.net =>Pode-se fazer consultas diretamente no site http://registro.br/, na opção “pesquisar”, maiores informações … Exemplos de comandos úteis: whois domínio whois Endereço_IP DNS Atividades 1. Descreva os comandos necessários (passos a serem realizados no servidor) para implementar um servidor DNS primário, satisfazendo os seguintes quesitos: a) Endereço IPv4 (LAN do laboratório) do servidor DNS primário, “X.X.X.1/24”. b) Nomes dos arquivos envolvidos (BD DNS, Zone e RevZone), “seunome.zone” e “seunome.revzone”. c) Nome do domínio, “seunome.com.br”. d) Resposta atribuída pelo servidor DNS reverso, “ns.seunome.com.br”. e) Permitir os seguintes alias para os serviços, “www.seunome.com.br” e “ftp.seunome.com.br”. f) Nome do servidor de e-mail, “mail.seunome.com.br”. Utilize o seu endereço eletrônico como administrador do domínio. g) Nome do subdomínio, “seusobrenome.seunome.com.br”. 2. Realize os testes de implementação (utilize as ferramentas de análise para testar todos os registros envolvidos) em modo texto e verifique se os resultados obtidos estão condizentes com a atividade (1). 3. Após a implementação em IPv4, migrar o respectivo serviço para IPv6.