Webinar incia en

0 Días
0 Horas
0 Minutos
0 Segundos

Webinar Gratuito

Introducción a Protocolo IPv6 con MikroTik RouterOS

Servidor DNS con BIND: Configuración, Seguridad y Casos de Uso en Linux

Facebook
Twitter
LinkedIn
WhatsApp
Telegram

BIND (Berkeley Internet Name Domain) es el software DNS (Domain Name System) más utilizado en servidores UNIX y Linux.

Fue desarrollado originalmente en la Universidad de Berkeley como parte del sistema BSD UNIX. Hoy es mantenido por el Internet Systems Consortium (ISC).

Al final del artículo encontrarás un pequeño test que te permitirá evaluar los conocimientos adquiridos en esta lectura

¿Qué hace BIND?

BIND permite:

  • Traducir nombres de dominio a direcciones IP (por ejemplo, convertir www.google.com a 142.250.190.100).
  • Realizar la función inversa: resolución inversa de IP a nombre.
  • Servir como servidor autoritativo o servidor caché/reenviador.
  • Gestionar zonas DNS internas y externas en redes privadas o públicas.

Fundamentos del DNS y cómo encaja BIND

Modelo de jerarquía DNS

El DNS es una base de datos jerárquica distribuida. Desde la raíz (.) hacia abajo:

.
├── com
│   └── google
│       └── www
└── org
   └── wikipedia
        └── www

BIND puede operar en cualquier parte de esta jerarquía: como root server, TLD server, servidor autoritativo o resolver (recursor).

Componentes de BIND

1. named

Es el daemon principal de BIND. Se ejecuta como un servicio y se encarga de escuchar peticiones DNS y responderlas.

2. Archivos de configuración

  • / etc/named.conf: archivo de configuración principal.
  • Archivos de zona: definen los datos para dominios específicos.

3. Archivos de log

  • Generalmente se ubican en / var/log/, configurables en named.conf.

Instalación de BIND en Linux

En Debian/Ubuntu:

sudo apt update
sudo apt install bind9 bind9utils bind9-doc

En RHEL/CentOS/Fedora:

sudo dnf install bind bind-utils
Servidor DNS con BIND: Configuración, Seguridad y Casos de Uso en Linux

Estructura del archivo named.conf

options {
   directory "/var/named";
   listen-on port 53 { any; };
   allow-query { any; };
   recursion yes;
};

zone "example.com" {
   type master;
    file "/var/named/example.com.zone";

};

zone "1.168.192.in-addr.arpa" {
   type master;
   file "/var/named/reverse.zone";
};

Explicación:

  • options: parámetros globales.
  • zone: define una zona (directa o inversa).
  • type master: este servidor es el maestro de la zona.
  • file: archivo con los registros DNS.

Archivos de zona

Zona directa (example.com.zone)

$TTL 86400

@   IN  SOA ns1.example.com. admin.example.com. (
       2025040501 ; Serial
       3600       ; Refresh
       1800       ; Retry
       604800     ; Expire
       86400 )    ; Minimum TTL

@       IN  NS  ns1.example.com.
@       IN  A   192.168.1.10
www     IN  A   192.168.1.10
mail    IN  A   192.168.1.11
@       IN  MX  10 mail.example.com.

Zona inversa (reverse.zone)

$TTL 86400
@   IN  SOA ns1.example.com. admin.example.com. (
       2025040501 ; Serial
       3600       ; Refresh
       1800       ; Retry
       604800     ; Expire
        86400 )    ; Minimum TTL

@       IN  NS      ns1.example.com.
10      IN  PTR     www.example.com.
11      IN  PTR     mail.example.com.

Inicialización del servicio

Iniciar BIND:

sudo systemctl start named

Habilitar al arranque:

sudo systemctl enable named

Ver estado:

sudo systemctl status named

Herramientas útiles

Verificar zonas

named-checkzone example.com /var/named/example.com.zone

Verificar config global

named-checkconf / etc/named.conf

Consultar DNS localmente

dig @localhost www.example.com
nslookup www.example.com localhost

