Към съдържанието

Инсталиране на Edge Gateway Docker

Импортиране на образа на Docker

Преди да можете да създадете контейнер Edge Gateway Docker, трябва да импортирате образа на Docker. За целта стартирайте обвивка, от която са достъпни командите на Docker, както и файлът cleanroom-gateway-4.6.1-33-v4.tgz. От обвивката изпълнете следната команда, като коригирате пътя до файла TGZ, ако той не е в текущата директория:

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

След това проверете със следната команда дали импортирането е успешно:

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

Очакваният изход е следният (идентификаторът SHA256 може да се различава в зависимост от операционната система, на която е инсталиран Docker; примерите са от Debian 13). Ако не е така, импортирането не е успешно:

1
2
3
4
5
6
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
Пълен изход
 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"
        }
    }
]

Конфигурация на контейнера

Променливи на средата

Променливи за внедряване чрез сдвояване

Име Задължителна Стойност по подразбиране Коментар
ENV_MEDIATION ДА Използва се за свързване чрез сдвояване.
DNS име или IP адрес за свързване с уеб интерфейса на платформа CyberElements Bastion.
ENV_TOKEN ДА Използва се за връзка чрез сдвояване.
Указва маркера за сдвояване, който да се използва за свързване към Mediation Controller.
ENV_NO_CHECK_CERT НЕ false Използва се за свързвания чрез сдвояване.
Дали да се деактивира проверката на уеб сертификата на Mediation Controller; полезно при CyberElements Bastion, когато достъпът е чрез IP адрес или когато уеб сертификатът не е сертификат, разпознат от публичните сертифициращи органи по подразбиране.
Приети стойности: true или false.

Променливи за ръчно внедряване

Име Задължителна Стойност по подразбиране Коментар
ENV_GW_CERT_NAME ДА Използва се за връзка с ръчна конфигурация.
Име на файла със сертификата за свързване към SSL Router.
ENV_GW_CERT_PASSWORD ДА Използва се за връзка с ръчна конфигурация.
Парола на файла със сертификата за свързване към SSL Router.
ENV_CARE_CERT_NAME НЕ Стойност на ENV_GW_CERT_NAME Използва се за връзка с ръчна конфигурация.
Име на файла със сертификата на услугата за записване.
ENV_CARE_CERT_PASSWORD НЕ Стойност на ENV_GW_CERT_PASSWORD Използва се за връзка с ръчна конфигурация.
Парола на файла със сертификата на услугата за записване.
ENV_SSL_ROUTER_IP ДА Използва се за връзка с ръчна конфигурация.
IP адрес или DNS име на SSL Router, към който ще се свързва Edge Gateway.
ENV_SSL_ROUTER_PORT НЕ 443 Използва се за връзка с ръчна конфигурация.
Порт на SSL Router, към който ще се свързва Edge Gateway.

Различни променливи

Име Задължителна Стойност по подразбиране Коментар
ENV_DISABLE_RSYSLOG НЕ false Деактивиране на услугата rsyslog.
Приемани стойности: true или false.
ENV_KERBEROS_CONFIG_ENABLE НЕ false Активира настройките на Kerberos, за да могат приложенията RDP да се удостоверяват в режим без агент с Kerberos.
Приемани стойности: true или false.
Ако е false, другите променливи на Kerberos се пренебрегват.
ENV_KERBEROS_DEFAULT_REALM ДА
(ако конфигурацията на Kerberos е активирана)
Име на областта на Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN ДА
(ако конфигурацията на Kerberos е активирана)
Име на домейна на Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS ДА
(ако конфигурацията на Kerberos е активирана)
Адрес за свързване към контролера на Kerberos.

Томове

Том Коментар
/etc/ipdiva/ Том за конфигурацията на Edge Gateway.
Препоръчваме да го монтирате в именуван том или във файловата система на хост компютъра.
/opt/certificates/ Том, съдържащ сертификата или сертификатите на Edge Gateway в конфигурация без сдвояване.
/var/lib/ipdiva/carerecord/archives/ Том, съдържащ графичните архиви.
Препоръчваме да го монтирате в именуван том или във файловата система на хост компютъра.
/var/ipdiva/care/sshrecord/ Том, съдържащ архивите на SSH.
Препоръчваме да го монтирате в именуван том или във файловата система на хост компютъра.
/var/log/ Том, съдържащ дневниците на Edge Gateway.

Портове

Порт Коментар
2222 (или всеки друг наличен порт, избран от администратора) Порт за слушане на услугата за директен достъп SSH/SFTP.
3389 Порт за слушане на услугата за директен достъп RDP.
8443 Порт за слушане на услугата за записване, който трябва да бъде изложен при използване на агента за записване за Windows.

Внедряване на Edge Gateway Docker

Внедряване със сдвояване

Предварителни изисквания

Преди да внедрите Edge Gateway Docker, трябва да получите маркер за сдвояване.

