Desenvolvendo um servidor DNS no CentOS

Neste artigo explico o que é um servidor de DNS e demonstro como instalar utilizando o BIND, usando como exemplo a configuração em um servidor Zimbra.

[ Hits: 68.362 ]

Por: Marcos Vinicius Campez em 31/10/2012 | Blog: http://bytelivre.net


Instalação e configuração



Instalar pacotes:

# yum install bind bind-libs bind-utils caching-nameserver

Alterar ordem de pesquisa:

# vim /etc/host.conf

order bind,hosts
multi on

Alterar arquivo /etc/hosts:

127.0.0.1		localhost.localdomain localhost
192.168.2.161 		zimbra.deathstar.com.br zimbra

Alterar /etc/resolv.conf:

nameserver 192.168.2.161
search deathstar.com.br

Copiar arquivos de exemplo para as suas respectivas pastas:

# cp /usr/share/doc/bind-9.3.6/sample/etc/* /etc/
# cp -R /usr/share/doc/bind-9.3.6/sample/var/ /var/


Editar arquivo /etc/named.zones para definir as zonas.

Ex.:

zone "deathstar.com.br"  IN {
        type master;
        file "deathstar.com.br.db";
        allow-update { none; };
};
zone "2.168.192.in-addr.arpa" IN {
        type master;
        file "2.168.192.db";
        allow-update { none; };
};

Criar os arquivos deathstar.com.br.db e 2.168.192.in-addr.arpa.

deathstar.com.br.db (/var/named/deathstar.com.br.db):

$TTL    86400
@       IN   SOA   zimbra.deathstar.com.br. root.zimbra.deathstar.com.br.  (
                        1997022700 ; Serial
                        28800      ; Refresh
                        14400      ; Retry
                        3600000    ; Expire
                        86400 )    ; Minimum
          IN      NS   zimbra.deathstar.com.br.
zimbra    IN      A    192.168.2.161
@         IN      MX   1 zimbra

2.168.192.in-addr.arpa (/var/named/2.168.192.in-addr.arpa.db):

$TTL    86400
@       IN   SOA   zimbra.deathstar.com.br. root.zimbra.deathstar.com.br.  (
                        1997022700 ; Serial
                        28800      ; Refresh
                        14400      ; Retry
                        3600000    ; Expire
                        86400 )    ; Minimum
          IN      NS      zimbra.deathstar.com.br.
161       IN      PTR     zimbra.deathstar.com.br.

Reiniciar serviço:

# service named restart

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração
   3. Testes
Outros artigos deste autor

Instalando o Windows depois do Linux

Inventário "like a boss" com OCS Server

Enviando e-mails pelo terminal

Desenvolvendo tutoriais mais dinâmicos com o Wink

Baixando arquivos do Megaupload e Rapidshare pelo terminal

Leitura recomendada

Projeto GuaçuLivre - Sistema Operacional e Softwares Educacionais Livres para Computadores Pessoais e do PROINFO Pregão: FNDE 83/2008

Bottlenecks - Métricas de performance de servidores

Clonando máquinas virtuais no VMWare Server

Software livre na educação de crianças

openSUSE - Guia Básico Pós Instalação

  
Comentários
[1] Comentário enviado por danniel-lara em 31/10/2012 - 18:33h

Parabéns pelo artigo

[2] Comentário enviado por markintux em 31/10/2012 - 21:04h

Obrigado Danniel!!!


[3] Comentário enviado por Linuxlrt em 01/11/2012 - 16:07h

Muito bom

[4] Comentário enviado por rahremix em 01/11/2012 - 16:13h

Favoritado!

Parabéns pelo artigo!

[5] Comentário enviado por markintux em 01/11/2012 - 16:22h

Muito Obrigado trevizol e rahremix! Precisando estamos ai!

[6] Comentário enviado por mateusfreak em 10/11/2012 - 06:53h

Desculpe, estou iniciando no Linux.
Já vi instalarem na minha antiga empresa o CENTOS com todos os serviços.

No seu artigo depois de ¨Editar arquivo /etc/named.zones para definir as zonas. ¨ nao entendi mais nada rsrsr....

Pode explicar?

Obrigado!

[7] Comentário enviado por Polnoraref em 11/11/2012 - 01:51h

