Saltar a contenido

Instalación de la Edge Gateway Docker

Importación de la imagen Docker

Antes de poder crear un contenedor Edge Gateway Docker, debe importar la imagen Docker. Para ello, abra un shell desde el que disponga de los comandos Docker, así como del archivo cleanroom-gateway-4.6.1-33-v4.tgz. Desde el shell, ejecute el siguiente comando, ajustando la ruta del archivo TGZ si no se encuentra en el directorio actual:

1
docker load --input cleanroom-gateway-4.6.1-33-v4.tgz

A continuación, compruebe que la importación se ha realizado correctamente con el siguiente comando:

1
docker inspect --type=image cleanroom-gateway:4.6.1-33-v4

El resultado esperado es el siguiente (el identificador SHA256 puede variar según el sistema operativo en el que esté instalado Docker; los ejemplos proceden de Debian 13). Si no es así, la importación ha fallado:

1
2
3
4
5
6
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
Resultado completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
        "RepoDigests": [
            "cleanroom-gateway@sha256:fd96104ea219a05216c90c71c39b761083c989cbab8ef1f388cac09015bd54a3"
        ],
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2026-02-17T16:21:12.399890264+01:00",
        "Config": {
            "User": "root",
            "ExposedPorts": {
                "9080/tcp": {}
            },
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20260217T161839",
                "IMAGE_BUILD_VERSION=4.6.1-33-v4",
                "IMAGE_IPDIPC=IPC-54826,IPC-53702,IPC-55425"
            ],
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Volumes": {
                "/etc/ipdiva/": {},
                "/var/log/": {}
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20260217T161839",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v4 Gateway",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v4"
            },
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "/usr/lib/nagios/plugins/IPdivaSensorGateway -a isConnected -g 127.0.0.1:9080"
                ],
                "Interval": 300000000000,
                "Timeout": 10000000000,
                "Retries": 3
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1248982227,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/5a32af4bf30239320f2d4f04e9dde6e448d138d0e00dbcd0aa07ff859518bfd5/diff:/var/lib/docker/overlay2/da3ceed2e06933403d5e2b503f654efe58afd3067562d4991615cc79109f5000/diff:/var/lib/docker/overlay2/022f1b9fc82a6210ac50a7bf20705651a5a6bd2bfcdd8ca4993778870c4f04ce/diff:/var/lib/docker/overlay2/7675c3cb606871d89d593c5b40746256a109640e03d4846ee49392792f94c29b/diff:/var/lib/docker/overlay2/a0bc243e1069486711b74a39142def4596f99b21d00d286a2bd6212cf8902401/diff:/var/lib/docker/overlay2/fe91732a9355873a0d60ec041ea365567f0fbc963173c9428ab896b591fcb460/diff:/var/lib/docker/overlay2/d4af0110a3ab43120dea8c19e35b7552ad8f8d993d556c34143ecb3c4bd7e670/diff:/var/lib/docker/overlay2/399d72a9751679283e1435dffa5ea7b5abc07f264987815be3846e8e617cf031/diff:/var/lib/docker/overlay2/5c1723a91777858469dc540b3a91738f4b6fc6c0a3cc6686d48b4cb85a9c0400/diff:/var/lib/docker/overlay2/60b4e962507a658aa32be63de9cea55df0a45459b2f3549b3eef3443b35519b9/diff:/var/lib/docker/overlay2/9ff870b850857af52af3de1939f1abd129e96a91d608f3b8f68e0cbcd09eb181/diff",
                "MergedDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/merged",
                "UpperDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/diff",
                "WorkDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:51e78f04fd47b324ef2558bbed0cb5bc0d6d8e5ca3c56d5b98b91866a88f37bb",
                "sha256:3bb2b94a7a30506f2a91d55a04aa0e90a487b3a321d2e1df4f97dfbcfe32cfc0",
                "sha256:deb44bbc3e3d6990e142dc66532aeace714d6c191f1ede7a0f6fd8dcd7e751d3",
                "sha256:e61e4e2f89a04cb7bed974b2c8f510dd72d76e4bf998a000d082fc33bf29947e",
                "sha256:96b1236ab0e31d36a0d0fd17878770d969a11c8d4d33f8cacac568d0b0d76324",
                "sha256:989a4d7dbba1836ad30f58ca73f3101b21b80929f732d5ebdc87a69939b8cf6d",
                "sha256:1f2b05f37aceed6edd80cbe798657a7eb8fce3c7383df8d40d9fdeb273867a9d",
                "sha256:63aa193be3dc44af0057719f79991745e40d8b522a2aa49743dd04fe81b6a637",
                "sha256:02dcea7c2ed886996c81bd6980516420b90e2cdd930dc805388bcd5c7e14b5b3",
                "sha256:1f8c0ab2de5021d138baa67506b22d4d21750a23d0e9278a152daa2e7e953bff",
                "sha256:3601c2e047e3c5019a5e45fb23b478154beb6188761e31aeddb4326bfe16f81c",
                "sha256:20963ed8264d1ceaeb3680375c9c3df4045aa17af258957f3fa83f6224e62138"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Configuración del contenedor

Variables de entorno

Variables para el despliegue por emparejamiento

Nombre Obligatorio Valor predeterminado Comentario
ENV_MEDIATION Se utiliza para la conexión por emparejamiento.
Nombre DNS o dirección IP de conexión a la interfaz web de una plataforma CyberElements Bastion.
ENV_TOKEN Se utiliza para la conexión por emparejamiento.
Indica el token de emparejamiento que debe utilizarse para la conexión al Mediation Controller.
ENV_NO_CHECK_CERT NO false Se utiliza para las conexiones por emparejamiento.
Desactiva o no la comprobación del certificado web del Mediation Controller; resulta útil con CyberElements Bastion cuando el acceso se realiza por dirección IP o cuando el certificado web no está reconocido por las autoridades de certificación públicas predeterminadas.
Valores aceptados: true o false.

Variables para el despliegue manual

Nombre Obligatorio Valor predeterminado Comentario
ENV_GW_CERT_NAME Se utiliza para la conexión con configuración manual.
Nombre del archivo de certificado para la conexión al enrutador SSL.
ENV_GW_CERT_PASSWORD Se utiliza para la conexión con configuración manual.
Contraseña del archivo de certificado para la conexión al enrutador SSL.
ENV_CARE_CERT_NAME NO Valor de ENV_GW_CERT_NAME Se utiliza para la conexión con configuración manual.
Nombre del archivo de certificado del servicio de grabación.
ENV_CARE_CERT_PASSWORD NO Valor de ENV_GW_CERT_PASSWORD Se utiliza para la conexión con configuración manual.
Contraseña del archivo de certificado del servicio de grabación.
ENV_SSL_ROUTER_IP Se utiliza para la conexión con configuración manual.
Dirección IP o nombre DNS del enrutador SSL al que se conectará la Edge Gateway.
ENV_SSL_ROUTER_PORT NO 443 Se utiliza para la conexión con configuración manual.
Puerto del enrutador SSL al que se conectará la Edge Gateway.

Variables diversas

Nombre Obligatorio Valor predeterminado Comentario
ENV_DISABLE_RSYSLOG NO false Desactivación del servicio rsyslog.
Valores aceptados: true o false.
ENV_KERBEROS_CONFIG_ENABLE NO false Activa la configuración Kerberos para permitir que las aplicaciones RDP se autentiquen en modo sin agente mediante Kerberos.
Valores aceptados: true o false.
Si es false, las demás variables Kerberos se ignoran.
ENV_KERBEROS_DEFAULT_REALM
(si la configuración Kerberos está activada)
Nombre del realm Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN
(si la configuración Kerberos está activada)
Nombre del dominio Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS
(si la configuración Kerberos está activada)
Dirección de conexión al controlador Kerberos.

Volúmenes

Volumen Comentario
/etc/ipdiva/ Volumen de configuración de la Edge Gateway.
Se recomienda montarlo en un volumen con nombre o en el sistema de archivos de la máquina anfitriona.
/opt/certificates/ Volumen que contiene el o los certificados de la Edge Gateway en una configuración sin emparejamiento.
/var/lib/ipdiva/carerecord/archives/ Volumen que contiene los archivos gráficos.
Se recomienda montarlo en un volumen con nombre o en el sistema de archivos de la máquina anfitriona.
/var/ipdiva/care/sshrecord/ Volumen que contiene los archivos SSH.
Se recomienda montarlo en un volumen con nombre o en el sistema de archivos de la máquina anfitriona.
/var/log/ Volumen que contiene los logs de la Edge Gateway.

Puertos

Puerto Comentario
2222 (o cualquier otro puerto disponible elegido por el administrador) Puerto de escucha del servicio de acceso directo SSH/SFTP.
3389 Puerto de escucha del servicio de acceso directo RDP.
8443 Puerto de escucha del servicio de grabación, que debe exponerse cuando se utiliza el agente de grabación Windows.

Despliegue de la Edge Gateway Docker

Despliegue con emparejamiento

Requisitos previos

Antes de desplegar la Edge Gateway Docker, debe obtener un token de emparejamiento.

El despliegue descrito a continuación utilizará todos los volúmenes disponibles (salvo /opt/certificates/, que no es útil en este contexto) y expondrá todos los puertos.
Los volúmenes se montarán en el sistema de archivos de la máquina anfitriona en la ubicación EDGE_GATEWAY_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:

  • config
  • graphical_archives
  • ssh_archives
  • log

