Saltar a contenido

Instalación de la Edge Gateway El Docker

Importar la imagen de Docker

Antes de crear un contenedor Docker Edge Gateway, debe importar la imagen de Docker. Para ello, inicie un shell desde el cual tenga a su disposición los comandos de Docker, así como el archivo cleanroom-gateway-4.6.1-33-v2.tgz. Desde el shell, ejecute el siguiente comando, ajustando la ruta al archivo TGZ si no está en el directorio actual:

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

A continuación, compruebe que la importación fue exitosa con el siguiente comando:

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

La producción esperada es la siguiente: si no es así, la importación ha fracasado:

1
2
3
4
5
6
[
    {
        "Id": "sha256:f95237b30c2407a652e5cf9ab84abc0446e04373a30cd83d39c878284c98950b",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v2"
        ],
Salida completa
 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
84
85
[
    {
        "Id": "sha256:f95237b30c2407a652e5cf9ab84abc0446e04373a30cd83d39c878284c98950b",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:32:41.903547412+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1260102017,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/b5779f969b41eff36cd25115a1884d4c1d0d7839bf22a728ed652c3e5ff7879b/diff:/var/lib/docker/overlay2/b7e2aa5de759fea2d2de49d36d20b77bcbdb6a83416c35aa5a6144624efa5ceb/diff:/var/lib/docker/overlay2/146ef698ff97270b28fbc5aa4baca1336ce6a01130336f61dfc4941de7a66eb9/diff:/var/lib/docker/overlay2/9c15ed99cfce6b7e14406da98cca769845ee0a20a0030b7352c8010bd0ed2584/diff:/var/lib/docker/overlay2/44a3abed0a932259b79c9e5e273749cc06bd8aca7d3adbfd1753a7b053dcae2f/diff:/var/lib/docker/overlay2/e3dfd4c7c4fe568ef731bd91314e69cc5c807ce717d5f4ea94f0d02cc11e70c5/diff:/var/lib/docker/overlay2/5acf2b56871d2537d95b9981c0498e16723a9eca20827f550366b48d8acf508f/diff:/var/lib/docker/overlay2/c732cd17c6501229b3a12c488d7f4c26f8634329211cac54ff1cf0d53055421f/diff:/var/lib/docker/overlay2/fd61cbda2a5e9a578c5a8eea67b63df3d31642588be3b6f2f7ebe6e10964f745/diff",
                "MergedDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/merged",
                "UpperDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/diff",
                "WorkDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:0bf4e86419208151dcd5dc222ec43b4b655ecc6de2ab244b8320b069efc6d74e",
                "sha256:4e126ccbbb913bc105eac9d4ff68041fb460054c1756b46fff29654dcbffa480",
                "sha256:1077b827c22c9d088771d97eba65b28e397d3d1c3f2ca0208565fbccb80f80fb",
                "sha256:38554727254b2df680e419fd974eb50a518b48eea93071c5ac7fa9534931a90b",
                "sha256:937d5ffe755bf72c969e1ec525421c576d097ee984d1feca41e1feb859d95640"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        },
        "Config": {
            "Cmd": null,
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20250827T112940",
                "IMAGE_BUILD_VERSION=4.6.1-33-v2",
                "IMAGE_IPDIPC=IPC-53702"
            ],
            "ExposedPorts": {
                "9080/tcp": {}
            },
            "Healthcheck": {
                "Interval": 300000000000,
                "Retries": 3,
                "Test": [
                    "CMD-SHELL",
                    "/usr/lib/nagios/plugins/IPdivaSensorGateway -a isConnected -g 127.0.0.1:9080"
                ],
                "Timeout": 10000000000
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20250827T112940",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v2 Gateway",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": {
                "/etc/ipdiva/": {},
                "/var/log/": {}
            },
            "WorkingDir": ""
        }
    }
]

Configuración del contenedor

Variables del entorno

Variables para el despliegue por emparejamiento

