Implementación de varias MCU de 3CX y motores de transcripción con IA en una sola red LAN.

Cuando se ejecutan varias instancias de servicios que requieren nombres de dominio completos (FQDN) de acceso público y certificados SSL, la administración de los certificados puede resultar complicada.

Para ofrecer ejemplos claros de lo que se puede y lo que no se puede lograr, tomaremos como punto de partida un escenario habitual y luego analizaremos cómo las diferentes variantes afectan a su estrategia de administración de certificados SSL.

La Configuración Común de Ejemplo

Para explicarlo mejor, consideraremos una configuración con tres equipos dentro de la misma red LAN local:

  • Sistema Telefónico 3CX – Dirección IP 192.168.0.10.
  • MCU Integrado 3CX – Dirección IP 192.168.0.20.
  • IA Integrada 3CX – Dirección IP 192.168.0.30.

FQDNs Proporcionados por 3CX

La implementación estándar de 3CX utiliza un cliente ACME personalizado para suministrar y renovar automáticamente los certificados de Let’s Encrypt. Este método vincula el certificado directamente a la instalación de 3CX y al nombre de dominio completo (FQDN). Existen tres requisitos, tal y como se describe a continuación:

1. Direcciones IP Públicas Dedicadas

Para que esta configuración funcione, cada una de estas tres máquinas necesitará una Dirección IP pública dedicada; veamos este ejemplo:

FQDN Sistema Dirección IP LAN Dirección IP Pública
mypbx.3cx.com.cy Sistema Telefónico 3CX 192.168.0.10 20.20.20.20
mymcu.my3cx.net (auto-asignado) MCU Integrado 3CX 192.168.0.20 20.20.20.21
myai.my3cx.net (auto-asignado) IA Integrada 3CX 192.168.0.30 20.20.20.22

2. DNS Divididos

El servidor DNS de su red LAN debe estar configurado para garantizar que:

  • Dentro de la LAN, los nombres de dominio completos (FQDN) se resuelven a sus direcciones IP de la LAN.
  • Fuera de la LAN, sus FQDN se resuelven a sus direcciones IP públicas.

La forma más sencilla de hacerlo es creando registros A (o AAAA) específicos para el FQDN de los equipos de su LAN, en los que el servidor DNS local esté configurado de la siguiente manera:

  • FQDN: mypbx.3cx.com.cy – Sistema Telefónico 3CX – Dirección IP 192.168.0.10.
  • FQDN: mymcu.my3cx.net – MCU Integrado 3CX – Dirección IP 192.168.0.20.
  • FQDN: myai.my3cx.net – IA Integrada 3CX – Dirección IP 192.168.0.30.

A estas configuraciones se les conoce con diferentes nombres, entre ellos:

  • Zonas de DNS específicas.
  • Zona de Política de Respuesta (RPZ).
  • DNS de Horizonte-Dividido o Vistas.
  • Zonas de Sombra.

3. Reenvío de Puertos para la Actualización Automática de Certificados

Deberá configurar su firewall o router perimetral para:

  • Reenviar todo el tráfico (para mymcu.my3cx.net) de 20.20.20.21:80 a 192.168.0.20:80.
  • Reenviar todo el tráfico (para myai.my3cx.net) desde 20.20.20.22:80 a 192.169.0.30:80.

Esto permitirá que Let’s Encrypt se comunique con su equipo para Actualizar los Certificados.

El Sistema Telefónico 3CX (mypbx.3cx.com.cy) no requiere este reenvío de puertos, ya que utiliza la infraestructura en la Nube de 3CX para actualizar sus certificados FQDN de 3CX.

NOTA: Si no puede asignar direcciones IP públicas distintas a todas sus máquinas MCU y / o IA dentro de la LAN, DEBE utilizar sus propios nombres de dominio completos (FQDN) personalizados.

FQDN Personalizados Mediante Let’s Encrypt con Automatización de DNS

Este enfoque es adecuado si las tres máquinas 3CX se encuentran en la LAN y no se puede acceder a ninguna de ellas directamente desde la Internet pública. Esto requiere una configuración manual adicional a la configuración estándar de 3CX. A efectos de este ejemplo, supondremos los siguientes nombres de dominio completos (FQDN):

  • mypbx.example.com.
  • mymcu.example.com.
  • myai.example.com.

Al igual que antes, hay que cumplir una serie de requisitos que se detallan a continuación:

1. Script de Automatización

Deberá crear un script de automatización en alguna máquina de la LAN que:

  • Utilice el mecanismo de verificación DNS-01 de Let’s Encrypt.
  • Se ejecute periódicamente para garantizar la renovación de los certificados con antelación.
  • Se comunique con Let’s Encrypt para solicitar la renovación del certificado.
  • Se comunique con la API de su proveedor de DNS para crear los registros necesarios para la verificación de Let’s Encrypt.
  • Guarde el archivo PEM y el archivo KEY del certificado descargado en una carpeta; por ejemplo:
/etc/letsencrypt/live/mymcu.example.com/fullchain.pem
/etc/letsencrypt/live/mymcu.example.com/privkey.pem

2. Script de Actualización de Certificados

A continuación, deberá crear un script de actualización de certificados que:

  • Compruebe si hay nuevos archivos de certificados.
  • Si los encuentra, los copie en los destinos correctos.
  • Elimine los archivos de origen para evitar copiarlos innecesariamente cada vez que se ejecuta.

A continuación se muestra un script de ejemplo para la máquina mymcu.example.com que puede guardar en “/root/certupdate.sh” (lo mismo se puede aplicar a myai.example.com):

#!/bin/bash
cp /etc/letsencrypt/live/mymcu.example.com/fullchain.pem /opt/3cxwm/cert/server.crt
cp /etc/letsencrypt/live/mymcu.example.com/privkey.pem /opt/3cxwm/cert/server.key
chown www-data:www-data /opt/3cxwm/cert/server.*
chmod 600 /opt/3cxwm/cert/server.*

Establezca los permisos correctos para el script:

chmod +x /root/certupdate.sh

…y agréguelo a su ‘crontab’ para que se ejecute, por ejemplo, todas las mañanas a las 3 a. m.

FQDN Personalizado – Renovación manual del Certificado

Si solo puedes renovar los certificados manualmente, por ejemplo, porque su proveedor de DNS no dispone de API para la automatización, y quizá también porque utiliza certificados comodín, el procedimiento es básicamente el mismo que el anterior, salvo que deberá realizar los cambios usted mismo sin poder aprovechar las ventajas de la automatización.

Autoridad de Certificación Alternativa

Para las autoridades de certificación distintas de Let’s Encrypt, ofrecemos aquí una guía general con consejos sobre cómo elegir cuál utilizar.

No Olvide Seguirnos

Únase a nuestro Foro para decirnos lo que piensa y síganos en X y LinkedIn para estar al tanto de las novedades y nuevas funciones.