Não há nenhuma configuração feita no /etc/named.conf isso foi proposital ???? Quando reiniciei o named ele processou o named.conf em vez do named.zones e obviamente não deu certo :(... tem alguma configuração extra ?? Uso o centOS 6.3 e bind é o mais recente :)

Parabéns pelo artigo :)



[8] Comentário enviado por markintux em 12/11/2012 - 08:21h

Nesta parte do artigo mateusfreak, estou definindo as zonas para acesso no meu servidor DNS. :)


[6] Comentário enviado por mateusfreak em 10/11/2012 - 06:53h:

Desculpe, estou iniciando no Linux.
Já vi instalarem na minha antiga empresa o CENTOS com todos os serviços.

No seu artigo depois de ¨Editar arquivo /etc/named.zones para definir as zonas. ¨ nao entendi mais nada rsrsr....

Pode explicar?

Obrigado!



[9] Comentário enviado por markintux em 12/11/2012 - 08:22h

Quando o named.conf carrega jeffersonfreitas, dentro do arquivo, ele já importa as configurações do named.zones! :)


[7] Comentário enviado por jeffersonfreitas em 11/11/2012 - 01:51h:

Não há nenhuma configuração feita no /etc/named.conf isso foi proposital ???? Quando reiniciei o named ele processou o named.conf em vez do named.zones e obviamente não deu certo :(... tem alguma configuração extra ?? Uso o centOS 6.3 e bind é o mais recente :)

Parabéns pelo artigo :)





[10] Comentário enviado por sk4d1nh4 em 13/11/2012 - 16:17h

Olá Marcos,

Primeiramente, parabéns pelo artigo e pela iniciativa. Mas tenho uma duvída.

Se dentro do arquivo /etc/named.zones na parte da zona reversa voce definiu o arquivo como 'file "2.168.192.db";' o arqivo de zona reversa que voce utilizou (/var/named/2.168.192.in-addr.arpa.db) não deveria ter o mesmo nome?? Acredito que ele vá procurar pelo arquivo e não vai encontrar.

[11] Comentário enviado por markintux em 13/11/2012 - 16:24h

Olá!

É verdade, falta um .db no final do arquivo:

"zone "2.168.192.in-addr.arpa" IN {"

nesta linha acima! Muito bem visto!

Obrigado.


[10] Comentário enviado por sk4d1nh4 em 13/11/2012 - 16:17h:

Olá Marcos,

Primeiramente, parabéns pelo artigo e pela iniciativa. Mas tenho uma duvída.

Se dentro do arquivo /etc/named.zones na parte da zona reversa voce definiu o arquivo como 'file "2.168.192.db";' o arqivo de zona reversa que voce utilizou (/var/named/2.168.192.in-addr.arpa.db) não deveria ter o mesmo nome?? Acredito que ele vá procurar pelo arquivo e não vai encontrar.


[12] Comentário enviado por Neo_X em 16/11/2012 - 12:34h

O arquivo padrão nao seria o /etc/named.conf ao invés do /etc/named.zones ?

[13] Comentário enviado por markintux em 16/11/2012 - 12:37h

No CentOS é o named.zones para criar estas zonas. No named.conf há um link para este aquivo!


[12] Comentário enviado por pedrophsp em 16/11/2012 - 12:34h:

O arquivo padrão nao seria o /etc/named.conf ao invés do /etc/named.zones ?



[14] Comentário enviado por rozz em 20/11/2012 - 16:51h

olá, montei um servidor DNS com sucesso e quando instalei o httpd deu tudo errado com DNS! minha duvida e o seguinte, O que é preciso para montar um domínio .org . Tipo, eu mesmo quero ter o servidor em casa, experimentar um poco, pois estou começando agora no Centos e estou meio perdido. Sei que não será fácil, mas estou disposta a tentar e colocar pra rodar pelo menos um site sem ter que pagar nada, teria como? Caso não fui claro favor me falar pra que eu possa reformular a pergunta. Muito obrigado

[15] Comentário enviado por markintux em 20/11/2012 - 17:22h

Você poderá criar um dominio .org seguindo os passos aqui normalmente. Porém, é necessário ter um IP fixo com um registro no registro.br apontado para ele. Recomendo não criar um server assim em casa. É muito melhor já comprar os planos que essas prestadoras de serviços possui.

Abraços.


[14] Comentário enviado por rozz em 20/11/2012 - 16:51h:

