You are on page 1of 13

INSTALAO E CONFIGURAO

DO SERVIDOR DNS (Bind9)

Administrao de Sistemas Operacionais de Rede

FATEC OURINHOS
Paulo R. Galego H. Jr.

Sumrio
1 DNS............................................................................................................3
2. Instalando Servidor DNS no Linux (BIND9).................................................5
3. Reiniciando o servio e verificando o log.....................................................8
4. DNS Reverso.............................................................................................10
5. Finalizando e testando o DNS....................................................................11

1 DNS
- Nomes e Endereos em IP
Traduz nomes de mquinas e domnios para IP, informao utilizada para real
comunicao entre as mquinas conectadas em rede.
- Traduo Nmeros IP em Nomes
Traduz IPs para nomes de mquinas, servio conhecido como DNS Reverso.
Utilizado, por exemplo, pelos servidores de e-mail para evitar Spam. O servidor de e-mail
ao receber uma mensagem enviada por um IP, tenta encontrar o nome do domnio que
aquele IP pertence. Este nome de domnio deve ser o mesmo encontrado na remetente
da mensagem, desta forma, o servidor de e-mail o julga vlido.
- BIND (Berkeley Internet Name Domain)
Programa utilizado como servidor DNS. O mais utilizado.
- Domnios
Nome que representa uma ou um conjunto de mquinas que seguem a mesma
nomenclatura na sua identificao. Composto principalmente pela informao da
localizao (ex: br), tipo de servio (ex: comercial com, educacional edu,
governamental gov etc) e o nome que, a princpio, representa a motivao daquele
domnio (ex: fatecou Faculdade de Tecnologia de Ourinhos).
- No Brasil - CGI (Comit Gestor da Internet no Brasil www.cgi.br), onde as suas
decises so implementadas pelo NIC.br (Ncleo de Informao e Coordenao do Ponto
BR)
- Pagamento de R$ 30,00 por domnio - taxa anual de manuteno
- Domnios para pessoas fsicas (.nom, etc.)
- Verificao de registros
- http://registro.br (administrado pela FAPESP)
- Domnios: necessidade de registro
- Subdomnios: gerenciados pelo administrador de redes
Quais as regras sintticas para o nome de um domnio?
Um domnio deve seguir:
- Tamanho mnimo de 2 e mximo de 26 caracteres, no incluindo a extenso
- Caracteres vlidos so [A-Z;0-9] e o hfen.
- Nenhum tipo de acentuao vlido.
- No pode conter somente nmeros.
- OBS.: Os domnios com extenses .nom.br devero ser separados por um
ponto, assim como nome.sobrenome.nom.br
- Zonas
Toda informao correspondente a um domnio. Por exemplo, so informaes de
um domnio o prprio domnio, suas mquinas, seu reverso, seu MX etc.

Domnio = fatecourinhos.edu.br
Mquinas = www.fatecourinhos.edu.br: 201.55.32.12
MX: alt1.aspmx.l.google.com

1..2 DNS reverso (rDNS)


Traduz IP em nome.
caractersticas peculiares:
- conhecido no jargo dos administradores de servidores como "PTR";
- obrigatrio de acordo com a RFC 1912, seo 2.1;
- deve haver uma entrada de rDNS para todas as mquinas com nome na rede,
no s para algumas;
- muitssimo importante para servidores de email, pois, confrontando o reverso do
IP traduzido do domnio do remetente da mensagem podemos ver se realmente aquela
mensagem saiu da origem informada.
para configurar precisamos:
- que sua operadora responda o reverso de seu domnio para voc.
ou
- que sua operadora direcione as requisies de reverso de seu domnio para
voc responder.

1.3 Configurao do Servidor


- Caching-Only
No resolve nomes em sua prpria base, apenas passa requisies a outros
servidores DNS e repassa a resposta ao cliente solicitante.
- Primrios
Responsvel por resolver os nomes.
- Informaes obtidas de arquivos locais;
Possuem em sua base de dados de domnios as configuraes necessrias para
responder por um determinado domnio;
- Fonte oficial de informao a respeito de um domnio.
O domnio deve estar devidamente registrado no registro.br, com servidor DNS
apontando para o servidor em questo. Desta forma, ele se torna a fonte de dados oficial
para resoluo dos nomes para este domnio.
- Secundrios
Responsvel por resolver nomes em caso de problemas com o DNS primrio.
Sua existncia obrigatria para que um domnio seja reconhecido como vlido pelo
registro.br.

