Configuración de servidor DNS con BIND9 y servidor web Apache2 en Ubuntu
Introducción
Montar un servidor DNS propio en una red local permite resolver nombres de dominio personalizados sin depender de servidores externos. Combinado con un servidor web Apache2, es posible crear un entorno de desarrollo completo donde los clientes de la red puedan acceder a sitios web internos mediante nombres de dominio en lugar de direcciones IP. En esta guía se documenta el proceso completo en un entorno de dos máquinas virtuales Ubuntu en VirtualBox: una actúa como servidor (DNS + web) y la otra como cliente.
Entorno de trabajo
Las dos máquinas virtuales se crean en VirtualBox con los adaptadores de red configurados correctamente para que puedan comunicarse entre sí. La referencia de configuración utilizada es:
- Servidor: Ubuntu Server — ejecuta BIND9 (DNS) y Apache2 (web).
- Cliente: Ubuntu Desktop — configurado para usar el servidor DNS de la máquina servidor.
El dominio interno creado para la demostración es bixi.com, resuelto por el servidor DNS propio.
Configuración del servidor DNS con BIND9
BIND9 es el servidor DNS más utilizado en sistemas Linux. Su instalación y configuración en Ubuntu permite resolver nombres de dominio tanto para la red interna como para consultas externas.
Instalación de BIND9
El primer paso es instalar el paquete bind9 en la máquina servidor:
Verificación del estado del servicio
Una vez instalado, se verifica que el servicio está activo y en ejecución:
Configuración del archivo named.conf.options
El archivo /etc/bind/named.conf.options define las opciones globales del servidor DNS: los forwarders (servidores DNS de reenvío cuando no se conoce la respuesta), la escucha en interfaces y los permisos de consulta.
Configuración del archivo named.conf.local
En /etc/bind/named.conf.local se declaran las zonas DNS gestionadas por este servidor. Para el dominio bixi.com se añade una zona directa (nombre → IP) y opcionalmente una zona inversa (IP → nombre):
Creación del archivo de zona
El archivo de zona contiene los registros DNS del dominio: el registro SOA (Start of Authority), los registros NS (Name Server) y los registros A (nombre → dirección IP). Se crea en el directorio /etc/bind/zones/:
Reinicio del servicio y verificación
Tras modificar la configuración, se reinicia BIND9 y se comprueba que no hay errores de sintaxis:
user@servidor:~$ sudo named-checkconf
user@servidor:~$ sudo named-checkzone bixi.com /etc/bind/zones/db.bixi.com
Configuración del cliente
En la máquina cliente, se configura el servidor DNS para que apunte a la IP del servidor Ubuntu donde se ha instalado BIND9. Esto se hace modificando el archivo /etc/resolv.conf o a través de la configuración de red del sistema:
Demostración del funcionamiento del DNS
Con las dos máquinas virtuales en funcionamiento y el cliente configurado para usar el servidor DNS, se verifica que el dominio bixi.com se resuelve correctamente desde el cliente. El dominio DNS apunta a la web DHCP configurada en el servidor:
Configuración del servidor web con Apache2
Apache2 es el servidor web más utilizado en sistemas Linux. Su instalación en Ubuntu es directa:
Una vez instalado, Apache2 arranca automáticamente y sirve la página por defecto en el puerto 80. Se verifica que el servicio está activo:
Acceso desde el cliente al servidor web
Desde el cliente, se abre el navegador y se accede a la IP del servidor o con el nombre del dominio. La página por defecto de Apache2 se carga correctamente, confirmando que hay conectividad entre las dos máquinas virtuales y que el servidor web está operativo.
Conclusión
La combinación de un servidor DNS BIND9 y un servidor web Apache2 en Ubuntu permite crear un entorno de intranet completo donde los equipos de la red acceden a servicios web internos mediante nombres de dominio personalizados. La clave está en que el archivo de zona DNS tenga correctamente configurado el registro A que apunta al servidor web.
Categorías
Entradas recientes
- Configuración de VLANs en Packet Tracer: creación, asignación de puertos, VLAN de administración y puertos troncales
- Análisis de LogicalDOC: la alternativa profesional a Google Drive para empresas
- Administra switches Cisco como un profesional: desde el modo usuario hasta la configuración de VLANs en Packet Tracer
- Monta tu propio servidor DNS y web en Ubuntu: BIND9 + Apache2 para redes locales
- Cómo analizar tráfico de red con Wireshark: desde el modo promiscuo hasta el seguimiento de conversaciones TCP

