Administração de Redes em Software Livre GNU/Linux SERVIDOR DNS Professor:
Acesso a computadores sem que o usuário tenha conhecimento de seu endereço IP. O DNS (Domain Name Server) é um sistema de gerenciamento de nomes hierárquico e distribuído Pertence à camada de aplicação do modelo OSI
Quando a internet ainda era uma ferramenta de uso militar o acesso aos nomes era possível graça a um arquivo de nome hosts.txt Esse arquivo cresceu tanto que chegou ao ponto de causar atraso nas atualizações. Por volta de 1983, o DNS tomou forma para resolver esse problema
Arquivo /etc/hosts [root@cliente-01 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain 200.216.152.71 www.estacio.br Arquivo /etc/resolv.conf [root@cliente-01 ~]# cat /etc/resolv.conf search estacio.br ;Permite fazer consulta curtas para o domínio Nameserver 192.168.1.1 ;IP do servidor de DNS para a máquina Nameserver 8.8.8.8 Ordem de pesquisa: 1)hosts 2) resolv.conf
Funcionamento do DNS Opera segundo duas definições: Examinar e atualizar seu banco de dados. Resolver nomes de servidores em endereços IP. Nomes de hosts residentes em um banco de dados podem ser distribuídos entre servidores múltiplos Por isso, seu tamanho é ilimitado e o desempenho não degrada tanto quando se adiciona mais servidores nele.
Funcionamento do DNS O DNS utiliza servidores primário e secundário. O servidor secundário é uma espécie de cópia do servidor primário Quando não é possível encontrar um domínio através do servidor primário, o sistema tenta resolver o nome através do secundário
Funcionamento do DNS Na Internet, o serviço de nomes usado é o DNS, que apresenta Arquitetura Cliente- Servidor Uma consulta pode envolver vários servidores DNS Caso um servidor não contenha uma referência para a consulta, ele encaminha o pedido para outro servidor
Hierarquia do DNS
DNS Reverso Recurso utilizado para resolver um nome através de um endereço IP Utilizado para garantir a confiabilidade do nome a ser apresentado, conferindo o nome com o endereço IP
DNS NO LINUX Nesta prática vamos configurar um servidor DNS no Linux para resolver solicitações a dois domínios: meusite1.com.br Servidor email: 192.168.0.200 Servidor www: 192.168.0.201 meusite2.com.br Servidor email: 192.168.1.100 Servidor www: 192.168.1.101 meusite3.com.br Servidor email: 192.168.1.100 Servidor www: 192.168.1.101
Instalação do DNS LINUX O servidor DNS mais usado no Linux é o Bind O Bind é um software open-source, desenvolvido pelo ISC (Internet Software Consortium) e é largamente utilizado não apenas no Linux, mas em sistemas Unix em geral, incluindo o FreeBSD e o Mac OS X, ou seja, praticamente todos os sistemas operacionais com exceção do Windows. Instalando o Bind no Centos. Como root execute: # yum install bind
Instalação do DNS LINUX O principal arquivo de configuração do Bind é o "/etc/named.conf" Por padrão o Bind já vem configurado para trabalhar como um servidor DNS de cache, que pode ser usado tanto localmente quanto por outros PCs da rede local. Bastando apenas configurá-lo no arquivo /etc/resolv.conf dos clientes. Iniciando o Serviço de DNS Cache # service named start Edite o arquivo /etc/resolv.conf e defina a sua própria maquina como Servidor de DNS: nameserver 127.0.0.1
Arquivo /etc/named.conf O principal arquivo de configuração do Bind é o "/etc/named.conf" Por padrão o Bind já vem configurado para trabalhar como um servidor DNS de cache, que pode ser usado tanto localmente quanto por outros PCs da rede local. Bastando apenas configurá-lo no arquivo /etc/resolv.conf dos clientes.
Inclusão de uma Zona (Domínio) Passo 1 Adicionar a zona (domínio) no arquivo /etc/named.conf zone "meusite1.com.br" { }; type master; file "db.meusite1.com.br"; Passo 2 Criar um arquivo referente a zona no diretório /var/named/db.meusite1.com.br $TTL 86400 @ IN SOA meusite1.com.br. suporte.meusite1.com.br. ( 1 ;serial 43200 ;refresh 900 ;retry 2419200 ;expire 3600) ;default_ttl www IN A 192.168.0.201
Adicionando uma Zona /etc/named.conf Sintaxe de uma zona: zone Nome_da_zona_(dominio) { //Abre chaves type master; // Tipo da zona, master este servidor respoderá de foma autoritativa por todas as consultas feitas ao domínio file nome_arquivo_zona ; // Nome do arquivo de configuração da zona. //NÃO ESQUECER OS PONTO E VÍRGULAS. }//Fecha Chave
Inclusão de uma Zona (Domínio) Edite o arquivo /etc/named.conf ao final do arquivo inclua as seguintes linhas : zone "meusite1.com.br" { type master; file "db.meusite1.com.br"; };
Sintaxe do arquivo da Zona (Domínio) ;CABEÇALHO $TTL 86400 // Tempo que a informação da zona deve permanecer armazenada em cache dos servidores de DNS @ IN SOA ns1.meusite1.com.br. suporte.meusite1.com.br. ( //é a linha de definição da autoridade do domínio. //Define o Nome da zona, servidor de DNS e e-mail do responsável. //Nome da zona = normalmente utiliza-se @,@ pois é a referência ao nome original da zona definido no arquivo /etc/named.conf. DNS e //IN (classe) - Referência a Internet. //Nome do servidor = parâmetro MNAME referente ao nome do servidor deve ser finalizado por ponto.. // E-mail do responsável = parâmetro RNAME que indica o e-mail do responsável pela zona.
Sintaxe do arquivo da Zona (Domínio) ;CABEÇALHO $TTL 86400 // Tempo que a informação da zona deve permanecer armazenada em cache dos servidores de DNS @ IN SOA ns1.meusite1.com.br. suporte.meusite1.com.br. ( 1 ; //serial = Número serial que indica a versão da zona, este número deve ser incrementado a cada alteração no arquivo de zona, alguns administradores usam a data e qual é o número da configuração. Exemplo 2015032001, ou seja 20/03/2015 e 01 por ser a primeira configuração. 43200 ;//refresh = informa ao servidor secundário de DNS quando deverá ser atualizada a informação da zona. Também é configurado em segundos e o recomendado é doze horas, ou seja 43200 segundos. 900 ;//retry - define o tempo entre cada tentativa (sem sucesso) de contato entre o servidor de DNS secundário e o primário. 2419200 ; //expire = usado apenas por servidores de DNS secundário. Tem como função indicar quando o servidor secundário parará de responder pela zona e contatará o servidor principal. 3600) ;//O Minimum é o tempo em segundos que qualquer resolvedor pode deixar em cache um erro do tipo NAME ERROR = NXDOMAIN (Domínio não existente na Internet)
Sintaxe do arquivo da Zona (Domínio) REGISTROS Um DNS é um banco de dados repartido que contém registros, chamados RR (Resource Records), relativos aos nomes de domínios. Os registros armazenam informações de uma maneira estruturada. Todos os registros do DNS tem uma estrutura padrão, com um conjunto determinado de campos de informação. Até podemos fazer a analogia com uma tabela de um banco de dados, no modelo relacional de dados, onde cada registro é determinado por um conjunto de campos de informação.
Sintaxe do arquivo da Zona (Domínio) REGISTROS
Sintaxe do arquivo da Zona (Domínio) REGISTROS EXEMPLOS @ IN NS ns1.meusite1.com.br. ; aponta qual servidor DNS é reponsável pelo domínio @ IN A 192.168.0.200 ; Faz o mapeamento de um nome para um endereço IP server01 IN A 192.168.0.200 ; Faz o mapeamento de um nome para um endereço IP www IN CNAME server01.meusite1.com.br.;faz um mapeamento parade um nome para um nome de um servidor. mail IN A 192.168.0.201; Faz o mapeamento de um nome para um endereço IP mail2 IN A 192.168.0.202; Faz o mapeamento de um nome para um endereço IP @ IN MX 05 mail1.meusite1.com.br. ;especifica o nome e a preferencia do servidor de e-mail. @ IN MX 10 mail2.meusite1.com.br. ;especifica o nome e a preferencia do servidor de e-mail.
Criando o arquivo da Zona (Domínio) No diretório /var/named crie um arquivo chamado db.meusite1.com.br ( o mesmo nome do parâmetro file do arquivo /etc/named.conf $TTL 1D @ IN SOA ns1.meusite1.com.br. suporte.meusite1.com.br. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.meusite1.com.br. IN MX 10 mail.meusite1.com.br. ns1 IN A 192.168.0.200 server-01 IN A 192.168.0.200 server-02 IN A 192.168.0.201 mail IN A 192.168.0.201 www IN CNAME server-02.meusite1.com.br. Salve o arquivo e reinicie o BIND (service named restart)
Sintaxe do arquivo da Zona (Domínio) Testando seu servidor DNS: 1- ping os hosts adicionados no seu arquivo de DNS # ping n1.meusite1.com.br # ping www.meusite1.com.br # ping mail.com.br Instalar o pacote bind-utils Executar comando dig # dig www.meusite1.com.br
Sintaxe do arquivo da Zona (Domínio) Testando seu servidor DNS: [root@cliente-01 named]# dig www.meusite1.com.br ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> www.meusite1.com.br ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22134 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.meusite1.com.br. IN A ;; ANSWER SECTION: www.meusite1.com.br. 86400 IN CNAME server-02.meusite1.com.br. server-02.meusite1.com.br. 86400 IN A 192.168.0.201 ;; AUTHORITY SECTION: meusite1.com.br. 86400 IN NS ns1.meusite1.com.br. ;; ADDITIONAL SECTION: ns1.meusite1.com.br. 86400 IN A 192.168.0.200