Seguridad y Buenas Prácticas

Chroot

Se puede ejecutar BIND en modo chroot para aislarlo del resto del sistema:

  • En Debian: bind9 ya corre en chroot por defecto.
  • En RHEL: crear un entorno chroot manualmente o usar bind-chroot.

DNSSEC

Soporta DNSSEC para validar integridad de los registros DNS.

ACLs

Puedes restringir el acceso por IP:

acl mynetwork {
   192.168.1.0/24;
};


options {
   allow-query { mynetwork; };
};

Rate limiting

Evita ataques de denegación de servicio DNS:

rate-limit {
   responses-per-second 5;
};

Modos de funcionamiento

Rol

Descripción

Maestro (master)

Contiene los archivos de zona editables.

Esclavo (slave)

Obtiene zona desde un maestro vía transferencia AXFR.

Caché (caching resolver)

No es autoritativo, resuelve consultas usando su caché.

Reenviador (forwarder)

Redirige consultas a servidores externos.

 

Integración con otros sistemas

  • DHCP y BIND pueden integrarse para actualizar dinámicamente zonas (ddns-update-style).
  • Puede integrarse con Active Directory como servidor DNS alternativo o autoritativo para zonas específicas.

Casos prácticos y usos comunes

  1. Servidor DNS interno para una red LAN.
  2. Servidor DNS autoritativo público para un dominio en Internet.
  3. Servidor DNS esclavo como respaldo del maestro.
  4. Reenviador DNS local para mejorar velocidad de resolución en oficinas.
  5. Ambiente de pruebas o laboratorio en entornos virtualizados.

Ejemplo completo (zona + config)

// named.conf
zone " example.com " IN {
   type master;
   file "/ etc/bind/db. example.com ";
};

 

// db. example.com
$TTL 86400
@   IN  SOA ns1. example.com. admin. example.com. (
   2025040501 ; Serial
   3600       ; Refresh
   1800       ; Retry
   604800     ; Expire
    86400 )    ; Minimum TTL


@       IN  NS  ns1. example.com.
@       IN  A   45.80.123.10
www     IN  A   45.80.123.10
mail    IN  A   45.80.123.11
@       IN  MX  10 mail. example.com.

Conclusión

BIND es una de las herramientas más poderosas para el manejo de nombres en redes TCP/IP.

Dominar BIND en Linux implica comprender tanto los aspectos de configuración como los fundamentos del protocolo DNS, lo que te permite crear una infraestructura robusta, segura y escalable.

Breve cuestionario de conocimientos

¿Qué te pareció este artículo?
¿Te atreves a evaluar tus conocimientos aprendidos?

QUIZ - Servidor DNS con BIND: Configuración, Seguridad y Casos de Uso en Linux

Libros recomendados para éste artículo

Autoestudio MikroTik

Estudia las certificaciones MikroTik a tu propio ritmo

Autoestudio

Aprende a tu propio ritmo

advertisement (anuncio)

MikroLABs

advertisement (anuncio)

Anuncia tu marca aquí - Escríbenos por WhatsApp (+593 98 700 0604) - abcXperts / Academy Xperts
Escríbenos por WhatsApp (+593 98 700 0604)

¿Quieres sugerir un tema?

Todas las semanas posteamos nuevo contenido. Quieres que tratemos sobre algo específico?
Tema para el proximo Blog

Próximos Cursos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

MONARC Latin America: Soluciones Tecnológicas - Guatemala.
MONARC Latin America: Soluciones Tecnológicas - monarclatinamerica.com.gt - Guatemala
1
Haz clic para chatear

AcademyXperts BETA 1.1

Tu asistente virtual de AcademyXperts

Para una asesoría exacta, completa tu ficha.

Identificación Académica

Ingresa tus datos para continuar

Número no válido

Confírmanos tus datos

Nuestros horarios son de Lunes a Viernes de 9:00 AM a 6:00 PM.

Atención: Lunes a Viernes de 9:00 AM a 6:00 PM (Ecuador GMT-5).