Nombre Obligatorio Valor predeterminado Comentario
ENV_MEDIATION SI Se utiliza para conexión de emparejamiento.
Indicación del inquilino cyberelements.io o el nombre de DNS o la dirección IP para la conexión a la interfaz web de una plataforma cyberelements Cleanroom.
ENV_TOKEN SI Se utiliza para la conexión de emparejamiento.
Indicación del token de emparejamiento que se utilizará para la conexión con el Mediation Controller.
ENV_NO_CHECK_CERT NO false Se utiliza para conexiones de emparejamiento.
Si deshabilitar o no Mediation Controller verificación de certificados web, útil con ** ciber** elementos Cleanroom cuando se accede a través de la dirección IP o cuando el certificado web no es un certificado 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 SI Se utiliza para la conexión con la configuración manual.
Nombre del archivo de certificado para conectarse al router SSL.
ENV_GW_CERT_PASSWORD SI Se utiliza para la conexión con la configuración manual.
La contraseña del archivo de certificado para la conexión al enrutador SSL.
ENV_CARE_CERT_NAME NO Valor de ENV_GW_CERT_NAME Utilizado para la conexión con la configuración manual.
Nombre del archivo de certificado para el servicio de grabación.
ENV_CARE_CERT_PASSWORD NO Valor de ENV_GW_CERT_PASSWORD Utilizado para la conexión con la configuración manual.
Contraseña para el archivo de certificado del servicio de grabación.
ENV_SSL_ROUTER_IP SI Se utiliza para la conexión con la configuración manual.
Dirección IP o nombre DNS del enrutador SSL al que se conectará el Edge Gateway.
ENV_SSL_ROUTER_PORT NO 443 Se utiliza para la conexión con la configuración manual.
Puerto en el enrutador SSL al que se conectará el Edge Gateway.

Varias variables

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 Habilitar la configuración de Kerberos para permitir que las aplicaciones RDP se autentiquen en modo sin agente utilizando Kerberos.
Valores aceptados: true o false.
Si false se ignorarán las otras variables de Kerberos.
ENV_KERBEROS_DEFAULT_REALM SI
(si la configuración de Kerberos está habilitada)
Nombre del dominio de Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN SI
(si la configuración de Kerberos está habilitada)
Nombre de dominio de Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS SI
(si la configuración de Kerberos está habilitada)
Dirección de conexión al controlador de Kerberos.

Volúmenes de las

Volumen Comentario
/etc/ipdiva/ Edge Gateway volumen de configuración.
Se recomienda montarlo en un volumen con nombre o en el sistema de archivos de la máquina host.
/opt/certificates/ Volumen que contiene el certificado Edge Gateway (s) 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 host.
/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 host.
/var/log/ Volumen que contiene los Edge Gateway registros.

Puertos

puerto comentario
2222 (o cualquier otro puerto disponible elegido por el administrador) Puerto de escucha para el servicio de acceso directo SSH/SFTP.
3389 Puerto de escucha para el servicio de acceso directo RDP.
8443 Puerto de escucha para el servicio de grabación, que se expondrá cuando se utilice el agente de grabación de Windows.

Desarrollo de la Edge Gateway El Docker

Despliegue con emparejamiento

Requisitos previos

Antes de desplegar el Edge Gateway Docker, tienes que Obtener un token de emparejamiento.

El despliegue descrito a continuación utilizará todos los volúmenes disponibles (excepto /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 host con la ubicación EDGE_GATEWAY_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:

  • config
  • archivos gráficos
  • ssh_archives (Archivos de la ciudad)
  • registro

Puede personalizar las variables para los siguientes comandos:

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

Crear el árbol de directorios necesario para montar 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 finalmente, comienza 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-v2

Los registros de contenedores se pueden ver usando el siguiente comando:

1
docker logs -f DOCKER_NAME

Desarrollo manual

Requisitos previos

Antes de desplegar el Edge Gateway Docker, usted debe tener los certificados requeridos para el Edge Gateway y 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 host con la ubicación MANUAL_REP. Dentro de esta ubicación se encuentran los siguientes subdirectorios:

  • config
  • archivos gráficos
  • ssh_archives (Archivos de la ciudad)
  • registro
  • Certificados

Puede personalizar las variables para los siguientes comandos:

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

Crear el árbol de directorios necesario para montar 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

Luego coloque los certificados para el Edge Gateway y el servicio de registro en MANUAL_REP/certificates.

Por último, iniciar 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-v2

Los registros de contenedores se pueden ver usando el siguiente comando:

1
docker logs -f MANUAL_NAME