servredes - aula 10 - dns aplicado ao linux - bind.pdf

28
DNS – Domain Name System BIND – Servidor DNS no GNU/Linux Serviços de Rede – UNATEC prof: Bruno Roberto V. Castro [email protected]

Upload: antonio-higino-manoel-machado

Post on 23-Jun-2015

698 views

Category:

Documents


1 download

DESCRIPTION

Uploaded from Google Docs

TRANSCRIPT

Page 1: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

DNS – Domain Name System

BIND – Servidor DNS no

GNU/Linux

Serviços de Rede – UNATEC

prof: Bruno Roberto V. [email protected]

Page 2: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

O DNS no Gnu/Linux

� O Servidor DNS no GNU/Linux é o maisfamoso no mundo TCP/IP. É chamado de BIND.

� BIND = Berkeley Internet Name Domain� O acrônomo em questão, significa uma

implementação dos principais componentes de um sistema de nomes de domínio

Page 3: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

BIND

� Soluções que compõem o BIND:

� Um servidor de sistemas de nomes de domínio� Uma biblioteca de sistemas de nomes de domínio� Ferramentas para verificar a correta operação de

um servidor DNS (bind-utils)

Page 4: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

BIND no Conectiva Linux 10

� Pacotes:

� bind� bind-devel� bind-libs� bind-utils

� O BIND distribuído no Conectiva 10, é:� BIND versão 9.2.3

� Help pode ser encontrado em “man named”

Page 5: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

BIND no Debian 4.0

� Pacotes:

� bind9� bind9-host� bind9-doc

� O BIND distribuído no Debian 4.0, é:� BIND versão 9.3.4-2

� Help pode ser encontrado em “man named”

Page 6: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Principais Arquivos do BIND

(caminhos válidos para o Debian 4.0)

� Log’s serão escritos em:� “/var/log/syslog”

� Arquivo principal de configuração:� “/etc/bind/named.conf”

� /etc/bind/named.conf.options� /etc/bind/named.conf.local

� Diretório padrão dos arquivos de zona:� “/var/cache/bind/”

� Script de Inicialização (“Starter”):� “/etc/init.d/bind9 (start | stop | restart)”

brunocastro:/etc/bind# ls

db.0 db.255 db.local named.conf

named.conf.options zones.rfc1918

db.127 db.empty db.root named.conf.local

rndc.key

Page 7: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

BIND – Analisando os “Log’s”/var/log/syslog

� Apr 26 14:00:33 central named[28323]: starting BIND 9.2.3 -u named -t /var/named� Apr 26 14:00:33 central named[28323]: using 1 CPU� Apr 26 14:00:33 central named[28323]: loading configuration from '/etc/named.conf'� Apr 26 14:00:33 central named[28323]: no IPv6 interfaces found� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface lo, 127.0.0.1#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth0, 10.1.0.198#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth0:0, 10.0.0.252#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth1, 200.16.158.195#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth1:0, 200.16.158.204#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth1:1, 200.16.158.194#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth1:2, 200.16.158.240#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth1:3, 200.16.158.208#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface eth2, 192.168.254.1#53� Apr 26 14:00:33 central named[28323]: listening on IPv4 interface tun0, 192.168.127.1#53� Apr 26 14:00:33 central named[28323]: command channel listening on 127.0.0.1#953� Apr 26 14:00:33 central named[28323]: zone 10.in-addr.arpa/IN: loaded serial 2006030803� Apr 26 14:00:33 central named[28323]: zone 0.0.127.IN-ADDR.ARPA/IN: loading master file 127.0.0: file not found� Apr 26 14:00:33 central named[28323]: zone academiadegestaofiscal.com.br/IN: loaded serial 2005121201� Apr 26 14:00:33 central named[28323]: zone academiasim.com.br/IN: loaded serial 2005121201� Apr 26 14:00:33 central named[28323]: dns_master_load: sec/andoape.com.br:13: minasape.com.br: not at top of zone� Apr 26 14:00:33 central named[28323]: zone andoape.com.br/IN: loading master file sec/andoape.com.br: not at top of zone� Apr 26 14:00:33 central named[28323]: zone andoape.com.br/IN: saved 'sec/andoape.com.br' as 'sec/db-XXARyInU'� Apr 26 14:00:33 central named[28323]: zone contabilidadepublica.com.br/IN: loaded serial 2005121201