Описаното по-долу внедряване ще използва всички налични томове (с изключение на /opt/certificates/, който не е полезен в този контекст) и ще изложи всички портове.
Томовете ще бъдат монтирани във файловата система на хост компютъра в местоположението EDGE_GATEWAY_REP. В това местоположение се намират следните поддиректории:

  • config
  • graphical_archives
  • ssh_archives
  • log

Можете да персонализирате променливите за следните команди:

Персонализирана стойност Променлива Коментар
DOCKER_NAME Име на контейнера на Docker.
EDGE_GATEWAY_REP Местоположение във файловата система за монтиране на томовете.
ENV_MEDIATION_VALUE Стойност на променливата на средата ENV_MEDIATION.
ENV_TOKEN_VALUE Стойност на променливата на средата ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Стойност на променливата на средата ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Стойност на променливата на средата ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Стойност на променливата на средата ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Стойност на променливата на средата ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Стойност на променливата на средата ENV_KERBEROS_CONTROLLER_ADDRESS.

Създайте дървото на директориите, необходимо за монтиране на томовете във файловата система:

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
1
New-Item -ItemType Directory -Force -Path "EDGE_GATEWAY_REP\config", "EDGE_GATEWAY_REP\graphical_archives", "EDGE_GATEWAY_REP\ssh_archives", "EDGE_GATEWAY_REP\log"

И накрая стартирайте нов контейнер:

 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
 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

Дневниците на контейнера могат да се прегледат със следната команда:

1
docker logs -f DOCKER_NAME

Ръчно внедряване

Предварителни изисквания

Преди да внедрите Edge Gateway за Docker, трябва да разполагате с необходимите сертификати за компонента Edge Gateway и за услугата за записване.

Пароли, видими с docker inspect

Променливите на средата на даден контейнер, включително паролите за сертификатите, остават четими за всеки, на когото е разрешено да изпълнява docker inspect на сървъра Docker. Затова за предпочитане е внедряването със сдвояване, което не използва парола за сертификат.

Описаното по-долу внедряване използва всички налични томове и прави достъпни всички портове.
Томовете ще бъдат монтирани във файловата система на хост компютъра в местоположението MANUAL_REP. В това местоположение се намират следните поддиректории:

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Можете да персонализирате променливите за следните команди:

Персонализирана стойност Променлива Коментар
MANUAL_NAME Име на контейнера Docker.
MANUAL_REP Местоположение във файловата система, в което се монтират томовете.
ENV_GW_CERT_NAME_VALUE Стойност на променливата на средата ENV_GW_CERT_NAME.
ENV_CARE_CERT_NAME_VALUE Стойност на променливата на средата ENV_CARE_CERT_NAME.
ENV_SSL_ROUTER_IP_VALUE Стойност на променливата на средата ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Стойност на променливата на средата ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Стойност на променливата на средата ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Стойност на променливата на средата ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Стойност на променливата на средата ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Стойност на променливата на средата ENV_KERBEROS_CONTROLLER_ADDRESS.

Създайте дървото на директориите, необходимо за монтиране на томовете във файловата система:

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
1
New-Item -ItemType Directory -Force -Path "MANUAL_REP\config", "MANUAL_REP\graphical_archives", "MANUAL_REP\ssh_archives", "MANUAL_REP\log", "MANUAL_REP\certificates"

След това поставете сертификатите за компонента Edge Gateway и за услугата за записване в MANUAL_REP/certificates.

За да не се запазват паролите за сертификатите в историята на обвивката, въведете ги в променливи на средата на текущата сесия (въвежданият текст не се показва):

1
2
3
read -rsp "Edge Gateway certificate password: " ENV_GW_CERT_PASSWORD; echo
read -rsp "Recording service certificate password: " ENV_CARE_CERT_PASSWORD; echo
export ENV_GW_CERT_PASSWORD ENV_CARE_CERT_PASSWORD
1
2
$env:ENV_GW_CERT_PASSWORD = [Net.NetworkCredential]::new('', (Read-Host -AsSecureString "Edge Gateway certificate password")).Password
$env:ENV_CARE_CERT_PASSWORD = [Net.NetworkCredential]::new('', (Read-Host -AsSecureString "Recording service certificate password")).Password

Накрая стартирайте нов контейнер:

 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 \
-e ENV_CARE_CERT_NAME="ENV_CARE_CERT_NAME_VALUE" \
-e ENV_CARE_CERT_PASSWORD \
-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
 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 `
-e "ENV_CARE_CERT_NAME=ENV_CARE_CERT_NAME_VALUE" `
-e ENV_CARE_CERT_PASSWORD `
-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

След като контейнерът стартира, премахнете тези променливи от сесията:

1
unset ENV_GW_CERT_PASSWORD ENV_CARE_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD, Env:ENV_CARE_CERT_PASSWORD

Дневниците на контейнера могат да се прегледат със следната команда:

1
docker logs -f MANUAL_NAME