- Transferncia de Zonas;
No so realizadas configuraes nos servidores DNS Secundrios para
resoluo de nomes de domnios. Sua base de dados importada do seu DNS Primrio.
- Fonte oficial de informao a respeito de um domnio.

1.3.1 Processo no *nix


Processo: named

2. Instalando Servidor DNS no Linux (BIND9)


DNS Master (Primrio)
Para instalar o bind, se este no estiver instalado:
apt-get install bind9
Criar a zona de DNS convencional Primrio:
vi /etc/bind/named.conf.local
incluir as seguintes linhas:
// DNS
zone "segfatecou.edu.br" IN {
type master;
file "/etc/bind/domains/segfatecou/db.segfatecou.edu.br";
};

Criar os diretrios onde os arquivos de configurao do domnio sero criados e acertar


os direitos de acesso para segurana do servio e servidor, bem como para o
funcionamento correto.
mkdir -p /etc/bind/domains/segfatecou
chown root.bind /etc/bind/domains/segfatecou
Dentro destes diretrios, criar os seguintes arquivos:
Para resoluo de nome:
vi /etc/bind/domains/segfatecou/db.segfatecou.edu.br

$TTL 345600
@
IN SOA ns1.segfatecou.edu.br. hostmaster.segfatecou.edu.br. (
2015012701; Serial
28800; refresh, seconds
7200; retry, seconds
604800; expire, seconds
86400 ) ; negative cache TTL, seconds
NS ns1.segfatecou.edu.br.
NS ns2.segfatecou.edu.br.
IN MX 10 smtp.segfatecou.edu.br.
IN MX 20 smtp2.segfatecou.edu.br.
segfatecou.edu.br.

192.168.0.1

ns1
ns2

A
A

192.168.0.1
192.168.0.254

www
smtp
smtp2
pop3
alunoonline
webmail

A
192.168.0.1
A
192.168.0.3
A
192.168.0.4
A
192.168.0.5
A
192.168.0.6
CNAME
pop3

Obs: Estes nmeros IPs so fictcios, usados apenas para exemplificar.


