DNS Server · 4 min read · Oct 02, 2025
Cómo instalar el servidor DNS rápido y ligero MaraDNS en CentOS 7
MaraDNS es un pequeño, gratuito y ligero servidor de nombres de dominio. Es un servidor DNS alternativo de código abierto, que actúa como un servidor de nombres en caché, recursivo o autoritativo. Es notablemente fácil de configurar y está disponible para plataformas Linux y Windows. Se puede descargar desde aquí. Puedes leer más sobre DNS, DNS recursivo, DNS autoritativo aquí.
A continuación se presentan algunas características interesantes de MaraDNS:
- Fácil de instalar
- Bajo uso de memoria (Usa aproximadamente 5MB de RAM)
- Puede actuar como un servidor de nombres autoritativo y un servidor de nombres recursivo.
- No hay que olvidar, la documentación en el sitio web de MaraDNS es muy fácil de entender.
Ahora comencemos con MaraDNS en CentOS 7. Los siguientes pasos te guiarán sobre la instalación y configuración de MaraDNS:
Instalando MaraDNS
Por ahora, no hay RPMs disponibles de MaraDNS para CentOS 7, así que lo instalaremos y compilaremos desde el código fuente.
Instala gcc:
sudo yum install gccDescarga el último archivo fuente desde aquí. Puedes hacerlo así:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2Extrae el contenido del archivo:
tar -xjf maradns-2.0.11.tar.bz2Cambia al directorio de MaraDNS extraído, compila e instala los programas:
cd maradns-2.0.11sudo makesudo make installMaraDNS está ahora instalado. El servicio de MaraDNS se instala en /etc/init.d/maradns. Puedes simplemente iniciar el servicio con:
sudo /etc/init.d/maradns startPara iniciar el demonio recursivo, ejecuta:
sudo /etc/init.d/maradns.deadwood startPor defecto, el servidor de nombres autoritativo escucha en el puerto 127.0.0.1 y el recursivo en el puerto 127.0.0.2.
Asegurémonos de iniciar MaraDNS al arrancar:
chkconfig maradns onEl script de inicio del servidor DNS recursivo debe hacerse compatible con chkconfig antes de que pueda ejecutarse al inicio. Agrega el siguiente contenido a la parte superior del archivo /etc/init.d/maradns.deadwood:
# chkconfig: - 55 45
# description: MaraDNS es un servidor de nombres de dominio (DNS) seguro
# probe: trueConfigúralo para que se ejecute al inicio:
chkconfig maradns.deadwood onConfigurando MaraDNS como un servidor de nombres autoritativo
Los servidores DNS autoritativos “conocen” el mapeo de URL a IP para cualquier dominio dado. Son la fuente de la información que los servidores DNS recursivos envían a los clientes web como navegadores (Chrome, Firefox). Puedes configurar MaraDNS como un servidor de nombres autoritativo de la siguiente manera:
Edita el archivo de configuración de MaraDNS, es decir, /etc/mararc:
ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["example.net."] = "db.example.net"
La primera línea le dice a MaraDNS que escuche en la IP- 127.0.0.1. Puedes agregar más IPs, separadas por comas. Por ejemplo: 127.0.0.1, x.x.x.x
La segunda línea chroot_dir es para mencionar el directorio donde se mantendrán todos los archivos de zona.
La tercera línea inicializa el hash csv2 con el comando csv2 = {}.
La cuarta línea menciona el archivo de zona llamado db.example.net para el nombre de dominio example.net.
Aquí está el archivo de zona llamado db.example.net para el nombre de dominio example.net, que es 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 ~Comienzas con la línea de Inicio de Autoridad (SOA). Luego especificas los servidores de nombres autoritativos y los otros registros. Un registro consiste en el nombre de dominio, TTL (Tiempo de vida), tipo de registro y el valor del registro.
Dos cosas a tener en cuenta son que todos los nombres de dominio terminan con un punto, es decir, deben ser nombres de dominio completamente calificados y todos los registros terminan con un carácter de tilde (~). Para saber más, consulta la documentación sobre el formato de los archivos de zona.
Para ser más simple, simplemente apuntamos example.net a 127.0.0.1. Así es como lo haces:
example.net. 127.0.0.1 ~Reinicia el servicio como:
sudo /etc/init.d/maradns restartConfigurando MaraDNS como un servidor de nombres recursivo
Cuando tu navegador web envía una consulta DNS —suponiendo que el navegador no tenga ya el mapeo almacenado en su caché— se envía a un servidor DNS recursivo. También se le llama reenvío DNS. Por defecto, escucha en el puerto 127.0.0.2 y puedes agregar más IPs, separadas por comas. Por ejemplo: 127.0.0.2, x.x.x.x. Puedes configurar MaraDNS como un servidor de nombres recursivo agregando las siguientes líneas al archivo /etc/dwood3rc:
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Reenviando solicitudes a los servidores DNS de GoogleReinicia el servicio como:
sudo /etc/init.d/maradns.deadwood restart¡Has terminado de configurar el servidor MaraDNS! :)
Consejo: Si deseas que tu servidor MaraDNS responda a consultas DNS externas, necesitarás:
Agregar la IP pública de tu máquina a ambos archivos de configuración (/etc/mararc y /etc/dwood3rc) y modificarlos como:
/etc/mararc:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Reemplaza x.x.x.x con la dirección pública de tu máquina./etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" #Reemplaza x.x.x.x con la dirección pública de tu máquina.recursive_acl = “0.0.0.0/0” #Para permitir conexiones desde cualquier lugar.
Puedes obtener estos archivos de ejemplo desde aquí. No olvides reiniciar los servicios una vez más.
¡Eso es todo!
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.