Sari la conținut

Instalarea Edge Gateway Docker

Importarea imaginii Docker

Înainte de a putea crea un container Edge Gateway Docker, trebuie să importați imaginea Docker. Pentru aceasta, deschideți un shell din care aveți acces la comenzile Docker, precum și la fișierul cleanroom-gateway-4.6.1-33-v4.tgz. Din shell, executați comanda următoare, ajustând calea fișierului TGZ dacă acesta nu se află în directorul curent:

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

Apoi verificați că importul s-a realizat cu succes prin comanda următoare:

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

Rezultatul așteptat este următorul (identificatorul SHA256 poate varia în funcție de sistemul de operare pe care este instalat Docker; exemplele provin din Debian 13). Dacă nu este cazul, importul a eșuat:

1
2
3
4
5
6
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
Rezultat complet
 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"
        }
    }
]

Configurarea containerului

Variabile de mediu

Variabile pentru implementarea prin pairing

Nume Obligatoriu Valoare implicită Comentariu
ENV_MEDIATION DA Utilizat pentru conexiunea prin pairing.
Numele DNS sau adresa IP de conectare la interfața web a unei platforme CyberElements Bastion.
ENV_TOKEN DA Se utilizează pentru conexiunea prin pairing.
Indică tokenul de pairing care trebuie utilizat pentru conectarea la Mediation Controller.
ENV_NO_CHECK_CERT NU false Utilizat pentru conexiunile prin pairing.
Dezactivează sau nu verificarea certificatului web al Mediation Controller; util cu CyberElements Bastion atunci când accesul se face prin adresă IP sau când certificatul web nu este un certificat recunoscut de autoritățile de certificare publice implicite.
Valori acceptate: true sau false.

Variabile pentru implementarea manuală

Nume Obligatoriu Valoare implicită Comentariu
ENV_GW_CERT_NAME DA Se utilizează pentru conexiunea cu configurare manuală.
Numele fișierului de certificat pentru conectarea la routerul SSL.
ENV_GW_CERT_PASSWORD DA Se utilizează pentru conexiunea cu configurare manuală.
Parola fișierului de certificat pentru conectarea la routerul SSL.
ENV_CARE_CERT_NAME NU Valoarea ENV_GW_CERT_NAME Se utilizează pentru conexiunea cu configurare manuală.
Numele fișierului de certificat al serviciului de înregistrare.
ENV_CARE_CERT_PASSWORD NU Valoarea ENV_GW_CERT_PASSWORD Se utilizează pentru conexiunea cu configurare manuală.
Parola fișierului de certificat al serviciului de înregistrare.
ENV_SSL_ROUTER_IP DA Se utilizează pentru conexiunea cu configurare manuală.
Adresa IP sau numele DNS al routerului SSL la care se va conecta Edge Gateway.
ENV_SSL_ROUTER_PORT NU 443 Se utilizează pentru conexiunea cu configurare manuală.
Portul routerului SSL la care se va conecta Edge Gateway.

Variabile diverse

Nume Obligatoriu Valoare implicită Comentariu
ENV_DISABLE_RSYSLOG NU false Dezactivarea serviciului rsyslog.
Valori acceptate: true sau false.
ENV_KERBEROS_CONFIG_ENABLE NU false Activează configurarea Kerberos pentru a permite aplicațiilor RDP să se autentifice în modul fără agent prin Kerberos.
Valori acceptate: true sau false.
Dacă este false, celelalte variabile Kerberos sunt ignorate.
ENV_KERBEROS_DEFAULT_REALM DA
(dacă configurarea Kerberos este activată)
Numele realmului Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN DA
(dacă configurarea Kerberos este activată)
Numele domeniului Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS DA
(dacă configurarea Kerberos este activată)
Adresa de conectare la controlerul Kerberos.

Volume

Volum Comentariu
/etc/ipdiva/ Volumul de configurare al Edge Gateway.
Recomandăm montarea lui pe un volum cu nume sau pe sistemul de fișiere al mașinii gazdă.
/opt/certificates/ Volumul care conține certificatul sau certificatele Edge Gateway într-o configurație fără pairing.
/var/lib/ipdiva/carerecord/archives/ Volumul care conține arhivele grafice.
Recomandăm montarea lui pe un volum cu nume sau pe sistemul de fișiere al mașinii gazdă.
/var/ipdiva/care/sshrecord/ Volumul care conține arhivele SSH.
Recomandăm montarea lui pe un volum cu nume sau pe sistemul de fișiere al mașinii gazdă.
/var/log/ Volumul care conține logurile Edge Gateway.

Porturi

Port Comentariu
2222 (sau orice alt port disponibil ales de administrator) Portul de ascultare al serviciului de acces direct SSH/SFTP.
3389 Portul de ascultare al serviciului de acces direct RDP.
8443 Portul de ascultare al serviciului de înregistrare, care trebuie expus atunci când se utilizează agentul de înregistrare Windows.

Implementarea Edge Gateway Docker

Implementare cu pairing

Cerințe preliminare

Înainte de a implementa Edge Gateway Docker, trebuie să obțineți un token de pairing.

Implementarea descrisă mai jos va utiliza toate volumele disponibile (cu excepția /opt/certificates/, care nu este util în acest context) și va expune toate porturile.
Volumele vor fi montate pe sistemul de fișiere al mașinii gazdă, în locația EDGE_GATEWAY_REP. În interiorul acestei locații se află următoarele subdirectoare:

  • config
  • graphical_archives
  • ssh_archives
  • log

Puteți personaliza variabilele din comenzile următoare:

Valoare personalizată Variabilă Comentariu
DOCKER_NAME Numele containerului Docker.
EDGE_GATEWAY_REP Locația din sistemul de fișiere în care se montează volumele.
ENV_MEDIATION_VALUE Valoarea variabilei de mediu ENV_MEDIATION.
ENV_TOKEN_VALUE Valoarea variabilei de mediu ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Valoarea variabilei de mediu ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Valoarea variabilei de mediu ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Valoarea variabilei de mediu ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Valoarea variabilei de mediu ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Valoarea variabilei de mediu ENV_KERBEROS_CONTROLLER_ADDRESS.

Creați arborele de directoare necesar pentru montarea volumelor pe sistemul de fișiere:

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

Și, în sfârșit, porniți un nou container:

 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

Logurile containerului pot fi consultate cu comanda următoare:

1
docker logs -f DOCKER_NAME

Implementare manuală

Cerințe preliminare

Înainte de a implementa Edge Gateway Docker, trebuie să dispuneți de certificatele necesare pentru Edge Gateway și pentru serviciul de înregistrare.

Implementarea descrisă mai jos va utiliza toate volumele disponibile și va expune toate porturile.
Volumele vor fi montate pe sistemul de fișiere al mașinii gazdă, în locația MANUAL_REP. În interiorul acestei locații se află următoarele subdirectoare:

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Puteți personaliza variabilele din comenzile următoare:

Valoare personalizată Variabilă Comentariu
MANUAL_NAME Numele containerului Docker.
MANUAL_REP Locația din sistemul de fișiere în care se montează volumele.
ENV_GW_CERT_NAME_VALUE Valoarea variabilei de mediu ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Valoarea variabilei de mediu ENV_GW_CERT_PASSWORD.
ENV_CARE_CERT_NAME_VALUE Valoarea variabilei de mediu ENV_CARE_CERT_NAME.
ENV_CARE_CERT_PASSWORD_VALUE Valoarea variabilei de mediu ENV_CARE_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Valoarea variabilei de mediu ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Valoarea variabilei de mediu ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Valoarea variabilei de mediu ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Valoarea variabilei de mediu ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Valoarea variabilei de mediu ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Valoarea variabilei de mediu ENV_KERBEROS_CONTROLLER_ADDRESS.

Creați arborele de directoare necesar pentru montarea volumelor pe sistemul de fișiere:

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

Apoi plasați certificatele Edge Gateway și ale serviciului de înregistrare în MANUAL_REP/certificates.

În sfârșit, porniți un nou container:

 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

Logurile containerului pot fi consultate cu comanda următoare:

1
docker logs -f MANUAL_NAME