MaraDNS: Simples - Seguro - Robusto (parte 2)

Neste artigo temos uma apresentação do servidor de DNS que veio para substituir o já cansado BIND e confuso DJBDNS. MaraDNS é o que temos de mais seguro e robusto em servidores de DNS. Mas o que irá lhe surpreender é a facilidade de uso. Aqui mostro como configurar um servidor de DNS autoritativo para você hospedar o seu próprio domínio.

[ Hits: 50.089 ]

Por: Daniel Zilli em 19/08/2006


Instalando o MaraDNS



Para este artigo usaremos o MaraDNS em uma distribuição Linux qualquer. Mas para quem tem FreeBSD ou OpenBSD, também pode usar o MaraDNS sem problema algum. Para instalarmos o MaraDNS em nossa máquina siga os passos a seguir como root.

Obtenha MaraDNS em www.maradns.org - o pacote é maradns-1.2.07.x.tar.bz2. Extraia o pacote fonte do MaraDNS com o comando:

# tar xvfj maradns-*.tar.bz2

Entre no diretório que a extração anterior gerou e digite:

# sh locale.pt_br && ./configure && make && make install

O comando "sh locale-pt_br" fará com que as mensagens de status seja publicadas em nosso português. Caso queira omitir isso, as mensagens irão aparecer em inglês.

O comando "make" compila nosso programa e o "make install" faz o seguinte. Instalará tanto os binários como os man-pages para 'maradns', 'askmara', 'duende', 'fetchzone' e 'zoneserver.' Além disso irá (se os arquivos já não estiverem presente) instalar exemplos de arquivos para /etc/mararc, o diretório /etc/maradns e um arquivo de zona de exemplo (db.example.com) em /etc/maradns. Finalmente, instalará a documentação MaraDNS dentro de /usr/local/doc.

OBS: No site do MaraDNS existe pacotes binários rpm e para Slackware (mantido por mim).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o MaraDNS
   3. Configuração básica
   4. Configurando nosso arquivo de zona
Outros artigos deste autor

MaraDNS: Simples - Seguro - Robusto (parte 3)

MaraDNS: Simples - Seguro - Robusto

Leitura recomendada

Compilando e instalando o Wine, WineTools e Internet Explorer(s) no Linux

Modem PCTEL AMR PCI no Slackware 10.1

Bind9 em chroot no Debian Lenny

OcoMon no CentOS - Instalação e configuração

Debian como servidor DHCP no VirtualBox

  
Comentários
[1] Comentário enviado por diogoborsoi em 19/08/2006 - 10:08h

Caro zilli, como faço pra configurar o reverso no maradns?

[2] Comentário enviado por zilli em 19/08/2006 - 11:55h

Olá Diogo,

É muito fácil.

Essa é a sétima pergunda do FAQ no site:
http://www.maradns.org/faq.html#rdns

Uma versão em português você encontra no FAQ traduzido, dentro do pacote fonte do MaraDNS.

Abraços,
Daniel Zilli

[3] Comentário enviado por rrinfor em 19/08/2006 - 17:06h

Olá amigo!

Eu sou iniciante no mundo Linux, e recentemente precisei aprender sobre como configurar um dominio (BIND), li algumas coisas e aprendir bastante, mas ao ler a primeira versão do seu artigo passei a conhecer o maraDNS, e vou te falar uma coisa: Eu não quero mais saber do BIND, o mara DNS é muito simples e facil de configurar. Muito bom o seu artigo e peço por favor dê contimuidade aos artigos pois sua didática é tão simples e robusta quanto o maraDNS :-)

Abraços

[4] Comentário enviado por zilli em 19/08/2006 - 17:14h


Respondendo rrinfor.

Muito obrigado pela força. :-)
Pode aguardar tranquilo que está chegando mais novidades a respeito do MaraDNS, e é coisa boa!

Abraços,
Daniel Zilli

[5] Comentário enviado por capitainkurn em 21/08/2006 - 08:34h

Gostei muito, do MaraDNS e de seu artigo!

[6] Comentário enviado por capitainkurn em 21/08/2006 - 09:37h

Acabei de coloca-lo em produção num gateway de um condomínio que administro e é fantástico, muito simples e rápido de configurar, levíssimo.
Inclusive desabilitei o Squid, para ver a performance do mara (sem a interferência do resolvedor interno do Squid).
Muuuuuuuuuuuuuuito bom!

