Guía Maestra: Configura un Dominio Replicado con Windows Server 2022, Firewall Zentyal y Monitoreo…
En este entorno, Active Directory permite gestionar usuarios y políticas de forma centralizada; Zentyal actúa como servidor Linux…
Guía Maestra: Configura un Dominio Replicado con Windows Server 2022, Firewall Zentyal y Monitoreo Nagios

En este entorno, Active Directory permite gestionar usuarios y políticas de forma centralizada; Zentyal actúa como servidor Linux integrando funciones de red como proxy, firewall y controlador de dominio compatible con AD; y Nagios supervisa el estado de los servicios, detectando fallos y alertando en tiempo real.
OBJETIVOS GENERALES
Diseñar e implementar una infraestructura de red híbrida que integre servicios de seguridad, administración de dominios, políticas de grupo y monitoreo, utilizando Zentyal Server y Windows Server.
Objetivos Específicos
- Instalar y configurar Zentyal Server como firewall, servidor DNS y proxy, para gestionar y controlar el tráfico de red.
- Implementar dos servidores Windows Server con Active Directory Domain Services (AD DS), configurados con replicación bidireccional para alta disponibilidad.
- Crear tres unidades organizativas (OU) en el dominio, asignando una política GPO y un usuario en cada una, demostrando la aplicación diferenciada de políticas.
- Permitir el acceso a Internet de los usuarios a través del firewall Zentyal, aplicando reglas de control y registro del tráfico.
- Implementar un sistema de monitoreo con Nagios, capaz de supervisar el estado de los servidores y servicios críticos de la red.
- Documentar y evidenciar la conexión entre servidores, la replicación de AD DS y la aplicación de políticas GPO mediante capturas, videos o sesiones demostrativas.
GUÍA COMPLETA
Topología De Red — Infraestructura Virtual (VirtualBox)
- Zentyal Server 4.0
- Windows Server 2022 (Active Directory Principal)
- Windows Server 2022 (Active Directory Redundancia)
- Ubuntu Server (Nagios Monitoreo)
- Windows 10 (Clientes del Dominio)
Direccionamiento IP

Tabla de Direccionamiento IP
Instalación y Configuración de Zentyal
Interfaces de Red de Zentyal (VM)
- Adaptador 1 — Adaptador Puente (Salida a Internet)
- Adaptador 2 — Red Interna (ADFIREWALL)

Adaptadores de Red
Preparación de la VM Ubuntu
Una vez terminado el proceso de instalación del Zentyal, actualizamos los repositorios y descargamos las actualizaciones disponibles. Entramos a la web de Zentyal con el usuario y contraseña. Usuario: zenadmin. Password: zenadmin.

Login Zentyal
Módulos Necesarios

Paquetes a Instalar
Zentyal instala y configura servicios subyacentes: BIND para DNS, ISC DHCP o servicio integrado, Squid para proxy, iptables/ufw gestionado por Zentyal para firewall, logging centralizado.
Interfaces de Zentyal
Configurar las interfaces de redes al instalar los módulos colocando eth0 en external así podrá obtener conexión a internet y eth1 en Internal para conectar de forma LAN.

Interfaces de Zentyal
Una vez instalado todos los servicios necesarios comenzaremos a configurarlos cada uno.
DNS (Zentyal)
- Domain name: thcompany.local (Nombre de su dominio)
- Zentyal actuará como servidor DNS interno, resolviendo nombres locales y reenviando lo demás.

Dominio thcompany.local
DHCP (Zentyal)
Activar el módulo DHCP y configuramos:
- Rango: 192.169.10.100–192.168.10.200
- DNS: 192.168.10.1 (Zentyal)
- Gateway: 192.168.10.1 (Puerta de Enlace)

Rangos DHCP

DNS

Puerta de Enlace
Proxy HTTP
Habilitamos el módulo Proxy HTTP y configuramos lo siguiente: utilizaremos el proxy en modo trasparente. Este requiere una configuración manual para que sea más explícito.

Puerto Proxy
Reglas de Accesos (Proxy HTTP)
Agregamos las siguientes reglas de acceso, estas sirven para controlar quienes pueden entrar y salir o usar ciertos servicios dentro de la red.

Reglas
Perfiles de Filtrado
Se creo un perfil de filtrado general para los usuarios. Este perfil contiene una configuración de filtrado para los usuarios cuando accedan a la red.

Perfil General
Perfil_General
- Configuración