Entendendo as regras utilizadas:
$TTL - (Time-To-Live) Esta opo diz ao named por quanto tempo ele deve
manter em cache as informaes de certo domnio. Lembrando que s so consultados
os arquivos "zone" caso a informao procurada no se encontre no cache. Encontra-se
em segundos, no nosso caso o TTL de 4 dias.
@ IN SOA ns1.segfatecou.edu.br. hostmaster.segfatecou.edu.br. (
A "@" na segunda linha indica a origem do domnio e, ao mesmo tempo, o incio
da configurao. Ela sempre usada, assim como num endereo de e-mail.
O "IN" abreviao de "internet" e o "SOA" de "Start of autority". Em seguida vem
o nome do servidor (que voc checa usando o comando "hostname"), seguido do e-mail
de contato do administrador.
Note que, no caso do e-mail, temos a conta separada do domnio por um ponto, e
no por uma @. O mais comum criar uma conta chamada "hostmaster", mas isso no
uma regra. Voc poderia usar "fulano.meudomonio.com.br", por exemplo.
Note tambm que existe um ponto depois do "ns1.segfatecou.edu.br" e do
"hostmaster.fatecou.edu.br", que faz parte da configurao.
O ponto se refere ao domnio raiz, de responsabilidade dos rootservers. No
exemplo, nosso servidor o responsvel pelo domnio "segfatecou", que faz parte do
domnio ".edu.br", que por sua vez faz parte do domnio raiz. Lembre-se que os domnios

so lidos da direita para a esquerda, de forma que, ao resolver o domnio, o cliente leria:
raiz . br . edu . segfatecou.
A linha diz algo como "Na internet, o servidor "segfatecou" responde pelo domnio
segfatecou.edu.br o e-mail do responsvel pelo domnio
"hostmaster@segfatecou.edu.br".
A primeira linha termina com um parnteses, que indica o incio da configurao
do domnio. Temos ento:
2015012701
O "2015012701" o valor de sincronismo, que permite que o servidor DNS
secundrio mantenha-se sincronizado com o principal, detectando alteraes na
configurao. Este nmero composto da data da ltima alterao (como em: 20150127),
e um nmero de dois dgitos qualquer que voc escolhe. Sempre que editar a
configurao, ou sempre que configurar um servidor DNS a partir de um template
qualquer, lembre-se de atualizar a data e/ou mudar os dois dgitos.
As quatro linhas seguintes orientam o servidor DNS secundrio (caso voc tenha
um). O primeiro campo indica o tempo que o servidor aguarda entre as atualizaes
(28800 segundos, ou 8 horas). Caso ele perceba que o servidor principal est fora do ar,
ele tenta fazer uma transferncia de zona, ou seja, tenta assumir a responsabilidade sob
o domnio. No esquea que o serial nunca incrementado automaticamente, isso
trabalho do administrador. Caso a transferncia falhe e o servidor principal continue fora
do ar, ele aguarda o tempo especificado no segundo campo (2 horas) e tenta novamente.
O terceiro campo indica o tempo mximo que ele pode responder pelo domnio,
antes que as informaes expirem (7 dias, tempo mais do que suficiente para voc
arrumar o servidor principal) e o tempo mnimo antes de devolver o domnio para o
servidor principal quando ele retornar (1 dia).
Estes valores so padro, por isso no existem muitos motivos para alter-los. A
transferncia do domnio para o DNS secundrio sempre uma operao demorada, por
causa do cache feito pelos diversos servidores DNS espalhados pelo mundo: demora de
um a dois dias at que todos atualizem suas tabelas de endereos. A principal prioridade
deve ser evitar que o servidor principal fique indisponvel em primeiro lugar.
Opes utilizadas:
MX - Mail Exchange: Esta entrada permite que o named identifique o seu servidor
de correio eletrnico. O nmero antes do nome do servidor referente ao ndice de
prioridade, ou seja, a mensagem ser direcionada sempre para o servidor com menor
ndice e caso ele no responda vai para o seguinte e assim por diante.
CNAME - Esta entrada diz ao named que o alias - no caso o webmail - um
apelido para um dado servidor ou domnio. Em nosso arquivo o "pop3". Ou seja, o
apelido "webmail" ir apontar para o mesmo local do "pop3" que o host 192.168.0.5 .

A - Address: com esta opo especificamos um endereo vlido na rea de


atuao do servidor, podendo este ser um IP ou um domnio. Contudo, caso seja utilizado
um domnio obrigatrio colocar um ponto final aps o nome.

3. Reiniciando o servio e verificando o log


Para reiniciar o servidor deve-se executar
/etc/init.d/bind9 restart
Rodando o comando tail no arquivo syslog deve-se verificar as seguintes linhas:

tail /var/log/syslog
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
2015012701
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
Jan 27 15:49:06 debian-asor
(serial 2015012701)

named[3722]:
named[3722]:
named[3722]:
named[3722]:
named[3722]:
named[3722]:

command channel listening on 127.0.0.1#953


command channel listening on ::1#953
zone 0.in-addr.arpa/IN: loaded serial 1
zone 127.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1
zone segfatecou.edu.br/IN: loaded serial

named[3722]:
named[3722]:
named[3722]:
named[3722]:

zone localhost/IN: loaded serial 2


managed-keys-zone ./IN: loaded serial 7
running
zone segfatecou.edu.br/IN: sending notifies

Note que h duas linhas em negrito. Elas identificam que a nossa zona da DNS
segfatecou.edu.br, configurada com o serial 2015012701 foi carregada com sucesso
(loaded serial 2015012701). Isso significa que a configurao foi feita corretamente e no
houve erros.

3.1 Simulando erros na configurao


Vamos agora simular um erro de configurao no arquivo da zona de DNS (arquivo
db.segfatecou.edu.br). Aps o restart do bind, verifique o que aparece no arquivo syslog:
tail /var/log/syslog
Jan 27 16:08:17 debian-asor named[3992]: command channel listening on ::1#953
Jan 27 16:08:17 debian-asor named[3992]: zone 0.in-addr.arpa/IN: loaded serial 1
Jan 27 16:08:17 debian-asor named[3992]: zone 127.in-addr.arpa/IN: loaded serial 1
Jan 27 16:08:17 debian-asor named[3992]: zone 255.in-addr.arpa/IN: loaded serial 1
Jan 27 16:08:17 debian-asor named[3992]: dns_rdata_fromtext: /etc/bind/domains/segf
atecou/db.segfatecou.edu.br:4: near 'refresh,': syntax error

Jan 27 16:08:17 debian-asor named[3992]: zone segfatecou.edu.br/IN: loading from


master file /etc/bind/domains/segfatecou/db.segfatecou.edu.br failed: syntax error
Jan 27 16:08:17 debian-asor named[3992]: zone segfatecou.edu.br/IN: not loaded due
to errors.
Jan 27 16:08:17 debian-asor named[3992]: zone localhost/IN: loaded serial 2
Jan 27 16:08:17 debian-asor named[3992]: managed-keys-zone ./IN: loaded serial 8
Jan 27 16:08:17 debian-asor named[3992]: running

Veja que h trs linhas em negrito. Na primeira v-se:

/etc/bind/domains/segfatecou

/db.segfatecou.edu.br:4: near 'refresh,': syntax error

O nmero 4 seguido do smbolo : logo aps o nome do arquivo db.segfatecou.edu.br


indica q u e h u ma g ra n d e c h a n ce d o e r ro e st a r p r x i mo l i n h a 4 (
db.segfatecou.edu.br:4), prximo palavra refresh (near 'refresh'). Uma verificada no
arquivo e percebe-se que no final da linha 4 faltava o ;
28800 refresh, seconds

A segunda e a terceira linhas em negrito indicam que o arquivo de configurao no foi


carregado devido a erros no arquivo: failed: syntax error e not loaded due to errors.

Vejamos outro exemplo:


tail /var/log/syslog
Jan 27 15:52:51 debian-asor named[3790]: command channel listening on ::1#953
Jan 27 15:52:51 debian-asor named[3790]: zone 0.in-addr.arpa/IN: loaded serial 1
Jan 27 15:52:51 debian-asor named[3790]: zone 127.in-addr.arpa/IN: loaded serial 1
Jan 27 15:52:51 debian-asor named[3790]: zone 255.in-addr.arpa/IN: loaded serial 1
Jan 27 15:52:51 debian-asor named[3790]: dns_rdata_fromtext: /etc/bind/domains/segf
atecou/db.segfatecou.edu.br:7: near eol: unexpected end of input
Jan 27 15:52:51 debian-asor named[3790]: zone segfatecou.edu.br/IN: loading from
master file /etc/bind/domains/segfatecou/db.segfatecou.edu.br failed: unexpected end
of input
Jan 27 15:52:51 debian-asor named[3790]: zone segfatecou.edu.br/IN: not loaded due
to errors.
Jan 27 15:52:51 debian-asor named[3790]: zone localhost/IN: loaded serial 2
Jan 27 15:52:51 debian-asor named[3790]: managed-keys-zone ./IN: loaded serial 7
Jan 27 15:52:51 debian-asor named[3790]: running

Repare novamente nas duas linhas em negrito. A primeira indica:

/etc/bind/domains/segf

atecou/db.segfatecou.edu.br:7: near eol: unexpected end of input.

Esta primeira linha em negrito indica que h um erro na linha 7 do arquivo


db.segfatecou.edu.br, indicando um final inesperado de entrada. A segunda linha em
negrito indica que o arquivo de configurao no foi carregado devido a erros no arquivo.
Neste caso especfico o erro era a falta de um espao na segunda linha:

$TTL 345600
@
IN SOA ns1.segfatecou.edu.br.hostmaster.segfatecou.edu.br. (
2015012701; Serial
28800; refresh, seconds
7200; retry, seconds
604800; expire, seconds
86400 ) ; negative cache TTL, seconds
Como essa segunda linha o incio do bloco compreendido entre os parntesis ( ) h
essa confuso do bind indicando que o erro est na linha nmero 7. Isso mostra que o
bind no muito preciso ao informar os erros, mas mesmo assim possvel achar um
erro facilemente atravs do log.

4. DNS Reverso
Para resoluo reversa de nomes:
vi /etc/bind/named.conf.local
incluir as seguintes linhas:
// DNS Reverso
zone "0.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/domains/segfatecou/db.0.168.192";
};
Criar o arquivo da zona reversa:
vi /etc/bind/domains/segfatecou/db.0.168.192
colocar o seguinte contedo:
$TTL 345600
@
IN SOA ns1.segfatecou.edu.br. hostmaster.segfatecou.edu.br. (
2013090501
; Serial
28800; refresh, seconds
7200; retry, seconds
604800; expire, seconds
86400 ) ; negative cache TTL, seconds
NS ns1.segfatecou.edu.br.
NS ns2.segfatecou.edu.br.
1
254
2
3
5
6