Page 8: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

O arquivo principal de configuração

“/etc/bind/named.conf” – Debian 4.0 – Bind 9

// This is the primary configuration file for the BIND DNS server named.//// Please read /usr/share/doc/bind9/README.Debian.gz for information on the// structure of BIND configuration files in Debian, *BEFORE* you customize// this configuration file.//// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root serverszone "." {

type hint;file "/etc/bind/db.root";

};

// be authoritative for the localhost forward and reverse zones, and for// broadcast zones as per RFC 1912

zone "localhost" {type master;file "/etc/bind/db.local";

};

zone "127.in-addr.arpa" {type master;file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" {type master;file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" {type master;file "/etc/bind/db.255";

};

// zone "com" { type delegation-only; };// zone "net" { type delegation-only; };

// From the release notes:// Because many of our users are uncomfortable receiving undelegated// answers from root or top level domains, other than a few for whom // that behaviour has been trusted and expected for quite some length // of time, we have now

include "/etc/bind/named.conf.local";

Arquivo de zona quearmazena os “root-servers”

Page 9: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

named.conf.local e named.conf.options

Debian 4.0 – Bind 9

brunocastro:/etc/bind# cat named.conf.options

options {directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want// to talk to, you might need to uncomment the query-source// directive below. Previous versions of BIND always asked// questions using port 53, but BIND 8.1 and later use an unprivileged// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable// nameservers, you probably want to use them as forwarders.// Uncomment the following block, and insert the addresses replacing// the all-0's placeholder.

// forwarders {// 0.0.0.0;// };

auth-nxdomain no; # conform to RFC1035listen-on-v6 { any; };

};

brunocastro:/etc/bind# cat named.conf.local

//// Do any local configuration here//

// Consider adding the 1918 zones here, if they are not used // in your organization//include "/etc/bind/zones.rfc1918";

zone “loucademiadepolicia.com.br" {

type master;file “loucademiadepolicia.com.br";

};

zone “zejaozao.com.br" {

type master;file “zejaozao.com.br";

};

Diretorio Padrão dos“zone files”

Zona configurada para o domínio “loucademiadepolicia.com.br”

Page 10: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Arquivo de “Root-Servers” – “db.root”

“/etc/bind/db.root”

. 3600000 IN NS A.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4;; formerly NS1.ISI.EDU;. 3600000 NS B.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107;; formerly C.PSI.NET;. 3600000 NS C.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12;; formerly TERP.UMD.EDU;. 3600000 NS D.ROOT-SERVERS.NET.D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90;; formerly NS.NASA.GOV;. 3600000 NS E.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10;; formerly NS.ISC.ORG;. 3600000 NS F.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241;; formerly NS.NIC.DDN.MIL;

. 3600000 NS G.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4;; formerly AOS.ARL.ARMY.MIL;. 3600000 NS H.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53;; formerly NIC.NORDU.NET;. 3600000 NS I.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17;; temporarily housed at NSI (InterNIC);. 3600000 NS J.ROOT-SERVERS.NET.J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10;; housed in LINX, operated by RIPE NCC;. 3600000 NS K.ROOT-SERVERS.NET.K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129;; temporarily housed at ISI (IANA);. 3600000 NS L.ROOT-SERVERS.NET.L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12;; housed in Japan, operated by WIDE;. 3600000 NS M.ROOT-SERVERS.NET.M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33

Page 11: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Arquivo de Zona do Domínio:

loucademiadepolicia.com.br - “/var/cache/bind/oucademiadepolicia.com.br.zone”

@ IN SOA ns.warner.com.br. Admin.warner.com.br. (2005121301 ; serial1H ; refresh15 ; retry14D ; expire12H ; default_ttl)

@ IN NS ns.loucademiadepolicia.com.br.@ IN NS ns2. loucademiadepolicia.com.br.@ IN MX 10 mail.warner.com.br.sif IN CNAME www.www IN A 200.16.158.220www.tiroaoalvo IN A 200.16.158.220@ IN A 200.16.158.220

Registro - SOA

Registros de Autoridade - NS, MX, A, CNAME, etc…..

Page 12: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Entendendo o SOA

