introdução ao dns - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13dns-col.pdf · 4 o que é...

47
1 Introdução ao DNS Volnys Borges Bernal [email protected] http://www.lsi.usp.br/~volnys Laboratório de Sistemas Integráveis http://www.lsi.usp.br/

Upload: truongdien

Post on 02-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

1

Introdução ao DNS

Volnys Borges [email protected]

http://www.lsi.usp.br/~volnys

Laboratório de Sistemas Integráveishttp://www.lsi.usp.br/

Page 2: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

2

Agenda

o O que é DNS?o Servidores DNSo Requisição DNSo Caching

o Autoritative e Delegated

o Implementações de servidor de DNSo Portas UDP e TCP utilizadas

Page 3: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

3

O que é DNS?

Page 4: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

4

O que é DNS?

o “Domain Name System”o Serviço necessário para todos os computadores que

utilizam a Interneto Serviço que permite a resolução dos nomes de um

domíniov tradução: nome -> IP

v tradução: IP -> nome

o Protocolo DNSv RFC 1034 - Domain Names - Concepts and Facilities

v RFC 1035 - Domain Names - Implementation andSpecification

Page 5: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

5

O que é DNS?

o O funcionamento do protocolo DNS:v Existem dois tipos de entidades:

ï“Resolver”u entidade cliente

u realizam requisições para de resolução denomes/endereços

ï“Name Server”u entidade servidora

u respondem às requisições de resolução de nome/endereço

u são capazes de traduzir nome para IP e vice versa

u é necessário existir no mínimo 2 servidores por domínio

– 1 servidor primário

– 1 ou mais servidores secundários

Page 6: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

6

O que é DNS?

Servidor DNS

Resolver

Resolver

Resolver

Domínio DNS

Resolver

Resolver

o Cliente (resolver) pede uma tradução ao servidor DNS

Page 7: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

7

O que é DNS?

o Parece um serviço simples, mas é complexov Base de dados distribuída pelo mundo

v Um servidor de nomes também pode realizarrequisições para outros “Servidores de nomes”

Page 8: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

8

O que é DNS?

Servidor DNS

Resolver

Resolver

ResolverDomínio DNS

Resolver

Resolver

Servidor DNS

Resolver

o Servidor pede tradução a um outro servidor

Page 9: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

9

O que é DNS?

o Árvore de nomes da Internetv Semelhante a uma hierarquia de arquivos

ïExemplo: “apolo.lsi.usp.br”.

gov edu br

com gov usp

com

lsi

apololua marte

raiz

Page 10: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

10

O que é DNS?

o Nomes do primeiro nívelv com

v edu

v gov

v mil

v net

v org

v arpa

v br

v fr

v us

v .....

Page 11: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

11

O que é DNS?

o Nomev Absoluto ou “Full-qualified domain name” (FQDN)

ïapolo.lsi.usp.br.

v Relativoïapolo

ïapolo.lsi

ïapolo.lsi.usp

ïapolo.lsi.usp.bro Restrições

v Um nó não pode ter dois nós filhos com o mesmo nome

v Nomes são de no máximo de 63 bytes

v Caracteres válidos: “a”-”Z” ”a”-”z” ”0”-”9” “.” “-”

Page 12: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

12

O que é DNS?

o Domínio de nomesv Sub-árvore

.

gov edu br

com gov usp

com

lsi

apolo

domíniolsi.usp.br.

router jujuba

domíniousp.br.

Page 13: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

13

Exemplo

o Pedindo para traduzir um nomev nslookup

apolo.lsi.usp.br

www.lsi.usp.br

exit

o Pedindo para traduzir um endereçov nslookup

143.107.161.220

exit

Page 14: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

14

Exemplo

o Perguntando quais são os “name servers” de umdomíniov nslookup

set q=NS

lsi.usp.br

exit

o Perguntando dados sobre um domíniov nslookup

set q=SOA

lsi.usp.br

exit

Page 15: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

15

Exemplo

o Perguntando quais são os “mail exchangers” de umdomíniov nslookup

set q=MX

lsi.usp.br

exit

Page 16: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

16

Servidores DNS

Page 17: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

17

Servidores DNS

o Existem milhares de servidores de nomes espalhadospelo mundo.

o Podem ser divididos em:v “Root Name Servers”

ïSão os servidores responsáveis pelo domínio da raiz

v Servidores de zona (domínio)

ïSão os servidores dos outros domínios

Page 18: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

18

Servidores DNS

o “Root Name Servers”v Respondem requisições sobre servidores de nomes do

primeiro nível da árvore

v Existem vários “Root Name Servers” espalhados pelomundo

v Quando um servidor local não consegue resolver umdeterminada requisição esta é repassada a um “RootName Server”.