PTR
PTR
PTR
PTR
PTR
PTR

ns1.segfatecou.edu.br.
ns2.segfatecou.edu.br.
www.segfatecou.edu.br.
smtp.segfatecou.edu.br.
pop3.segfatecou.edu.br.
alunoonline.segfatecou.edu.br.

Onde PTR aponta o ltimo octeto do endereo IP para o nome do reverso.

5. Finalizando e testando o DNS


Aps a criao da zona e configurao dos arquivos db dos domnios
configurados neste servidor, devemos informar prpria mquina que ela responsvel
por resolver o DNS. Para isso faa:
vi /etc/resolv.conf
colocar o seguinte contedo:
nameserver 127.0.0.1
Nota: Se houver outras linhas no arquivo acima, elas devem ser removidas
para no atrapalharem os testes da nossa mquina virtual.
Com estas configuraes possvel utilizarmos este servidor DNS para responder
perguntas sobre o domnio configurado, no nosso exemplo o domnio o
segfatecou.edu.br.
Para testar o funcionamento correto do servidor DNS podemos utilizar trs
comandos: nslookup, dig e host.
O comando nslookup o mais comum, sua sintaxe com seu resultado so:
nslookup www.segfatecou.edu.br
Server:
Address:
Name:
Address:

127.0.0.1
127.0.0.1#53
www.segfatecou.edu.br
192.168.0.1

