Configuración de Devolutions Gateway en Linux
Instalar y ejecutar Devolutions Gateway en Linux es rápido y sencillo, siempre que se cumplan varios requisitos previos. Se ha utilizado Ubuntu 22.04 LTS para demostrar la instalación y la configuración.
Para la configuración se requiere Devolutions Server o Devolutions Cloud, así como una licencia de Devolutions Gateway.
Instalar Devolutions Gateway
Vaya a la página Devolutions Gateway GitHub Release y descargue el fichero .deb de la última versión.
Introduzca lo siguiente en la línea de comandos:
wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb
Instale el paquete con la utilidad
dpkg:sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb
Actualizar Devolutions Gateway
Para actualizar Devolutions Gateway en Linux, descargue el último paquete como se explica en la sección anterior y ejecute el comando de instalación. El paquete se instalará sobre la instalación existente y conservará las configuraciones.
Instalar el módulo de PowerShell del gateway
Se recomienda utilizar el módulo de PowerShell del gateway para configurar y gestionar la instancia de Devolutions Gateway en Linux.
Instale PowerShell con este comando:
Instale el módulo de PowerShell de Devolutions Gateway:
Una vez instalado, la configuración de Devolutions Gateway se puede iniciar, detener, ver o modificar.
Configurar los certificados
Una confianza adecuada de los certificados entre sistemas es clave para que Devolutions Gateway funcione. Funciones como WebSockets, utilizadas en las vistas del panel web de RDP, SSH, etc., requieren un certificado correctamente confiable. Un certificado de una autoridad oficial como Let's Encrypt sería lo ideal para la mayoría de los sistemas de producción. Se pueden generar certificados autofirmados, como el ejemplo que se muestra a continuación, pero requieren una configuración adicional para su confianza. Puede generar certificados en cualquier sistema y utilizarlos en Devolutions Gateway si cumplen los requisitos de certificado.
Generar un certificado LetsEncrypt en Ubuntu 22.04 LTS mediante Certbot
Una opción es generar un certificado LetsEncrypt con la utilidad Certbot. Para instalar la última versión, puede utilizar el gestor de paquetes snap. Según la distribución de Ubuntu, los repositorios APT predeterminados pueden no contener la última versión del software. En este ejemplo, se utiliza la verificación de dominio con Cloudflare como proveedor de DNS.
El ejemplo siguiente muestra Certbot instalado y ejecutándose como usuario root, pero Devolutions Gateway como un usuario diferente.
Cuando utilice Cloudflare, genere un token de API con ámbito de usuario o de cuenta, utilizando la plantilla Edit zone DNS. Una vez que tenga el token de API, cree la carpeta contenedora y el fichero
.inicorrespondiente para contener el token de API.Solicite un certificado para su dominio de Devolutions Gateway utilizando el plugin de DNS de Cloudflare. Sustituya el valor
gateway.mydomain.comque aparece a continuación por su propio dominio.Modifique su fichero de configuración
gateway.jsonpara añadir las siguientes líneas y utilizar el certificado recién generado, usando el módulo de PowerShell de Devolutions Gateway. Los comandos siguientes modifican las variables de configuraciónTlsCertificateFile,TlsPrivateKeyFileyListeners.Antes de poder reiniciar Devolutions Gateway para utilizar el nuevo certificado, debe permitir que el usuario que ejecuta Devolutions Gateway lea los ficheros del certificado. Esto supone que su usuario se llama devolutions y que el certificado se llama gateway. Está concediendo derechos de recorrido a los directorios y derechos de lectura a los propios ficheros del certificado.
Reinicie Devolutions Gateway utilizando el comando
systemctlo el módulo de PowerShell de Devolutions Gateway.
Renovar el certificado LetsEncrypt
De forma predeterminada, con el método de instalación mediante Snap, se utiliza un temporizador de systemd (en lugar de una tarea cron), que se ejecuta dos veces al día (aunque solo renueva un certificado en los 30 días previos a su caducidad). Para forzar una renovación, puede utilizar el comando siguiente.
Generar un certificado autofirmado en Ubuntu 22.04 LTS mediante OpenSSL
Con la utilidad OpenSSL, genere un certificado directamente desde la línea de comandos. A continuación, el certificado debe colocarse directamente en el directorio de configuración /etc/devolutions-gateway.