olá, montei um servidor DNS com sucesso e quando instalei o httpd deu tudo errado com DNS! minha duvida e o seguinte, O que é preciso para montar um domínio .org . Tipo, eu mesmo quero ter o servidor em casa, experimentar um poco, pois estou começando agora no Centos e estou meio perdido. Sei que não será fácil, mas estou disposta a tentar e colocar pra rodar pelo menos um site sem ter que pagar nada, teria como? Caso não fui claro favor me falar pra que eu possa reformular a pergunta. Muito obrigado



[16] Comentário enviado por rozz em 20/11/2012 - 19:45h

markintux, obrigado pela sugestão, mas tipo, se eu for pagar o registro.br pra que finalidade eu teria um servidor DNS? somente para dominio local??? Existe uma maneira de ter um doninio de modo que não tenha que pagar ou contratar alguma empresa para fazer?

Tenho noção avançada em programação, mas nunca encarei o linux, instalei o Centos 6, configurei o DNS com Bind, não tenho muita pratica, não falta tempo e nem força de vontade lol... Ainda não sei quais programas devo usar, por isso estou perdido, entrei no seu site achei muito útil. está me ajudando muito. vlw

[17] Comentário enviado por markintux em 21/11/2012 - 08:23h

Exatamente. Sem o registro.br não é possível fazer o que você pretende. Pois lá, os servidores de DNS já são registrados todos para receberem as informações dos principais.

Abraços!


[16] Comentário enviado por rozz em 20/11/2012 - 19:45h:

markintux, obrigado pela sugestão, mas tipo, se eu for pagar o registro.br pra que finalidade eu teria um servidor DNS? somente para dominio local??? Existe uma maneira de ter um doninio de modo que não tenha que pagar ou contratar alguma empresa para fazer?

Tenho noção avançada em programação, mas nunca encarei o linux, instalei o Centos 6, configurei o DNS com Bind, não tenho muita pratica, não falta tempo e nem força de vontade lol... Ainda não sei quais programas devo usar, por isso estou perdido, entrei no seu site achei muito útil. está me ajudando muito. vlw



[18] Comentário enviado por guilhermealano em 04/04/2013 - 18:18h

Markintux, ao reiniciar o bind aparece o seguinte erro.

"Parando o named: [ OK ]
Iniciando o named: /etc/init.d/named: line 97: 2531 Abortado /usr/sbin/named-checkconf $ckcf_options ${named_conf} > /dev/null 2>&1

Error in named configuration:
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
mem.c:1246: REQUIRE(ctx->references == 1) failed.
[FALHOU]
"

Segue os procedimentos que voce citou.

[19] Comentário enviado por slacker.d em 09/11/2013 - 13:23h

Mesmo erro do guilhermealano........
Alguem sabe pq desse erro?



[18] Comentário enviado por guilhermealano em 04/04/2013 - 18:18h:

Markintux, ao reiniciar o bind aparece o seguinte erro.

"Parando o named: [ OK ]
Iniciando o named: /etc/init.d/named: line 97: 2531 Abortado /usr/sbin/named-checkconf $ckcf_options ${named_conf} > /dev/null 2>&1

Error in named configuration:
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
mem.c:1246: REQUIRE(ctx->references == 1) failed.
[FALHOU]
"

Segue os procedimentos que voce citou.



[20] Comentário enviado por kinlhp em 27/11/2013 - 23:06h

Boa noite markintux,
estou recebendo o seguinte erro no final do processo

[root@centos64x64 ~]# service named restart
Stopping named: [ OK ]
Starting named: /etc/init.d/named: line 97: 3937 Aborted (core dumped) /usr/sbin/named-checkconf $ckcf_options ${named_conf} > /dev/null 2>&1

Error in named configuration:
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
/etc/named.conf:166: bad secret 'bad base64 encoding'
mem.c:1246: REQUIRE(ctx->references == 1) failed.
[FAILED]
umount: /var/named/chroot/var/named: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@centos64x64 ~]#
[root@centos64x64 ~]# nslookup 192.168.2.161
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached

[root@centos64x64 ~]#

Obs.: VirtualBox=CentOS 6.4 64bits, Network=Internal Network, IP=192.168.2.161, hostname=centos64x64, centos64x64.kin.com.br, 2.168.192.in-addr.arp


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts