(16) dns

39
ADMINISTRAÇÃO DE REDES I - LINUX DNS - Domain Name System Frederico Madeira LPIC-1, LPIC-2, CCNA [email protected] www.madeira.eng.br

Transcript of (16) dns

Page 1: (16) dns

ADMINISTRAÇÃO DE REDES I ­ LINUXDNS - Domain Name System

Frederico MadeiraLPIC­1, LPIC­2, [email protected]

Page 2: (16) dns

Agenda

Visão Geral Implementação

Em LinuxTipos de

Servidores Arquivos de

Config Arquivos de

Zona

Mensagens deLog

Atividades

Page 3: (16) dns

Visão Geral

Page 4: (16) 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

Page 5: (16) 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

Page 6: (16) dns

DNS

Organização semelhante ao filesystem unix

Page 7: (16) dns

DNS

Resolução de nomes de domínios

Page 8: (16) dns

DNS

Consulta a base de dados da IANA – TLD .BR

Page 9: (16) dns

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

Page 10: (16) dns

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)

Page 11: (16) dns

DNS – Root Servers (Servidores raiz)

Page 12: (16) dns

Visão Geral Implementação

Em Linux

Page 13: (16) dns

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.

- 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

Page 14: (16) dns

Visão Geral Implementação

Em LinuxTipos de

Servidores

Page 15: (16) dns

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

Page 16: (16) dns

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

Page 17: (16) dns

Visão Geral Implementação

Em LinuxTipos de

Servidores Arquivos de

Config

Page 18: (16) dns

Arquivos de Configuração

/etc/named.conf

- 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 – Arquivos de Zona / Hosts

Page 19: (16) dns

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

Page 20: (16) dns

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

Page 21: (16) dns

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

//Slavezone "turmalinux.com.br" { type slave; file "slaves/turmalinux.com.br"; masters { 172.16.10.1; };};

// Masterzone "turmalinux.com.br" { type master; file "turmalinux.com.br";

− notify yes;− also-notify { 172.16.19.20;}

allow-update { localhost; }; allow-transfer { ip_slave; }; };

Page 22: (16) dns

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

Page 23: (16) dns

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

Page 24: (16) dns

Visão Geral Implementação

Em LinuxTipos de

Servidores Arquivos de

Config Arquivos de

Zona

Page 25: (16) dns

- 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

Page 26: (16) dns

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 ServerIdentifica o servidor de nomes

de um domínio

AddressMapeia um hostname para um

endereço

PointerMapeia um endereço para um

hostname

Mail ExchangerIdentifica um servidor de correio para um domínio

Canonical NameDefine um alias para um

hostname

Page 27: (16) dns

- 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

Page 28: (16) dns

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

Page 29: (16) dns

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 dominons1 IN A 172.192.10.1ns2 IN A 172.192.10.2mx1 IN A 172.192.10.3mx2 IN A 172.192.10.4www IN CNAME www.terra.com.br.

Page 30: (16) dns

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)

Page 31: (16) dns

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

Page 32: (16) dns

Visão Geral Implementação

Em LinuxTipos de

Servidores Arquivos de

Config Arquivos de

Zona

Mensagens deLog

Page 33: (16) dns

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

Page 34: (16) dns

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

Page 35: (16) dns

Visão Geral Implementação

Em LinuxTipos de

Servidores Arquivos de

Config Arquivos de

Zona

Mensagens deLog

Atividades

Page 36: (16) 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

Page 37: (16) 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

Page 38: (16) 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

DNS

Page 39: (16) dns

ADMINISTRAÇÃO DE REDES I ­ LINUXDNS - Domain Name System

Frederico MadeiraLPIC­1, LPIC­2, [email protected]