La solicitud de certificado será diferente en cada configuración.
Tenga en cuenta que el certificado debe incluir una extensión Subject Alternative Name (SAN) con un nombre DNS o una dirección IP, y también debería contener la extensión Extended Key Usage (EKU) con la finalidad Server Authentication (serverAuth). Esto es necesario porque los sistemas operativos y navegadores modernos, incluidos Google Chrome y macOS, rechazarán los certificados que carezcan de un SAN o del EKU adecuado, incluso si el Common Name (CN) está definido. Es posible relajar este requisito estableciendo la opción TlsVerifyStrict en false si es necesario, pero no se recomienda.
Opciones de personalización
Explicación
req
Crear y procesar solicitudes de certificado, incluidos certificados autofirmados en formato PKCS#10.
-x509
Genera un certificado autofirmado.
-subj
Define el asunto del certificado en la línea de comandos. No debe haber espacios entre las secciones
/C- País en código de 2 dígitos, como «CA» para Canadá o «US» para Estados Unidos./ST- Estado o provincia, como Quebec o California./L- Localidad, como Lavaltrie o Sacramento./O- Organización, como Devolutions o Microsoft./CN- Nombre común, aquíubuntu-2204(como se muestra mediante el comandohostname).
-addext
Para añadir un Subject Alternate Name (SAN), puede utilizar este parámetro para definir una entrada de IP o de DNS.
"subjectAltName = IP:10.10.0.20""subjectAltName = DNS:ubuntu-2204"
-nodes
No cifrar la clave privada creada.
-days
El número de días que el certificado es válido.
-newkey
Define el algoritmo y el tamaño en bits, aquí se utiliza rsa:2048.
-keyout
La ubicación donde crear el fichero de clave privada.
-out
La ubicación donde crear el fichero de clave pública.
Confiar en el certificado autofirmado en Ubuntu
El certificado TLS tiene dos finalidades:
Proteger la API de gestión;
Proteger cualquier túnel de cliente a Gateway en el que el gateway pueda inspeccionar o filtrar el tráfico (sitios web, Gateway Tunnel, SCP/SFTP, etc.). Para protocolos opacos como RDP o SSH, Devolutions Gateway simplemente reenvía bytes ya cifrados, pero el certificado sigue siendo necesario para las comprobaciones de estado del gateway y para funciones futuras.
Una vez creado el certificado autofirmado, será necesario confiar en el certificado dentro del sistema Ubuntu. Para confiar en él en todo el sistema, utilice el siguiente conjunto de comandos:

Es posible que ca-certificates ya esté instalado. Al ejecutar el comando update-ca-certificates se creará un enlace simbólico en /etc/ssl/certs al fichero de certificado copiado en /usr/local/share/ca-certificates.
Si esto se hace en Firefox, aparecerán múltiples errores de confianza, ya que el navegador no utiliza el almacén de certificados del sistema. Su documentación ofrece algunas soluciones para ello.
Confiar en el certificado autofirmado en Windows
Después de crear el certificado autofirmado, será necesario confiar en él en Devolutions Server. Los ficheros server.crt y server.key deberán transferirse al sistema Windows; o bien copie y pegue su contenido en ficheros (es decir, sudo cat server.crt en Ubuntu y copiarlo en un fichero de texto en Windows).
Omita esta sección si Devolutions Server no se ejecuta en Windows.
1. Copie la clave pública a Windows (en el ejemplo, C:\Gateway es una ubicación temporal):
sudo cat server.crt

Copie el contenido en un fichero server.crt.

Copie la clave privada a Windows:
sudo cat server.key
Copie el contenido en un fichero server.key.

Cree un fichero PFX utilizando la herramienta de línea de comandos certutil de Windows. Para que esto funcione, el fichero de clave debe tener el mismo nombre que el fichero crt, diferenciándose solo en la extensión:
certutil -mergepfx server.crt server.pfx
Importe el fichero PFX en el almacén de certificados Entidades de certificación raíz de confianza.
Haga doble clic en el fichero server.pfx para iniciar el asistente de importación y elija Equipo local.
Haga clic en Siguiente y acepte el aviso.

Haga clic en Siguiente.

Introduzca la contraseña que indicó con el comando
certutil.Opcionalmente: elija Marcar esta clave como exportable.

Elija la opción Colocar todos los certificados en el siguiente almacén.
Seleccione Entidades de certificación raíz de confianza con el botón Examinar....
Haga clic en Siguiente.

Haga clic en Finalizar para completar la importación.
Abrir los puertos del cortafuegos de Ubuntu
Si el sistema Linux utiliza UFW (Uncomplicated Firewall) para gestionar el cortafuegos basado en iptables, ejecute los siguientes comandos para abrir los puertos necesarios:

Modificar la configuración de Devolutions Gateway
La configuración predeterminada de un gateway contenida en el fichero /etc/devolutions-gateway/gateway.json necesita que se añadan las directivas del certificado (el InternalUrl deberá utilizar HTTPS):
Modifique el fichero anterior para que refleje lo siguiente, suponiendo que tanto server.crt como server.key se encuentran en el mismo directorio que gateway.json (se recomienda utilizar el editor de ficheros integrado Nano):

Reiniciar Devolutions Gateway
Con la nueva configuración en su lugar, reinicie Devolutions Gateway. Esto se puede hacer con el comando systemctl:

Como alternativa, también se pueden utilizar los comandos de PowerShell Stop-DGateway y Start-DGateway.
Conectar Devolutions Gateway a Devolutions Server
Copiar la clave pública de Devolutions Server a Devolutions Gateway en Linux
Inicie sesión en la consola web de Devolutions Server y vaya a Administración – Devolutions Gateway.
Haga clic en el botón Más y elija la opción Descargar clave pública.

Copie el contenido del fichero gateway_public_key.pem descargado en Windows.

Sustituya el contenido del fichero /etc/devolutions-gateway/provisioner.pem (se recomienda la utilidad Nano) por el contenido copiado desde Windows.

Reinicie Devolutions Gateway con el comando
sudo systemctl restart devolutions-gateway.service.
Configurar Devolutions Gateway en Devolutions Server
Vaya a la interfaz web de Devolutions Server donde se añadirá el Devolutions Gateway de Linux recién configurado.
Omita esta sección si está instalando Devolutions Gateway con Devolutions Cloud.
Inicie sesión en la consola web de Devolutions Server y navegue a Administration – Devolutions Gateway.
Haga clic en el botón Add (+).
Seleccione Gateway.

Introduzca lo siguiente (esto variará según la configuración).
Name: Linux Gateway
Devolutions Gateway URL:
https://10.10.0.20:7171TCP Hostname:
Ubuntu-2204
Haga clic en Save.



Resolver hosts en Ubuntu
El sistema Devolutions Gateway alojado en Linux debe poder resolver las direcciones solicitadas por Devolutions Server. El método más sencillo para realizar pruebas es modificar el fichero hosts.
Conéctese al siguiente sistema:
Hostname:
it-help-dcNombre de dominio completo (FQDN):
it-help-dc.ad.it-help.ninjaDirección IP:
10.10.0.3
Abra el fichero hosts para editarlo con sudo nano /etc/hosts para añadir el host en Ubuntu.

Abrir una sesión RDP basada en web
El gateway ya puede conectarse a hosts. Dado que el host it-help-dc se añadió como resoluble en Ubuntu, puede utilizarse para conectarse en una sesión basada en web.
En la interfaz web de Devolutions Server haga clic en Add. Seleccione una entrada de sesión RDP.
Haga clic en Continue.

Introduzca un Name y un Host que deben ser resolubles por la instalación de Devolutions Gateway en Linux.
Haga clic en Add.

Introduzca o vincule las credenciales necesarias a la sesión RDP y haga clic en Add.

En la pestaña VPN/Tunnel/Gateway elija Devolutions Gateway como tipo de VPN.
Establezca la opción Connect en Always connect.
Elija el gateway correcto.
Haga clic en Add.

Haga clic en Open in web client.

Abrir una sesión RDP de Remote Desktop Manager
Si la entrada ya está configurada desde la interfaz web de Devolutions Server, puede lanzarse desde Remote Desktop Manager cuando esté conectado al workspace de Devolutions Server.
Omita esta sección si está instalando Devolutions Gateway con Devolutions Cloud.
Al crear una nueva entrada desde Remote Desktop Manager, el proceso es similar al de Devolutions Server.
En Remote Desktop Manager, haga clic en New entry. Seleccione una entrada de sesión RDP.
Haga clic en Select.

Introduzca un Name y un Host que deben ser resolubles por la instalación de Devolutions Gateway en Linux.
Introduzca o vincule las credenciales necesarias a la sesión RDP.

Establezca la opción Connect en Always connect.
En la pestaña VPN/Tunnel/Gateway elija Devolutions Gateway como tipo de VPN.

Vaya a la subpestaña Settings (Devolutions Gateway).
Elija el Devolutions Gateway deseado.
Haga clic en Add.

Haga clic en el botón Open session.

Última actualización
¿Te fue útil?