� O registro SOA é o preâmbulo para todos os arquivos de zona

� Ele descreve a zona, sua origem, quem é o responsável por seu conteúdo e qual a versão do arquivo de zona (serial: 1)

� Também descreve demais campos, tais como: Atualização, Tentativas, Expiração e TTL

Page 13: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Entendendo o Registro SOA

Start Of Authority

� Todo Domínio Configurado em um Servidor DNS possuí o “SOA”

@ IN SOA nameserver.place.dom. postmaster.place.dom. ( 1 ; Número de Série - número de revisão3600 ; refresh [1h] – Tempo renovação 600 ; retry [10m] – Tempo de nova tentativa 86400 ; expire [1d] – Tempo de morte do arquivo 3600 ) ; min TTL [1h] - Tempo de vida em cache

Source Host – Host aonde o arquivo de Zona foi originado

Contact Email – Email do Administrador (Colocar . No lugar do @)

Page 14: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Entendendo os Registros NS e MX

� NS deve especificar o endereço completo (FQDN) do servidor DNS responsável pelo Domínio� Exemplo:

NS ns.giulio.com.

� MX deve especificar o endereço do SERVIDOR DE EMAIL responsável pelo Domínio em Questão� Exemplo:

MX 10 mail.linux.bogus.

Page 15: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Tipos de Hosts para se configurar no

Arquivo de Zona

� A� Registros do TIPO A, especificam nomes (hostnames)

atribuídos à endereços IP´s daquele domínio� Ex: mail A 192.168.196.4

Significa: mail.linux.bogus

� CNAME� Registros do TIPO CNAME, são “Aliases” de outros nomes

(hostnames) dentro daquele domínio� Ex: mail5 CNAME mail� Significa: mail5.linux.bogus

� Que é igual à: mail.linux.bogus

Page 16: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Tabela de Registros para “Zone Files”

Registro de texto que permite ao administrador inserir texto arbitrariamenteem um registro DNS. Este tipo de registro e muito utilizado porservidores de “Black Lists”. DNSBL (DNS-based Blackhole List) para filtragem de SPAM.. Outro exemplo de uso é em cima de VPN, aonde pode-se requerir um registro TXT para definir umachave que será utiliza nos clientes.

TXT (Text)

Registro de servicios que especifica informações sobre serviços disponíveisatravés de domínio.. Protocolos como SIP (Session Initiation Protocol) e XMPP (Extensible Messaging and Presence Protocol) podem requerir registros SRV na zona paraproporcionar informações aos clientes.

SRV (Service)

Registro de início de autoridade – START OF AUTHORITYSOA (Start of Authority)

Registro de servidor de nomes que serve para definir uma lista de servidoresde nomes que respondem para tal domínio.

NS (Name Server)

Registro de apontador que resolve direções IPv4 para determinadosnomes. Utilizado em zonas reversas.

PTR (Pointer)

Registro de servidor de correio que serve para definir um ou mais endereçosde servidores de email para um determinado domínio. Assim como a prioridade.

MX (Mail Exchanger)

Registro de nome que permite redirecionar um nome para outro nome ouFQDN.

CNAME (Canonical Name)

Registro de direção que resolve um nome em um endereço IPv6 de 128 bits.

AAAA

Registro de direção que resolve um nome em um endereço IPv4 de 32 bits.

A (Address)

DescriçãoTipo de Registro.

Page 17: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Mais opções no “named.conf.local”

Opções na definição de Zonas

zone “dominiopodrasso.com.br" {type master;file “dominiopodrasso.com.br";allow-update { key centralkey; };allow-query {

127.0.0.1;10.0.0.0/8;200.16.158.192/26;

};allow-transfer{

200.16.158.203;};

};

Permite “dynamic” updatepara a chave especificada

Somente estas redes especificadasirão conseguir fazer resoluções ou“query’s” neste domínio

Ativa replicação do “zone file” para o servidorespecificado, SLAVE (secundário)

Page 18: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Especificando uma zona em um servidor

SLAVE (Secundário)

zone "academia.org.br" {

type slave;file "sec/academia.org.br";

masters{

200.16.158.203;};

};

Page 19: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Log’s de um SLAVE recebendo

notificaçõesApr 26 18:19:58 central named[10861]: received notify for zone 'gasim.com.br'Apr 26 18:19:58 central named[10861]: zone gasim.com.br/IN: transferred serial

