← Back to list

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…

Edward Dominguez · 2026-03-17 16:46 · 0 claps · 11.5 min read
#windows-server #nagios #zentyal #guia-maestra #dominio
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity 🔓 · Open Source 🎬 · Film & Television 🧘 · Spirituality

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

  1. Instalar y configurar Zentyal Server como firewall, servidor DNS y proxy, para gestionar y controlar el tráfico de red.
  2. Implementar dos servidores Windows Server con Active Directory Domain Services (AD DS), configurados con replicación bidireccional para alta disponibilidad.
  3. 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.
  4. Permitir el acceso a Internet de los usuarios a través del firewall Zentyal, aplicando reglas de control y registro del tráfico.
  5. Implementar un sistema de monitoreo con Nagios, capaz de supervisar el estado de los servidores y servicios críticos de la red.
  6. 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

Tabla de Direccionamiento IP

Instalación y Configuración de Zentyal

Interfaces de Red de Zentyal (VM)

  1. Adaptador 1 — Adaptador Puente (Salida a Internet)
  2. Adaptador 2 — Red Interna (ADFIREWALL)

Adaptadores de Red

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

Login Zentyal

Módulos Necesarios

Paquetes a Instalar

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

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

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

Rangos DHCP

DNS

DNS

Puerta de Enlace

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

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

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

Perfil_General

  • Configuración

Configuración de Filtrado

Configuración de Filtrado

  • Reglas de Dominios y URLs

Reglas de Navegación (Proxy)

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

ON Proxy HTTP

Bloqueo (wikipeddia.org)

Bloqueo (wikipeddia.org)

Bloqueo (elmundo.es)

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

Redes Internas — Zentyal

Reglas de Filtrado para redes internas (LAN — WAN)

  • Permitir LAN — WAN (HTTP/HTTPS/DNS)

Permitir Navegación (HTTP, HTTPS, DNS)

Permitir Navegación (HTTP, HTTPS, DNS)

  • Permitir Nagios → Servidores (monitorización)

Reglas Servidores

Reglas Servidores

Reglas Servicios

Reglas Servicios

  • Denegar LAN → WAN por defecto

Denegar Tráfico

Denegar Tráfico

Puertos Utilizados Glosario

Puertos Definición

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

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

Logs Interfaz Zentyal

Prueba AD1 — 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)

TCP/IPv4 (AD1)

  • Instalar Rol AD DS: agrega las herramientas de administración y los binarios de AD DS.

Instalación AD

Instalación AD

Promover DC

Promover DC

Dominio AD1 Thcompany.local

Dominio AD1 Thcompany.local

Active Directory 2

  • Cambiar el nombre del equipo a AD2
  • Configurar IP estáticas y DNS

TCP/IPv4 (AD2)

TCP/IPv4 (AD2)

  • Instalar Rol AD DS: agrega las herramientas de administración y los binarios de AD DS.

Instalación AD

Instalación AD

Dominio Existente

Dominio Existente

Replicación AD

Replicación AD

Sitios y Servicios

Sitios y Servicios

Verificación Replicación

Verificación Replicación

Estructura OU, GPOs y usuarios

Unidades Organizativas

Unidades Organizativas

Usuarios

User — Admin

User — Admin

User — Técnico

User — Técnico

User — Visitas

User — Visitas

Creación de GPOs

  • GPO — Administración (OU-Administración)

GPO.Administración

GPO.Administración

Fondo Institucional — Admin

Fondo Institucional — Admin

Permitir CMD

Permitir CMD

Permitir Panel de Control

Permitir Panel de Control

Permitir Regedit

Permitir Regedit

Acceso Remoto

Conexiones Remotas

Conexiones Remotas

  • GPO– Técnicos (OU-Técnicos)

GPO.Técnicos

GPO.Técnicos

Fondo Institucional — Técnico

Fondo Institucional — Técnico

Permitir Ejecutar

Permitir Ejecutar

Permitir simbolo de sistema

Permitir simbolo de sistema

Permitir Regedit

Permitir Regedit

Permitir Scripts

Permitir Scripts

  • GPO — Visitantes (OU-Visitantes)

GPO.Visitantes

GPO.Visitantes

Fondo Institucional — Visitas

Fondo Institucional — Visitas

Denegar Símbolo del Sistema

Denegar Símbolo del Sistema

Denegar Ejecutar

Denegar Ejecutar

Restringir Unidad C

Restringir Unidad C

Denegar Acceso a Configuración

Denegar Acceso a Configuración

Denegar Ejecutar Aplicaciones

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

Sesión Admin

Interfaz Admin

Interfaz Admin

Reporte Admin

Reporte Admin

Sesión Técnico

Sesión Técnico

Interfaz Técnico

Interfaz Técnico

Reporte Técnico

Reporte Técnico

Sesión Visitas

Sesión Visitas

Interfaz Visitas

Interfaz Visitas

Pruebas de Navegación

Registros

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

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

Equipos Monitoreo

AD1 off

AD1 off

Procesos Equipos

Procesos Equipos

Alertas Nagios

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


메타데이터
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