O comando host mais atual e mais simples de ser trabalhado. Para instal-lo
basta executar:
apt-get install host
Para utiliz-lo basta digitar:
host -a www.segfatecou.edu.br
o resultado deve ser a apresentao detalhada das informaes do domnio pesquisado:
host -a www.segfatecou.edu.br
Trying "www.segfatecou.edu.br"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31923
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.segfatecou.edu.br.

IN

ANY

;; ANSWER SECTION:
www.segfatecou.edu.br. 345600

IN

;; AUTHORITY SECTION:
segfatecou.edu.br. 345600
segfatecou.edu.br. 345600

NS
NS

ns1.segfatecou.edu.br.
ns2.segfatecou.edu.br.

IN
IN

A
A

IN
IN

;; ADDITIONAL SECTION:
ns1.segfatecou.edu.br. 345600
ns2.segfatecou.edu.br. 345600

192.168.0.1

192.168.0.1
192.168.0.254

Received 123 bytes from 127.0.0.1#53 in 3 ms

No caso da consulta ser feito ao domnio completo, a resposta seria a seguinte:


host -a segfatecou.edu.br
Trying "segfatecou.edu.br"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21455
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4
;; QUESTION SECTION:
;segfatecou.edu.br.

IN

ANY

;; ANSWER SECTION:
segfatecou.edu.br. 345600
IN
SOA ns1.segfatecou.edu.br.
hostmaster.segfatecou.edu.br. 2015012701 28800 7200 604800 86400
segfatecou.edu.br. 345600
IN
NS
ns1.segfatecou.edu.br.
segfatecou.edu.br. 345600
IN
NS
ns2.segfatecou.edu.br.
segfatecou.edu.br. 345600
IN
MX
20 smtp2.segfatecou.edu.br.
segfatecou.edu.br. 345600
IN
MX
10 smtp.segfatecou.edu.br.
segfatecou.edu.br. 345600
IN
A
192.168.0.1
;; ADDITIONAL SECTION:
ns1.segfatecou.edu.br. 345600
ns2.segfatecou.edu.br. 345600
smtp.segfatecou.edu.br. 345600
smtp2.segfatecou.edu.br. 345600

IN
IN
IN
IN

A
A
A
A

192.168.0.1
192.168.0.254
192.168.0.3
192.168.0.4

Para consulta reversa usa-se por exemplo:


host 192.168.0.1
o resultado deve ser a apresentao das informaes de reverso do IP pesquisado, como
segue:
host 192.168.0.2
2.0.168.192.in-addr.arpa domain name pointer www.segfatecou.edu.br.
host 192.168.0.1
1.0.168.192.in-addr.arpa domain name pointer ns1.segfatecou.edu.br.

dig ns segfatecou.edu.br
o resultado deve ser a apresentao das informaes do domnio pesquisado, como
segue:

dig segfatecou.edu.br
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> segfatecou.edu.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16871
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;segfatecou.edu.br.

IN

;; ANSWER SECTION:
segfatecou.edu.br. 345600

IN

192.168.0.1

;; AUTHORITY SECTION:
segfatecou.edu.br. 345600
segfatecou.edu.br. 345600

IN
IN

NS
NS

ns1.segfatecou.edu.br.
ns2.segfatecou.edu.br.

IN

;; ADDITIONAL SECTION:
ns1.segfatecou.edu.br. 345600

ns2.segfatecou.edu.br.
;;
;;
;;
;;

345600

IN

Query time: 0 msec


SERVER: 127.0.0.1#53(127.0.0.1)
WHEN: Wed Jan 28 14:21:03 2015
MSG SIZE rcvd: 119

192.168.0.1

192.168.0.254

You might also like