Configuración de Filtrado
- Reglas de Dominios y URLs

Reglas de Navegación (Proxy)
Prueba de Proxy
Configuramos el proxy en la máquina cliente y servidores. Este paso lo vamos hacer a todos los usuarios que vamos a tener.

ON Proxy HTTP

Bloqueo (wikipeddia.org)

Bloqueo (elmundo.es)
Reglas de Firewall en Zentyal
Zentyal traduce reglas GUI a cadenas iptables y controla fujo entre LAN y WAN.

Redes Internas — Zentyal
Reglas de Filtrado para redes internas (LAN — WAN)
- Permitir LAN — WAN (HTTP/HTTPS/DNS)

Permitir Navegación (HTTP, HTTPS, DNS)
- Permitir Nagios → Servidores (monitorización)

Reglas Servidores

Reglas Servicios
- Denegar LAN → WAN por defecto

Denegar Tráfico
Puertos Utilizados Glosario

Puertos Definición
Reglas de filtrado para el tráfico saliente de Zentyal

Logs y registros de tráfico
Habilitar el módulo Logs en Zentyal.

Registros Zentyal
En este apartado podemos ver todos los registros del Zentyal, como inicios de sesión, firewall y también el proxy http.
- Logs de proxy (Squid): peticiones web, IP origen, URL, respuesta.
- Logs de firewall: conexiones permitidas/denegadas con timestamp.
- Ruta: : /var/log/zentyal/ o via GUI Logs.

Logs Interfaz Zentyal

Prueba AD1 — Zentyal
Controladores de Dominio Windows Server
Active Directory 1
- Cambiar el nombre del equipo a AD1.
- Configurar IP estáticas y DNS.

TCP/IPv4 (AD1)
- Instalar Rol AD DS: agrega las herramientas de administración y los binarios de AD DS.

Instalación AD

Promover DC

Dominio AD1 Thcompany.local
Active Directory 2
- Cambiar el nombre del equipo a AD2
- Configurar IP estáticas y DNS

TCP/IPv4 (AD2)
- Instalar Rol AD DS: agrega las herramientas de administración y los binarios de AD DS.

Instalación AD

Dominio Existente

Replicación AD

Sitios y Servicios

Verificación Replicación
Estructura OU, GPOs y usuarios

Unidades Organizativas
Usuarios

User — Admin

User — Técnico

User — Visitas
Creación de GPOs
- GPO — Administración (OU-Administración)

GPO.Administración

Fondo Institucional — Admin

Permitir CMD

Permitir Panel de Control

Permitir Regedit
Acceso Remoto

Conexiones Remotas
- GPO– Técnicos (OU-Técnicos)

GPO.Técnicos

Fondo Institucional — Técnico

Permitir Ejecutar

Permitir simbolo de sistema

Permitir Regedit

Permitir Scripts
- GPO — Visitantes (OU-Visitantes)

GPO.Visitantes

Fondo Institucional — Visitas

Denegar Símbolo del Sistema

Denegar Ejecutar

Restringir Unidad C

Denegar Acceso a Configuración

Denegar Ejecutar Aplicaciones
Usuarios al Dominio
Uniremos los 3 pc al dominio de Active Directory y comprobaremos las políticas creadas anteriormente. Primero configuraremos las interfaces de red con las IPs asignadas en el diagrama de red y uniremos al dominio.

Sesión Admin

Interfaz Admin

Reporte Admin

Sesión Técnico

Interfaz Técnico

Reporte Técnico

Sesión Visitas

Interfaz Visitas
Pruebas de Navegación