[7] Comentário enviado por decohab em 21/08/2006 - 11:34h

Olá zilli primeiramente achei bem massa esse tutoria funcionou perfect aki na rede interna...

A minha duvida é a seguinte:
Veja só.. Eu uso conexão ADSL autenticada no Modem.. isto e tipo assim minha rede interna é 10.1.1.X e o modem fica com o ip 201.XXXX certuh.. que é o o ip real .. Como eu faço pra utilizar o MaraDNS para ip reverso visto que o ip 201.XXX muda toda vez ke a conexão adsl cai ou ke o modem é desligado ou Reiniciado?

Valew!

[8] Comentário enviado por zilli em 21/08/2006 - 13:12h

Respondendo decohab:

Amigo, temos dois problemas aqui, um pequeno e outro grande :-)

O pequeno é o seguinte:
Pegar o ip real do seu modem e colocar ele no MaraDNS não é tão difícil, talvez um script resolva isso para você, além é claro da opção de atualizar manualmente esse IP.

Agora o problema grande:
Para que o reverso funcione, você precisa que a empresa que lhe fornece adsl cadastre o reverso para você. Aí está o problema, como é um endereço IP dinâmico, acredito que eles não irão fazer isso. As telecoms geralmente só fazem isso para as adsl empresariais, ou seja, com IP fixo.

Abraços,
Daniel

[9] Comentário enviado por agk em 21/08/2006 - 14:27h

Excelente essa continuação sobre o MaraDNS, estou a muito tempo com problemas para configurar algumas coisas no Bind, já li diversos artigos e manuais, acho que chegou a hora de mudar, vou testar o MaraDNS.
E continue com os artigos, parabéns.
[ ]'s.

[10] Comentário enviado por agk em 30/08/2006 - 08:18h

Também não consegui setar o DNS Reverso do meu domínio, teria como dar um exemplo de como fazer isso?

[11] Comentário enviado por zilli em 30/08/2006 - 11:40h

Respondendo agk.

Ok, aqui está um exemplo do DNS Reverso.
--------
130.128-135.0.0.200.in-addr.arpa. PTR ns1.seudominio.com.br.
--------------

Note que:
- O servidor está no IP .130, na máquina ns1
- A faixa de IP (fictícia) da empresa é 200.0.0.128 até 200.0.0.135
- Quem irá lhe fornecer isso, será a sua fornecedora do link de internet.

É só isso!
Abraços,
Daniel Zilli

[12] Comentário enviado por agk em 30/08/2006 - 14:35h

Valeu pela ajuda zilli, agora funcionou certinho.

[13] Comentário enviado por agk em 30/08/2006 - 15:07h

Bem estou agora com outro impasse, preciso de dois servidores DNS para registrar meu domínio, olhando faq do Mara percebi que ele não possui um suporte automático para implementar um DNS Slave, existe algum problema em se criar dois servidores DNS sem um ser Master e o outro ser Slave? Como se fossem dois servidores independentes.

[14] Comentário enviado por zilli em 30/08/2006 - 15:44h

Respondendo agk:

Essa é talvez a única característica que o MaraDNS AINDA não tem. Na verdade, o Sam já tem planejado implantar isso no Mara, é apenas questão de tempo agora. Se não me engano, alguns usuários usam scripts shell para fazer a implementação "automática". Leia sobre o FETCHZONE e descubra mais. http://www.maradns.org/tutorial/dnsslave.html
Quanto a sua pergunta. Vá em frente que não tem problema.

[],s
Daniel Zilli

[15] Comentário enviado por agk em 17/10/2006 - 18:01h

Já cadastrei meu domínio usando o mara, realmente funciona bem.

Agora eis a minha dúvida, tem como eu restringir para que somente as máquinas da minha rede interna possam usar o meu DNS, mas mesmo assim as consultas externas ao meu domínio continuem funcionando?

No caso eu coloquei recursive_acl = "0.0.0.0/0.0.0.0" no mararc, tem como mudar isso?

[16] Comentário enviado por jhonny_suse em 10/01/2007 - 23:19h