v Fundamental para o serviço DNS: se todos falharemtodas as resoluções na Internet irão falhar

v Os “Name Servers” devem possuir uma lista atualizadade todos os “Root Name Servers”

Page 19: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

19

Servidores DNS

o Para cada domínio Internet são necessários ao menos2 servidores:v um servidor primário

ïservidor que contém o “mapa” do domínio

ïgeralmente localizado no próprio domínio

v um ou mais servidores secundários

ïbuscam do servidor primário os “mapas” do domínio

ïobrigatoriamente em um site diferente do domínio

ïgarante confiabilidade do serviço

Page 20: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

20

Resolvers

Page 21: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

21

Resolvers

o O “resolver” deve ser configurado em cada maquinao Informações necessárias para configurar um resolver:

v domain:

ïdomínio ao qual o nome do computador pertence

v nameservers:

ïservidores DNS que o computador deve contactaru deve ser especificado o endereço de dois servidores DNS

u geralmente os servidores mais próximos

v search

ï lista de domínios ao qual o nome deve ser procuradou Exemplo: “search lsi.usp.br intranet.lsi.usp.br”. Na tradução

do nome terra, será tentado primeiro “terra.lsi.usp.br” e emseguida “terra.intranet.lsi.usp.br”

Page 22: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

22

Requisição DNS

Page 23: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

23

Requisição DNS

Resolver

Name Server

root Name Server

br Name Server

usp Name Server

lsi Name Server

.

br

usp

lsi

au fr

comufrj

2 www.lsi.usp.br ?1

ww

w.ls

i.usp

.br

?

3 br name server

4 www.lsi.usp.br ?

5 usp.br name server6 www.lsi.usp.br ?7 lsi.usp.br name server8 www.lsi.usp.br ?

9 endereço www.lsi.usp.br

9 en

dere

çow

ww

.lsi.u

sp.b

r

feafau

Page 24: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

24

Requisição DNS

o Requisição Recursivav Obriga ao servidor retornar a resposta ou, se não

encontra-la, um erro.

v Para isso, o servidor pode necessitar consultar outrosservidores de nomes

v Normalmente gerada pelos “resolvers”

v Mais complexa de ser tratada

Page 25: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

25

Requisição DNS

o Requisição Interativa (ou não recursiva)v O servidor consulta sua base de dados (inclusive o

cache) para poder responder.

v Não ativa outros servidores de nomes na tentativa deachar a resposta

v Se não puder responder, procura indicar um servidor denomes que possa ter a informação requisitada

Page 26: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

26

Requisição DNS

Resolver

Name Server

root Name Server

br Name Server

usp Name Server

lsi Name Server

1 w

ww

.lsi.u

sp.b

r ?

REC

UR

SIV

A

9 en

dere

çow

ww

.lsi.u

sp.b

r

o Recursiva

Page 27: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

27

Requisição DNS

Resolver

Name Server

root Name Server

br Name Server

usp Name Server

lsi Name Server

www.lsi.usp.br ?

INTERATIVA

br name servero Interativa

Page 28: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

28

Caching

Page 29: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

29

Caching

o Utilizado para diminuir o tempo de resposta de umarequisição ao servidor DNS

o Time-to-Live (TTL)v Define o tempo de vida de uma entrada no cache de

nomes

o Importânciav Uma tradução ip-nome, em uma operação recursiva

pode demorar muito tempo.

v Se já estiver no cache, retorna imediatamente

Page 30: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

30

Autoritative & Delegated

Page 31: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

31

Autoritative

o Autoritative

v Possuir em sua base de dados as informações sobre asresoluções de um determinado domínio

o Não autoritative

v O servidor não possui, em sua base de dados local, asinformações sobre uma resolução,

v Mas, responde pois está em seu cache.

o Problemasv Um servidor de uma zona não está resolvendo como

autoritativeïUm servidor primário ou secundário pode se

considerar não autoritative se existir um erro desintaxe nos mapas das zonas.

Page 32: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

32

Delegated

o Delegated

v Ser indicado por um servidor de nível superior pararesponder a um subdomínio seu

Page 33: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

33

Delegação de domínio

o Para verificar se seu domínio esta delegado:v domínio direto:

ïnslookup -type=soa <domínio>

v domínio reverso (domínio a.b.c.*)

ïnslookup -type=soa c.b.a.in-addr.arpa

ïnslookup -type=soa b.a.in-addr.arpa

ïnslookup -type=soa a.in-addr.arpa

o Exemplosv nslookup -type=soa lsi.usp.br

v nslookup -type=soa 161.107.143.in-addr.arpa

Page 34: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

34

Autoritative x Delegated

o Autoritative e Delegated

v aspectos totalmente distintos

v porém relacionados