Registros
Desde la terminal del Zentyal podemos ver todos los logs en esta ruta /var/log, también podemos filtrar por las IPs de los usuarios.
Implementación de Nagios
Instalación de Nagios (Ubuntu 22.x /24.x)
En la instalación de Nagios tenemos que tener en cuenta la version de nuestro sistema operativo.
sudo apt-get update
sudo apt-get install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev ufw
sudo apt-get install -y openssl libssl-dev
Prerrequisitos (Nagios)
Descargar Código Fuente
cd /tmp
wget -O nagioscore.tar.gz $(wget -q -O - https://api.github.com/repos/NagiosEnterprises/nagioscore/releases/latest
tar xzf nagioscore.tar.gz
Copilar Código
cd /tmp
wget -O nagioscore.tar.gz $(wget -q -O - https://api.github.com/repos/NagiosEnterprises/nagioscore/releases/latest
tar xzf nagioscore.tar.gz
Creación de Usuario y grupo
sudo make install-groups-users
sudo usermod -a -G nagios www-data #El usuario www-data también se agrega al grupo de Nagios
Instalar Binarios
sudo make install #Instala los archivos binarios, CGI y HTML
- Instalar servicio/demonio
sudo make install-daemoninit
- Instalar modo de comando
sudo make install-commandmode #Esto instala y configura el archivo de comando externo
- Instalar archivos de configuración
sudo make install-config #Esto instala los archivos de configuración *SAMPLE*
- Instalar archivos de configuración de Apache
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi
Configurar Firewall
sudo ufw permite
recargar Apache sudo ufw
Creación de NagiosAdmin
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Iniciar Servidor Web Apache
sudo systemctl restart apache2.service
Iniciar servicio/demonio
sudo systemctl start nagios.service
Interfaz Web Nagios

Interfaz Nagios
Instalación de los Complementos de Nagios
- Prerrequisitos
sudo apt-get install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev wget bc gawk dc build-essential snmp libnetsnmp-perl gettext
- Descargar Código Fuente
cd /tmp
wget -O nagios-plugins.tar.gz $(wget -q -O - https://api.github.com/repos/nagios-plugins/nagios-plugins/releases/latest
tar zxf nagios-plugins.tar.gz
- Compilar + Instalar
cd /tmp/nagios-plugins-*/
sudo ./configure
sudo make
sudo make install
- Comandos de Servicio/demonio
sudo systemctl start nagios.service
sudo systemctl stop nagios.service
sudo systemctl restart nagios.service
sudo systemctl status nagios.service
Configuración de Hosts (Nagios)
Para el monitoreo en Nagios, es fundamental modificar y adaptar sus archivos de configuración. Este proceso implica definir que queremos monitorear, como monitorearlo y como notificar en caso de incidencias.
Nagios
Agregaremos las líneas para la configuración de hosts y alertas.
En la ruta: /usr/local/nagios/etc/nagios.cfg.
# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
# Configuración de hosts y alertas
cfg_file=/usr/local/nagios/etc/objects/zentyal.cfg
cfg_file=/usr/local/nagios/etc/objects/ad1.cfg
cfg_file=/usr/local/nagios/etc/objects/ad2.cfg
Agregaremos la configuración de los equipos a monitorear con sus respectivas configuraciones y modificaremos.
En la ruta: /usr/local/nagios/etc/objects.
- Contacts.cfg
# CONTACTS
define contact {
contact_name nagiosadmin ;
use generic-contact ;
alias Nagios Admin ;
email email ; # Colocar su email
}
# CONTACT GROUPS
define contactgroup {
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
- Commands.cfg
define command {
command_name check_dhcp
command_line $USER1$/check_dhcp -i $ARG1$
}
define command {
command_name check_dns
command_line $USER1$/check_dns -s $ARG1$ -H $ARG2$
}
define command {
command_name check_load
command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}
define command {
command_name check_swap
command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$
}
Active Directory 1 (Ad1.cfg)
define host{
use generic-host
host_name ad1
alias Active Directory 1
address 192.168.10.10
max_check_attempts 3
check_interval 2
retry_interval 1
contact_groups admins
}
# ALERTA: Estado del Servidor (UP/DOWN)
define service{
use generic-service
host_name ad1
service_description Server Status
check_command check_ping!100.0,20%!500.0,60%
check_interval 2
retry_interval 1
notification_interval 10
}
# ALERTA: Consumo de CPU Elevado
define service{
use generic-service
host_name ad1
service_description CPU Usage
check_command check_nt!CPULOAD!-l 5,80,90
check_interval 3
notification_options w,u,c
# ALERTA: Consumo de RAM Elevado
define service{
use generic-service
host_name ad1
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
check_interval 3
notification_options w,u,c
}
# ALERTA: Caída de DNS
define service{
use generic-service
host_name ad1
service_description DNS Service
check_command check_dns!192.168.10.10!ad1.thcompany.local
check_interval 3
notification_options c,r
}
Active Directory 2 (Ad2.cfg)
define host{
use generic-host
host_name ad2
alias Active Directory 2
address 192.168.10.11
max_check_attempts 3
check_interval 2
retry_interval 1
contact_groups admins
}
# ALERTA: Estado del Servidor (UP/DOWN)
define service{
use generic-service
host_name ad2
service_description Server Status
check_command check_ping!100.0,20%!500.0,60%
check_interval 2
retry_interval 1
notification_interval 10
}
# ALERTA: Consumo de CPU Elevado
define service{
use generic-service
host_name ad2
service_description CPU Usage
check_command check_nt!CPULOAD!-l 5,80,90
check_interval 3
notification_options w,u,c
}
# ALERTA: Consumo de RAM Elevado
define service{
use generic-service
host_name ad2
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
check_interval 3
notification_options w,u,c
}
# ALERTA: Caída de DNS
define service{
use generic-service
host_name ad2
service_description DNS Service
check_command check_dns!192.168.10.11!ad2.thcompany.local
check_interval 3
notification_options c,r
}
Zentyal (Zentyal.cfg)
define host{
use generic-host
host_name zentyal
alias Zentyal Firewall
address 192.168.10.1
max_check_attempts 3
check_interval 2
retry_interval 1
contact_groups admins
}
# ALERTA: Estado del Firewall (UP/DOWN)
define service{
use generic-service
host_name zentyal
service_description Firewall Status
check_command check_ping!100.0,20%!500.0,60%
check_interval 2
retry_interval 1
max_check_attempts 3
notification_interval 10
notification_options w,u,c,r
}
# ALERTA: DNS Service
define service{
use generic-service
host_name zentyal
service_description DNS Service
check_command check_dns!192.168.10.1!zentyal.thcompany.local
check_interval 3
retry_interval 1
notification_options c,r
}
# ALERTA: DHCP Service
define service{
use generic-service
host_name zentyal
service_description DHCP Service
check_command check_dhcp!enp0s3
check_interval 3
retry_interval 1
notification_options c,r
}
# ALERTA: CPU Load Elevado
define service{
use generic-service
host_name zentyal
service_description CPU Load
check_command check_load!4.0,3.0,2.0!6.0,5.0,4.0
check_interval 3
notification_options w,u,c
}
# ALERTA: RAM Usage Elevado
define service{
use generic-service
host_name zentyal
service_description Memory Usage
check_command check_swap!20%!10%
check_interval 3
notification_options w,u,c
}
Monitoreo en Nagios

Equipos Monitoreo

AD1 off

Procesos Equipos

Alertas Nagios
CONCLUSIÓN
En este proyecto se realizó una solución completa e integrada siguiendo los objetivos: Zentyal configurado como firewall, DNS y proxy; dos controladores de dominios Windows (AD DS) con replicación bidireccional; tres OU con GPOs diferenciadas y usuarios asociados; acceso a Internet controlado y registrado a través de Zentyal; y un sistema de monitoreo centralizado con Nagios que supervisa disponibilidad y rendimiento de los componentes críticos.
Las pruebas y evidencias (capturas, comandos ejecutados y reportes) demuestran que la replicación, la aplicación de políticas y el flujo de tráfico funcionan según lo esperado.
Zentyal asegura y audita el acceso a Internet, AD garantiza autenticación y políticas consistentes entre sitios, y Nagios permite detección temprana de incidentes y métricas accionables. Esto reduce el tiempo de resolución de fallos, mejora la seguridad perimetral y facilita la gestión de usuarios y equipos en la organización.
REFERENCIAS BIBLIOGRAFICAS
- Zentyal 8.0 Documentación oficial — Documentación de Zentyal 8.0. (s. f.). https://doc.zentyal.org/es/
- Nagios. (2025, 1 julio). Documentation | Nagios Open Source. Nagios Open Source. https://www.nagios.org/documentation/
- Nagios docs. (s. f.). https://library.nagios.com/docs
- Welcome — NSClient++. (s. f.). https://nsclient.org/
메타데이터
- post_id
- 074f6ae421c3
- slug
- guía-maestra-configura-un-dominio-replicado-con-windows-server-2022-firewall-zentyal-y-monitoreo-074f6ae421c3
- url
- https://medium.com/@4lfr3do77v/gu%C3%ADa-maestra-configura-un-dominio-replicado-con-windows-server-2022-firewall-zentyal-y-monitoreo-074f6ae421c3
- canonical_url
- https://medium.com/@4lfr3do77v/gu%C3%ADa-maestra-configura-un-dominio-replicado-con-windows-server-2022-firewall-zentyal-y-monitoreo-074f6ae421c3
- author_url
- https://medium.com/@4lfr3do77v
- status
- ok
- fetched_at
- 2026-07-13 06:23:13