2006042502Apr 26 18:19:58 central named[10861]: transfer of 'gasim.com.br/IN' from

200.165.58.203#53: end of transferApr 26 18:19:58 central named[10861]: zone gasim.com.br/IN: sending notifies

(serial 2006042502)Apr 26 18:19:59 central named[10861]: received notify for zone 'nandrade.com.br'Apr 26 18:19:59 central named[10861]: received notify for zone

'gasiminterno.com.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'contublica.com.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'netgv.com.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'grupo.srv.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'si.com.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'lrf.inf.br'Apr 26 18:19:59 central named[10861]: received notify for zone 'gestaofiscal.org.br'

Page 20: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Reverso ou “Zona Reversa”

� Geralmente, é o aspecto de configuração que mais gera dificuldades

� Porém, é simples de ser configurado e torna-se cada vez mais importante a sua configuração

� É usada para encontrar ou obter o nome de uma máquina (hostname), através de um endereço IP (ao contrário da operação normal de um DNS, por isto, o nome “Reverso”)

Page 21: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Reverso ou “Zona Reversa”

� Algumas pessoas afirmam que a pesquisa de mapeamentos reversos são importantes apenas para os servidores, ou ainda que não são importantes de forma alguma

� Na verdade, muitos servidores de email, ftp, http, etc..., não aceitam mais conexões de máquinas sem “reverso DNS” configurado

Page 22: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Configurando o Reverso – named.conf.local

200.16.158.0/24 “/etc/bind/named.conf.local”

Exemplo para definição de “Zona Reversa” para o range:

200.16.158.0/24

zone "158.16.200.in-addr.arpa" {

type master; file “/etc/bind/158.16.200.in-addr.arpa.zone";

};

Zona Reversa configurada para o range200.16.158.0/24

Parâmetro padrão para especificaçãode Zona Reversa em endereços ipv4

Page 23: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

O arquivo de Zona para o range

200.16.158.0/24 - “/var/cache/bind/158.16.200.in-addr.arpa.zone”

@ IN SOA ns.warner.com.br. Admin.warner.com.br. (2006050401 ; serial1H ; refresh15 ; retry14D ; expire12H ; default_ttl)

@ IN NS ns.warner.com.br.@ IN NS ns2.warner.com.br.

1 IN PTR router.loucademiadepolicia.com.br.2 IN PTR wwwserver.loucademiadepolicia.com.br.220 IN PTR www.loucademiadepolicia.com.br.250 IN PTR interno.loucademia.

Page 24: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Exemplo de um Domínio de Uso

interno....

Page 25: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Exemplo 2 – named.conf – configurando um

domínio “interno” com reverso p/ 10.0.0.0/8zone “interno" {

type master;file “interno";allow-query {10.0.0.0/8;};allow-transfer{

10.0.0.22;};

};

zone "10.in-addr.arpa" {type master;file "10.in-addr.arpa.zone";

allow-query {10.0.0.0/8;

};allow-transfer{

10.0.0.22;};

};

Page 26: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Exemplo 2 – Arquivo de Zona do domínio

“interno”- Arquivo de Zona: interno.zone@ IN SOA ns.interno. Admin.interno. (

2006050401 ; serial1H ; refresh15 ; retry14D ; expire12H ; default_ttl)

@ IN NS ns.interno.@ IN NS ns2.interno.

servidor1 IN A 10.0.0.1servidor2 IN A 10.0.30.3servidor98aa IN A 10.0.0.98servidor115vale IN A 10.0.0.115

Page 27: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

Exemplo 2 – Arquivo de Zona Reversa

10.0.0.0/8 - Arquivo de Zona: 10.in-addr.arpa.zone

@ IN SOA ns.interno. admin.interno.2006042801 ; serial28800 ; refresh7200 ; retry604800 ; expire86400 ; ttl)

@ IN NS ns.interno.

1.0.0 IN PTR servidor1.interno.3.30.0 IN PTR servidor2.interno.98.0.0 IN PTR servidor98aa.interno.115.0.0 IN PTR servidor115vale.interno.

Page 28: SERVREDES - Aula 10 - DNS aplicado ao LINUX - BIND.pdf

� Finish Him!