o Um servidor (primário ou secundário) de uma zona XYZdeve ser sempre:v autoritative para a zona XYZ

ïou seja, ser quem fornece os mapas para a zona

v delegated para a zona XYZ

ïou seja, os servidores de nível superior na hierarquiade domínio delegam a ele a tarefa de responder pelazona

Page 35: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

35

Autoritative x Delegated

o Quando ocorrem problemasv (1) servidor autoritative e não delegated para a zona

XYZ

ïo servidor está fornecendo os mapas da zona XYZcuja resolução não está delegada a ele

ïPossíveis causas:u problema nos servidores de níveis superiores (por não

delegarem a zona)

u ou, este servidor não deveria estar fornecendo asresoluções da zona XYZ

– afeta somente as máquinas locais

Page 36: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

36

Autoritative x Delegated

o Quando ocorrem problemas (cont.)v (2) não autoritative, mas delegated para a zona XYZ

ï lame delegationï Isto é um erro de configuração

ïPossíveis causas:u Erro no servidor da zona XYZ

– O servidor da zona XYZ esta mal configurado

– não contém as entradas NS configuradas de formacorreta (“NS XYZ.abc.kmp.”)

u Erro no servidor de nível superior

– Os servidores de nível superior não deveriam estardelegando a zona XYZ para o servidor

Page 37: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

37

Implementação de servidores DNS

Page 38: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

38

Implementações de servidores DNSo Bind

v “Berkeley Internet Name Domain”

v Mantido pela ISC (“Internet Software Consortium”)v Implementação mais utilizada

v Livre para uso, redistribuição e incorporação em outrosprodutos

v Site: http://www.isc.org/bind

v Versões

ïBind v4.x (com tendência a ser descontinuado)u Não possui várias configurações de segurança que são

suportadas pela versão 8

ïBind v8.x (primeira versão em maio 1997)

Page 39: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

39

Implementações de servidores DNS

o Acesse o site www.isc.org e verifique qual a versãomais recente do programa Bindv Versão mais recente do bind v8: ___________________

o Perguntando qual a versão do programa DNS utilizado:v nslookup

set class=chaos

set q=txt

version.bind

exit

Page 40: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

40

Portas UDP e TCP utilizadas

Page 41: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

41

Portas UDP e TCP utilizadas

o Requisições entre cliente (resolver) e servidor DNS

v Requisições curtas:

ïRequisição: UDP alto -> 53

ïResposta: UDP 53 -> alto

v Requisições longas

ïRequisição: TCP alto -> 53

ïResposta: TCP 53 -> alto

Page 42: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

42

Portas UDP e TCP utilizadas

o Requisição (recursiva) entre um servidor DNS bind 4.xe outro servidor DNS

v Requisições curtas

ïRequisição: UDP 53 -> 53

ïResposta: UDP 53 -> 53

v Requisições longas, servidor bind 4.x

ïRer mal ment : TCP 53 -> 53

ïResposta: TCP 53 -> 53

Page 43: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

43

Portas UDP e TCP utilizadaso Requisição (recursiva) entre um servidor DNS bind 8.x

e outro servidor DNSv Requisições curtas

ïRequisição: UDP alto -> 53

ïResposta: UDP 53 -> alto

v Requisições longas, servidor bind 4.x

ïRequisição: TCP alto -> 53

ïResposta: TCP 53 -> alto

v OBS: Bind 8.x permite alterar endereço e porta UDP

ï“query-source address * port *” (default)u utiliza qualquer endereço da máquina e porta alta

ï“query-source address 143.107.161.220 port 53”u utiliza através da interface 143.107.161.220 com porta 53

Page 44: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

44

Portas UDP e TCP utilizadas

Resolver

Name Server(bind 4.x)

root Name Server

br Name Server

usp Name Server

lsi Name Server

53

53

53

53

53 53

altoalto

Page 45: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

45

Referências

Page 46: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

46

Referências

o Livros:v DNS and BIND

Albitz, P; Liu, Cricket.

O’Reilly & Associates, Inc

v Internet Security - Professional Reference

Autikns, Derek et. all

New Riders

o Artigos:v Name Server Operations Guide for BIND, release 4.9.5.

Vixie, Paul.

Page 47: Introdução ao DNS - lsi.usp.brlsi.usp.br/~volnys/courses/tecredes/pdf/13DNS-col.pdf · 4 O que é DNS? o “Domain Name System ” o Serviço necessário para todos os computadores

47

Referências

o Internet RFC’s:v RFC 1034 - Domain Names - Concepts and Facilities

v RFC 1035 - Domain Names - Implementation andSpecification

v RFC 1033 - Domain Administrator Guide

v RFC 1713 - Tools for DNS debugging

o Sites:v www.isc.org/