DNS Server · 4 min read · Oct 02, 2025
Como instalar o servidor DNS rápido e leve MaraDNS no CentOS 7
MaraDNS é um pequeno, gratuito e leve Servidor de Nomes de Domínio. É um servidor DNS alternativo de código aberto, que atua como um servidor de nomes em cache, recursivo ou autoritativo. É notavelmente fácil de configurar e está disponível para plataformas Linux e Windows. Pode ser baixado daqui. Você pode ler mais sobre DNS, DNS recursivo, DNS Autoritativo aqui.
Abaixo estão algumas características interessantes do MarDNS:
- Fácil de instalar
- Baixo uso de memória (Usa aproximadamente 5MB de RAM)
- Pode atuar como um servidor de nomes Autoritativo e servidor de nomes Recursivo.
- Não podemos esquecer, a documentação no site do MaraDNS é muito simples de entender.
Vamos agora começar com o MaraDNS no CentOS 7. Os passos abaixo irão guiá-lo sobre a instalação e configuração do MaraDNS:
Instalando o MaraDNS
Atualmente, não há RPMs disponíveis do MaraDNS para CentOS 7, então iremos instalá-lo e compilá-lo a partir do código-fonte.
Instale o gcc:
sudo yum install gccBaixe o arquivo de origem mais recente daqui. Você pode fazer isso como:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2Extraia o conteúdo do arquivo:
tar -xjf maradns-2.0.11.tar.bz2Mude para o diretório extraído do MaraDNS, compile e instale os programas:
cd maradns-2.0.11sudo makesudo make installO MaraDNS está agora instalado. O serviço do MaraDNS está instalado em /etc/init.d/maradns. Você pode simplesmente iniciar o serviço por:
sudo /etc/init.d/maradns startPara iniciar o demônio recursivo, execute:
sudo /etc/init.d/maradns.deadwood startPor padrão, o servidor de nomes autoritativo escuta na porta 127.0.0.1 e o recursivo na porta 127.0.0.2.
Vamos garantir que o MaraDNS inicie na inicialização:
chkconfig maradns onO script de inicialização do servidor DNS recursivo precisa ser compatível com chkconfig antes que você possa executá-lo na inicialização. Adicione o conteúdo abaixo ao topo do arquivo /etc/init.d/maradns.deadwood:
# chkconfig: - 55 45
# description: MaraDNS é um Servidor de Nomes de Domínio (DNS) seguro
# probe: trueDefina-o para ser executado na inicialização:
chkconfig maradns.deadwood onConfigurando o MaraDNS como um Servidor de Nomes Autoritativo
Os servidores DNS autoritativos “sabem” o mapeamento de URL para IP para qualquer domínio dado. Eles são a fonte das informações que os servidores DNS recursivos enviam para clientes da web como navegadores (Chrome, Firefox). Você pode configurar o MaraDNS como um servidor de nomes autoritativo da seguinte forma:
Edite o arquivo de configuração do MaraDNS, ou seja, /etc/mararc:
ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["example.net."] = "db.example.net"
A primeira linha diz ao MaraDNS para escutar no IP- 127.0.0.1. Você pode adicionar mais IPs a ele, separados por vírgula. Por exemplo: 127.0.0.1, x.x.x.x
A segunda linha chroot_dir é para mencionar o diretório onde todos os arquivos de zona serão mantidos.
A terceira linha inicializa o hash csv2 com o comando csv2 = {}.
A quarta linha menciona o arquivo de zona chamado db.example.net para o nome de domínio example.net.
Aqui está o arquivo de zona chamado db.example.net para o nome de domínio example.net, que é autoexplicativo:
example.net. +14400 soa ns1.example.net. [email protected]. 2012010117 14400 3600 604800 14400 ~
example.net. +14400 ns ns1.example.net. ~
example.net. +14400 ns ns2.example.net. ~
ns1.example.net. +14400 a 127.0.0.1 ~
ns2.example.net. +14400 a 127.0.0.1 ~
example.net. +14400 a 127.0.0.1 ~
www.example.net. +14400 a 127.0.0.1 ~
example.net. +14400 mx 10 mail.example.net. ~
mail.example.net. +14400 a 127.0.0.1 ~Você começa com a linha de Início da Autoridade (SOA). Em seguida, você especifica os servidores de nomes autoritativos e os outros registros. Um registro consiste no nome do domínio, TTL (Tempo de vida), tipo de registro e o valor do registro.
Duas coisas a notar são que todos os nomes de domínio terminam com um ponto, ou seja, devem ser nomes de domínio totalmente qualificados e todos os registros terminam com um caractere til (~). Para saber mais, confira a documentação sobre o formato dos arquivos de zona.
Para ser mais simples, vamos apenas apontar example.net para 127.0.0.1. É assim que você faz:
example.net. 127.0.0.1 ~Reinicie o serviço como:
sudo /etc/init.d/maradns restartConfigurando o MaraDNS como um Servidor de Nomes Recursivo
Quando seu navegador da web envia uma consulta DNS — assumindo que o navegador não tenha o mapeamento armazenado em seu cache — ela é enviada a um servidor DNS recursivo. Também é chamado de encaminhamento DNS. Ele escuta por padrão na porta- 127.0.0.2 e você pode adicionar mais IPs a ele, separados por vírgula. Por exemplo: 127.0.0.2, x.x.x.x. Você pode configurar o MaraDNS como um servidor de nomes recursivo adicionando as linhas abaixo ao arquivo /etc/dwood3rc:
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Encaminhando solicitações para os Servidores DNS do GoogleReinicie o serviço como:
sudo /etc/init.d/maradns.deadwood restartVocê terminou de configurar o servidor MaraDNS! :)
Dica - Se você quiser que seu servidor MaraDNS responda a consultas DNS externas, você precisaria:
Adicionar o IP público da sua máquina a ambos os arquivos de configuração (/etc/mararc e /etc/dwood3rc) e modificá-los como:
/etc/mararc:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Substitua x.x.x.x pelo endereço público da sua máquina./etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" #Substitua x.x.x.x pelo endereço público da sua máquina.recursive_acl = “0.0.0.0/0” #Para permitir conexões de qualquer lugar.
Você pode obter esses arquivos de exemplo daqui. Não se esqueça de reiniciar os serviços mais uma vez.
É isso!
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.