Puede personalizar las variables de los comandos siguientes:

Valor personalizado Variable Comentario
DOCKER_NAME Nombre del contenedor Docker.
EDGE_GATEWAY_REP Ubicación en el sistema de archivos donde montar los volúmenes.
ENV_MEDIATION_VALUE Valor de la variable de entorno ENV_MEDIATION.
ENV_TOKEN_VALUE Valor de la variable de entorno ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Valor de la variable de entorno ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Valor de la variable de entorno ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Valor de la variable de entorno ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Valor de la variable de entorno ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Valor de la variable de entorno ENV_KERBEROS_CONTROLLER_ADDRESS.

Cree el árbol de directorios necesario para montar los volúmenes en el sistema de archivos:

1
2
3
4
mkdir -p EDGE_GATEWAY_REP/config
mkdir EDGE_GATEWAY_REP/graphical_archives
mkdir EDGE_GATEWAY_REP/ssh_archives
mkdir EDGE_GATEWAY_REP/log

Y, por último, inicie un nuevo contenedor:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
docker run -d --restart unless-stopped --name "DOCKER_NAME" \
-e ENV_MEDIATION="ENV_MEDIATION_VALUE" \
-e ENV_TOKEN="ENV_TOKEN_VALUE" \
-e ENV_NO_CHECK_CERT="ENV_NO_CHECK_CERT_VALUE" \
-e ENV_KERBEROS_CONFIG_ENABLE="ENV_KERBEROS_CONFIG_ENABLE_VALUE" \
-e ENV_KERBEROS_DEFAULT_REALM="ENV_KERBEROS_DEFAULT_REALM_VALUE" \
-e ENV_KERBEROS_DEFAULT_DOMAIN="ENV_KERBEROS_DEFAULT_DOMAIN_VALUE" \
-e ENV_KERBEROS_CONTROLLER_ADDRESS="ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE" \
-v "EDGE_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "EDGE_GATEWAY_REP/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "EDGE_GATEWAY_REP/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "EDGE_GATEWAY_REP/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
cleanroom-gateway:4.6.1-33-v4

Los logs del contenedor pueden consultarse con el siguiente comando:

1
docker logs -f DOCKER_NAME

Despliegue manual

Requisitos previos

Antes de desplegar la Edge Gateway Docker, debe disponer de los certificados necesarios para la Edge Gateway y para el servicio de grabación.

El despliegue descrito a continuación utilizará todos los volúmenes disponibles y expondrá todos los puertos.
Los volúmenes se montarán en el sistema de archivos de la máquina anfitriona en la ubicación MANUAL_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Puede personalizar las variables de los comandos siguientes:

Valor personalizado Variable Comentario
MANUAL_NAME Nombre del contenedor Docker.
MANUAL_REP Ubicación en el sistema de archivos donde montar los volúmenes.
ENV_GW_CERT_NAME_VALUE Valor de la variable de entorno ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Valor de la variable de entorno ENV_GW_CERT_PASSWORD.
ENV_CARE_CERT_NAME_VALUE Valor de la variable de entorno ENV_CARE_CERT_NAME.
ENV_CARE_CERT_PASSWORD_VALUE Valor de la variable de entorno ENV_CARE_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Valor de la variable de entorno ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Valor de la variable de entorno ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Valor de la variable de entorno ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Valor de la variable de entorno ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Valor de la variable de entorno ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Valor de la variable de entorno ENV_KERBEROS_CONTROLLER_ADDRESS.

Cree el árbol de directorios necesario para montar los volúmenes en el sistema de archivos:

1
2
3
4
5
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/graphical_archives
mkdir MANUAL_REP/ssh_archives
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates

A continuación, coloque los certificados de la Edge Gateway y del servicio de grabación en MANUAL_REP/certificates.

Por último, inicie un nuevo contenedor:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD="ENV_GW_CERT_PASSWORD_VALUE" \
-e ENV_CARE_CERT_NAME="ENV_CARE_CERT_NAME_VALUE" \
-e ENV_CARE_CERT_PASSWORD="ENV_CARE_CERT_PASSWORD_VALUE" \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-e ENV_KERBEROS_CONFIG_ENABLE="ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE" \
-e ENV_KERBEROS_DEFAULT_REALM="ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE" \
-e ENV_KERBEROS_DEFAULT_DOMAIN="ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE" \
-e ENV_KERBEROS_CONTROLLER_ADDRESS="ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "MANUAL_REP/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
cleanroom-gateway:4.6.1-33-v4

Los logs del contenedor pueden consultarse con el siguiente comando:

1
docker logs -f MANUAL_NAME