Caro Amigo, Desculpe por tamar seu tempo, configurei o mara conforme o tutorial, tenho um IP-Fixo CTB, e quando fui informar o ip no Registro.br, ele me retorna a seguinte mensage :

Servidor DNS Master :hostname inválido

Sera que to fazendo algo de errado ?
Vc poderia me dar um Help, ou até mesmo alguem que tenha feito e tenha tido resultado ?

Obrigado....

helpdesk@componente.com.br

[17] Comentário enviado por agk em 14/01/2007 - 17:16h

Pelo jeito está difícil de conseguir alguma informação por aqui.
Eu também tive um problema parecido, só que não era hostname inválido, era domínio desconhecido, o problema estava no mararc.
Recomendo procurar no faq do próprio http://www.maradns.org/ tem bastante informação.

[18] Comentário enviado por zilli em 14/01/2007 - 21:48h

Só para constatar, a maioria das dúvidas são respondidas particularmente. Por isso nem todas as respostas se encotram aqui. Quem tiver alguma dúvida sinta-se a vontade de entrar em contato comigo.

[19] Comentário enviado por Osnofa em 22/01/2007 - 22:32h

Boa a noite a todos.

Segui passo-a-passo as configurações - e ao registrar o meu dns no registro.br - surgiu a seguinte mensage:

Servidor DNS Master :Tempo esgotado
Servidor DNS Slave 1 :Tempo esgotado

Alguém sabe dizer o que pode ter ocorrido de errado ?

Agradeço desde já eventual ajuda.

[20] Comentário enviado por zilli em 23/01/2007 - 00:11h

Olá!

Tempo esgotado é o prato preferido de um firewall. Ou seja, veja se o seu firewall não está bloqueando as portas TCP e UPD (principalmente esta) 53.

Qualquer coisa é só entrar em contato.

Att
Daniel Zilli

Ps: Não se esqueçam de comprar meu livro:
http://www.lcm.com.br/catalogogeral.asp?nivel=3&titulo=DNS+por++Daniel+Zilli+%2D+Sistemas+de+Nomes+d...

Parte dos lucros vai para o autor do MaraDNS.

[21] Comentário enviado por osnofa em 23/01/2007 - 11:36h

Olá Daniel Zilli.

Obrigado por responder.

Para resolver a exigência de dois servidores DNS feita pelo REGISTRO.BR, fiz duas instalações de linux BFW (versão brasileira de router e firewall - www.brazilfw.com.br), sendo:

BFW1 - Configurações:

/etc/mararc

ipv4_bind_addresses = "192.xxx.x.xx, 200.204.xxx.xxx"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["quadra.com.br."] = "db.quadra.com.br"

etc/maradns/db.quadra.com.br

quadra.com.br. NS ns1.quadra.com.br.
ns1.quadra.com.br. 192.xxx.x.xx
quadra.com.br. 192.xxx.x.xx
www.quadra.com.br. 192.xxx.x.xx

BFW2 - Configurações:

/etc/mararc

ipv4_bind_addresses = "192.xxx.x.xx, 200.153.xxx.xxx"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["quadra.com.br."] = "db.quadra.com.br"

etc/maradns/db.quadra.com.br

quadra.com.br. NS ns2.quadra.com.br.
ns2.quadra.com.br. 192.xxx.x.xx
quadra.com.br. 192.xxx.x.xx
www.quadra.com.br. 192.xxx.x.xx

Nos BFW's (Linux) liberei as portas tcp e udp da seguinte forma:

allow_port 80 tcp
allow_port 53 udp
allow_port 53 tcp

Reitero meus agradecimentos e aproveito o ensejo para parabenizá-lo pelo trabalho (artigo).

[22] Comentário enviado por osnofa em 24/01/2007 - 20:30h

Olá Daniel Zilli

Obrigado, novamente, por reponder.

Estou em casa, por isso estou postando pelo fórum.

Segui sua orientação de deixar apenas os IP´s externos e suprimir os internos.

Pois bem, não deu certo, a mensagem me persegue:

Servidor DNS Master :Tempo esgotado
Servidor DNS Slave 1 :Tempo esgotado

Estou há dias quebrando a cabeça - fiz várias pesquisas, postei algumas perguntas no fórum www.brazilfw.com.br e ninguém se dipos a ajudar-me.

Por favor - conto com seus préstimos.

Mui atenciosamente.

Hélio Afonso
por gentileza, conto com seus préstimos.

[23] Comentário enviado por robsonbraga em 17/02/2007 - 14:06h

Caro Zilli,

Após apanhar durante 2 dias do bind num mandriva 2007 decidi testar o MaraDNS que para minha surpresa parece estremamente simples.

Mas a outra surpresa foi que mesmo fazendo tudo certo, não consigo fazer ele funcionar mesmo recursivamente, quanto mais autoritativo.

Abaixo segue meus arquivos de conf de rede e do mara:
hosts
201.47.62.34 anubis anubis.oestecard.com.br
127.0.0.1 localhost localhost.localdomain

resolv.conf
search oestecard.com.br
nameserver 201.47.62.34

db.oestecard.com.br
oestecard.com.br. NS anubis.oestecard.com.br.
anubis.oestecard.com.br. 201.47.62.34
oestecard.com.br. 201.47.62.34
www.oestecard.com.br. 201.47.62.34
oestecard.com.br. MX 10 anubis.oestecard.com.br.

mararc
ipv4_bind_addresses = "201.47.62.34,201.47.62.35,10.1.1.95"

chroot_dir = "/etc/maradns"

maradns_uid = 99

maxprocs = 96

no_fingerprint = 0

default_rrany_set = 3

max_chain = 8
max_ar_chain = 1
max_total = 20

verbose_level = 1

ipv4_alias = {}

ipv4_alias["icann"] = "198.41.0.4,192.228.79.201,192.33.4.12,128.8.10.90,"
ipv4_alias["icann"] += "192.203.230.10,192.5.5.241,192.112.36.4,"
ipv4_alias["icann"] += "128.63.2.53,192.36.148.17,192.58.128.30,"
ipv4_alias["icann"] += "193.0.14.129,198.32.64.12,202.12.27.33"

ipv4_alias["osrc"] = "199.166.24.1,205.189.73.102,199.166.24.3,"
ipv4_alias["osrc"] += "207.126.103.16,195.117.6.10,205.189.73.10,"
ipv4_alias["osrc"] += "204.57.55.100,213.196.2.97"

ipv4_alias["alternic"] += "160.79.133.66,216.162.42.185"

ipv4_alias["opennic"] = "131.161.247.226,209.151.84.102,64.247.218.140,"
ipv4_alias["opennic"] += "64.247.218.149,209.104.33.250,209.104.63.249,"
ipv4_alias["opennic"] += "209.151.84.103,199.175.137.211,207.6.128.246,"
ipv4_alias["opennic"] += "65.243.92.254"

ipv4_alias["localhost"] = "127.0.0.0/8"
recursive_acl = "10.1.1.0/24"

random_seed_file = "/dev/urandom"

maximum_cache_elements = 1024

root_servers = {}
root_servers["."] = "icann"

preciso de uma ajuda ai, abraço
respostas para robsonbraga_@hotmail.com

[24] Comentário enviado por Diemesleno em 30/06/2007 - 11:48h

Daniel Zilli, parabéns pelos seus artigos sobre o MaraDNS. Depois de apanhar muito com o Bind tinha até perdido as esperanças de eu mesmo configurar um DNS na minha máquina com GNU/Linux, mas você deu uma forma imensa.
Já comprei seu livro, estou ansioso para que ele me chegue em casa para eu aprender mais ainda sobre o MaraDNS e sobre DNS em geral, já que o seu livro pelo que ouvi falar é um material fantástico para quem quer se aprofundar no assunto.

Abraço.

[25] Comentário enviado por zilli em 02/07/2007 - 16:56h

Caros amigos,

A nova versão do MaraDNS já está quase saindo do forno e contará com muitas novidades. Por isso já comecei a produção de alguns novos tutoriais que logo serão lançados aqui.

Qualquer dúvida de instalação e configuração é só entrar em contato.

Abraços,
Daniel Zilli

[26] Comentário enviado por max_quessada em 27/11/2008 - 12:06h

osnofa já tem um tempo que vc postou aqui. Mas estou com uma dúvida pois tb uso o bfw. Você foi obrigado a ter dois bfw para funcionar no registro br, não posso configura-lo em uma unica instalação??

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts