Aller au contenu

Installation du serveur Edge Gateway

Paramétrages initiaux sur le système

Lors du premier démarrage de l'appliance Edge Gateway Cluster, un assistant de configuration initiale de la machine apparaît. Il permet d'initialiser la configuration propre au système mais aussi ceux spécifiques à l'usage de cyberelements Cleanroom.

Paramétrages systèmes

L'assistant débute par la demande de sélection de la langue :

Information

Le choix de la langue influe à la fois sur la langue d'affichage du système mais aussi sur la disposition clavier. En anglais le clavier aura la disposition QWERTY tandis qu'en français ce sera AZERTY.

L'assistant poursuit par demander l'ajout d'un nouveau mot de passe pour que le compte système root (attention à bien satisfaire la complexité attendue) :

Puis vient la modification du mot de passe du compte utilisateur système systancia (attention à bien satisfaire la complexité attendue) :

Arrive finalement l'indication du nom de la machine :

Paramétrages réseaux

Une fois les paramètres systèmes appliqués, l'assistant bascule sur le paramétrage réseau de la machine.

Un premier panneau demande le choix du paramétrage réseau entre une configuration statique et une configuration dynamique par DHCP :

Recommandation

Il est préférable d'appliquer une configuration statique pour le paramétrage réseau de la machine, notamment pour la fonctionnalité d'accès direct.
DHCP peut être aussi utilisé si l'adresse IP est fixée au niveau du serveur DHCP.

Si la configuration statique est choisie, l'assistant demandera les paramètres réseaux suivants :

Astuce

Plusieurs serveurs DNS peuvent être renseignés (3 maximum) en les séparant avec des espaces. De même plusieurs suffixe DNS peuvent être ajoutés en les séparant avec un espace.

Finalisation des paramétrages initiaux

Le menu de configuration intial invite maintenant à poursuivre avec le mécanisme d'appairage de Edge Gateway.
Pour cette documentation ça ne sera pas utilisé, il est donc nécessaire de désactiver l'apparition de ce menu à la connexion et de désactiver l'auto-connexion à root.

Pour se faire, débutez par sortir du menu de configuration intial, soit en sélectionnant le bouton Annuler ou soit avec la combinaison de touche Ctrl+C.
Puis exécutez les commandes suivantes :

1
2
3
4
sed -i '/gateway-setup/d' /root/.bashrc
sed -i 's/^NAutoVTs/#NAutoVTs/' /etc/systemd/logind.conf
rm -r /etc/systemd/system/getty@tty1.service.d/
systemctl daemon-reload

Paramétrages spécifiques au fonctionnement cyberelements Cleanroom

Une fois les paramètres réseaux appliqués, il reste encore à connecter les instances de Edge Gateway et HTML5 Gateway aux Mediations Controllers.
Pour ce faire, une première instance Edge Gateway et HTML5 Gateway se connectera au Mediation Controller MASTER tandis que les secondes instances se connecteront au Mediation Controller SLAVE.

Attention !

Si l'installation de la Edge Gateway ne se situe pas dans le LAN et donc que les adresses RIP_MED_SSL_MASTER et RIP_MED_SSL_SLAVE ne sont pas accessibles (même avec un NAT).
Alors il ne sera nécessaire de configurer que la première instance d'Edge Gateway et de HTML5 Gateway qui seront paramétrées pour se connecter à VIP_MED_SSL.

Dans ce contexte, l'utilisation de l'appliance virtuelle Standalone est possible. L'appliance virtuelle Cluster étant pré-configurée avec deux instances là où son homologue Standalone est pré-configuré avec une seule instance.

Avant de poursuivre avec les instructions suivantes, assurez-vous de posséder les éléments suivants :

  • Certificat pour les instances Edge Gateway et HTML5 Gateways à connecter
  • Certificat pour le service d'enregistrement
  • Un client SSH (sur Windows l'outil PuTTY peut être utilisé)
  • Un client SCP (sur Windows les outils WinSCP ou FileZilla peuvent être utilisés)

Transférez les certificats dans le répertoire /tmp/ de la machine.

Connexion des instances Edge Gateways

Copiez le fichier de certificat de la Edge Gateway vers les répertoires /etc/ipdiva/gateway/ssl/ et /etc/ipdiva/gateway-slave/ssl/, réalisable avec des commandes similaires à ceci en tant que root (remplacez <CERT_NAME> par le nom du certificat pour la Edge Gateway) :

1
2
cp /tmp/<CERT_NAME> /etc/ipdiva/gateway/ssl/
mv /tmp/<CERT_NAME> /etc/ipdiva/gateway-slave/ssl/

Configurez les instances de Edge Gateway pour leur permettre de se connecter aux Mediations Controllers.
Les configurations diffèrent en fonction du Mediation Controller à contacter, effectuez les deux paramétrages :

Editez le fichier /etc/ipdiva/gateway/gateway.xml et complétez le en suivant les informations suivantes (plusieurs sections ont été omises et sont signalées par […]) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>_FILL_ME_WITH_SERVER_ADDRESS_::ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
</gateway>

Remplacez les éléments suivants :

  • _FILL_ME_WITH_SERVER_ADDRESS_: : doit être remplacé par l’adresse RIP_MED_SSL_MASTER, le caractère :, et le port d'écoute du Routeur SSL, normalement défini à 443
  • keyfile.pem : doit être remplacé part le nom du fichier de certificat
  • PASSWORD : doit être remplacé par le mot de passe du certificat
Exemple

En prenant en compte les informations suivantes :

  • RIP_MED_SSL_MASTER égale à : 10.0.10.11
  • Port d'écoute du Routeur SSL : 443
  • Nom du fichier certificat : edge-gateway.p12
  • Mot de passe du certificat : Str0ngP@ssw0rd

Le fichier /etc/ipdiva/gateway/gateway.xml serait paramétré de la manière suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>10.0.10.11:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway/ssl/edge-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
</gateway>
Fichier 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
<gateway>
        <server>10.0.10.11:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>
        <periodic-licence-check>false</periodic-licence-check>
        <session>
           <sslconf name="default">
              <ca-dir>/etc/ssl/certs</ca-dir>
              <verify-cert>true</verify-cert>
           </sslconf>
        </session>
        <ssl>
                <cert>/etc/ipdiva/gateway/ssl/edge-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>
        <webaccess>
                <proxy></proxy>
                <useragent>true</useragent>
                <autoauth>true</autoauth>
                <forceauth>false</forceauth>
                <forcebasic>false</forcebasic>
                <persistentbasicauth>true</persistentbasicauth>
                <cache-date>Thu, 14 Dec 2006 09:28:00 GMT</cache-date>
                <reverse-proxy>
                        <headers>
                                <x-forwarded-for enabled='false'/>
                                <x-forwarded-host enabled='false'/>
                        </headers>
                </reverse-proxy>
                <davenport compatibilityMode="false">127.0.0.1:8070</davenport>
        </webaccess>
        <rpc-listen>127.0.0.1:9080</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway/services.xml</services>
        <compression>zlib</compression>
        <vlan>
                <prefixe></prefixe>
        </vlan>

        <openvpn>
                <ssl>
                        <cert>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/allInOne.pem</cert>
                        <ca-file>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/tmp-ca.crt</ca-file>
                        <version>tls1</version>
                </ssl>
                <client-ov>
                        <ip-type>V4</ip-type>
                        <dev-type>tun</dev-type>
                        <link-mtu>1507</link-mtu>
                        <tun-mtu>1500</tun-mtu>
                        <proto>TCPv4_CLIENT</proto>
                        <cipher>[null-cipher]</cipher>
                        <auth>[null-digest]</auth>
                        <keysize>0</keysize>
                        <key-method>2</key-method>
                        <tls-type>tls-client</tls-type>
                </client-ov>
        </openvpn>
    <useoldprotocol>false</useoldprotocol>
    <rate>0</rate>
</gateway>

Finalement démarrez l'instance d'Edge Gateway pour charger le nouveau paramétrage et la connecter au Mediation Controller MASTER :

1
/usr/local/ipdiva/gateway/bin/start

Editez le fichier /etc/ipdiva/gateway-slave/gateway.xml et complétez le en suivant les informations suivantes (plusieurs sections ont été omises et sont signalées par […]) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>@SERVER@:@SERVERPORT@:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway-slave/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:@RPC_PORT@</rpc-listen>
[…]
</gateway>

Remplacez les éléments suivants :

  • @SERVER@ : doit être remplacé par l’adresse RIP_MED_SSL_SLAVE
  • @SERVERPORT@ : doit être remplacé par le port d'écoute du Routeur SSL, normalement défini à 443
  • keyfile.pem : doit être remplacé part le nom du fichier de certificat
  • PASSWORD : doit être remplacé par le mot de passe du certificat
  • @RPC_PORT@ : doit être remplacé par un port TCP disponible sur la machine, le port 9081, est généralement utilisé
Exemple

En prenant en compte les informations suivantes :

  • RIP_MED_SSL_SLAVE égale à : 10.0.10.13
  • Port d'écoute du Routeur SSL : 443
  • Nom du fichier certificat : edge-gateway.p12
  • Mot de passe du certificat : Str0ngP@ssw0rd
  • Port RPC disponible : 9081

Le fichier /etc/ipdiva/gateway-slave/gateway.xml serait paramétré de la manière suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>10.0.10.13:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway-slave/ssl/edge-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9081</rpc-listen>
[…]
</gateway>
Fichier 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
<gateway>
        <server>10.0.10.13:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>
        <periodic-licence-check>false</periodic-licence-check>
        <session>
           <sslconf name="default">
              <ca-dir>/etc/ssl/certs</ca-dir>
              <verify-cert>true</verify-cert>
           </sslconf>
        </session>
        <ssl>
                <cert>/etc/ipdiva/gateway-slave/ssl/edge-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway-slave/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>
        <webaccess>
                <proxy></proxy>
                <useragent>true</useragent>
                <autoauth>true</autoauth>
                <forceauth>false</forceauth>
                <forcebasic>false</forcebasic>
                <persistentbasicauth>true</persistentbasicauth>
                <cache-date>Thu, 14 Dec 2006 09:28:00 GMT</cache-date>
                <reverse-proxy>
                        <headers>
                                <x-forwarded-for enabled='false'/>
                                <x-forwarded-host enabled='false'/>
                        </headers>
                </reverse-proxy>
                <davenport compatibilityMode="false">127.0.0.1:8070</davenport>
        </webaccess>
        <rpc-listen>127.0.0.1:9081</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway-slave/services.xml</services>
        <compression>zlib</compression>
        <vlan>
                <prefixe></prefixe>
        </vlan>

        <openvpn>
                <ssl>
                        <cert>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/allInOne.pem</cert>
                        <ca-file>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/tmp-ca.crt</ca-file>
                        <version>tls1</version>
                </ssl>
                <client-ov>
                        <ip-type>V4</ip-type>
                        <dev-type>tun</dev-type>
                        <link-mtu>1507</link-mtu>
                        <tun-mtu>1500</tun-mtu>
                        <proto>TCPv4_CLIENT</proto>
                        <cipher>[null-cipher]</cipher>
                        <auth>[null-digest]</auth>
                        <keysize>0</keysize>
                        <key-method>2</key-method>
                        <tls-type>tls-client</tls-type>
                </client-ov>
        </openvpn>
    <useoldprotocol>false</useoldprotocol>
    <rate>0</rate>
</gateway>

Finalement démarrez l'instance d'Edge Gateway pour charger le nouveau paramétrage et la connecter au Mediation Controller SLAVE :

1
/usr/local/ipdiva/gateway-slave/bin/start

Configuration du service d'enregistrement

Déplacez le certificat pour le service d'enregistrement dans le répertoire /etc/ipdiva/careserver/ avec une commande similaire à ceci (remplacez <CERT_NAME> par le nom du certificat prévu) :

1
mv /tmp/<CERT_NAME> /etc/ipdiva/careserver/

Puis vient la configuration du service en modifiant le fichier suivant : /etc/ipdiva/careserver/careserver.xml. La configuration du fichier devant se rapprocher de ceci (la section suivante omet de nombreuses lignes du fichier signalées par […]) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>
[…]
    <ssl>
        <cert>/etc/ipdiva/careserver/recording_service.p12</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
[…]
</careserver>

Réalisez les modifications suivantes :

  • Modifiez l'adresse IP d'écoute du service d'enregistrement pour 0.0.0.0 (écoute sur l'ensemble des adresses IP disponibles)
  • Remplacez recording_service.p12 par le nom du certificat pour le service d'enregistrement
  • Remplacez PASSWORD par le mot de passe du certificat du service d'enregistrement
  • Ajoutez la ligne <element>http://127.0.0.1:9081</element>
Exemple

En prenant en compte les informations suivantes :

  • Nom du fichier certificat : fqdn.edge-gateway.local.p12
  • Mot de passe du certificat : Str0ngP@ssw0rd

Le fichier /etc/ipdiva/careserver/careserver.xml serait paramétré de la manière suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>
[…]
    <ssl>
        <cert>/etc/ipdiva/careserver/fqdn.edge-gateway.local.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
[…]
</careserver>
Fichier 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
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>


    <archivesdirectory>/var/lib/ipdiva/carerecord/archives</archivesdirectory>
    <recordingdirectory>/var/lib/ipdiva/carerecord/recording</recordingdirectory>
    <ssl>
        <cert>/etc/ipdiva/careserver/fqdn.edge-gateway.local.p12</cert>
        <password>Str0ngP@ssw0rd</password>
        <ca-dir>/etc/ipdiva/gateway/ssl/ca</ca-dir>
        <min-version>tls1.2</min-version>
        <max-version/>
        <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
        <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
        <verify-cert>true</verify-cert>
        <no-fail-if-no-peer-cert>true</no-fail-if-no-peer-cert>
    </ssl>
    <gopsize>10</gopsize>
        <webgopsize>5</webgopsize>
    <webfakeframespersec>2</webfakeframespersec>
        <webhlslistsize>20</webhlslistsize>
    <webcaptureinterval>10000</webcaptureinterval>
    <webcapturetimeout>30000</webcapturetimeout>
    <captureinterval>250</captureinterval>
    <hlslistsize>20</hlslistsize>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
</careserver>

Validez le nouveau paramétrage en redémarrant le service d'enregistrement :

1
systemctl restart ipdivacarerecord

Connexion des instances HTML5 Gateways

Si l'instance HTML5 Gateway doit être paramétrée, alors exécutez la commande suivante sur le serveur Edge Gateway en tant que root afin d'activer le démarrage automatique de l'instance :

1
chmod +x /etc/ipdiva/services/50html5gateway*

Copiez le fichier de certificat de la HTML5 Gateway vers les répertoires /etc/ipdiva/html5gateway/ssl/ et /etc/ipdiva/html5gateway-slave/ssl/, réalisable avec des commandes similaires à ceci en tant que root (remplacez <CERT_NAME> par le nom du certificat pour la HTML5 Gateway) :

1
2
cp /tmp/<CERT_NAME> /etc/ipdiva/html5gateway/ssl/
mv /tmp/<CERT_NAME> /etc/ipdiva/html5gateway-slave/ssl/

Configurez les instances de HTML5 Gateway pour leur permettre de se connecter aux Mediations Controllers.
Les configurations diffèrent en fonction du Mediation Controller à contacter, effectuez les deux paramétrages :

Editez le fichier /etc/ipdiva/html5gateway/html5gateway.xml et complétez le en suivant les informations suivantes (plusieurs sections ont été omises et sont signalées par […]) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>_FILL_ME_WITH_SERVER_ADDRESS_::ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
</gateway>

Remplacez les éléments suivants :

  • _FILL_ME_WITH_SERVER_ADDRESS_: : doit être remplacé par l’adresse RIP_MED_SSL_MASTER, le caractère :, et le port d'écoute du Routeur SSL, normalement défini à 443
  • keyfile.pem : doit être remplacé part le nom du fichier de certificat
  • PASSWORD : doit être remplacé par le mot de passe du certificat
Exemple

En prenant en compte les informations suivantes :

  • RIP_MED_SSL_MASTER égale à : 10.0.10.11
  • Port d'écoute du Routeur SSL : 443
  • Nom du fichier certificat : html5-gateway.p12
  • Mot de passe du certificat : Str0ngP@ssw0rd

Le fichier /etc/ipdiva/html5gateway/html5gateway.xml serait paramétré de la manière suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>10.0.10.11:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway/ssl/html5-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
</gateway>
Fichier 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
<gateway>
        <server>10.0.10.11:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>

        <ssl>
                <cert>/etc/ipdiva/html5gateway/ssl/html5-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/html5gateway/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>

        <rpc-listen>127.0.0.1:9088</rpc-listen>
        <network-id></network-id>
        <compression>zlib</compression>

 </gateway>

Finalement redémarrez l'instance HTML5 Gateway pour charger le nouveau paramétrage et la connecter au Mediation Controller MASTER :

1
/usr/local/ipdiva/html5gateway/bin/start

Editez le fichier /etc/ipdiva/html5gateway-slave/html5gateway.xml et complétez le en suivant les informations suivantes (plusieurs sections ont été omises et sont signalées par […]) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>@SERVER@:@SERVERPORT@:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway-slave/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:@RPC_PORT@</rpc-listen>
[…]
</gateway>

Remplacez les éléments suivants :

  • @SERVER@ : doit être remplacé par l’adresse RIP_MED_SSL_SLAVE
  • @SERVERPORT@ : doit être remplacé par le port d'écoute du Routeur SSL, normalement défini à 443
  • keyfile.pem : doit être remplacé part le nom du fichier de certificat
  • PASSWORD : doit être remplacé par le mot de passe du certificat
  • @RPC_PORT@ : doit être remplacé par un port TCP disponible sur la machine, le port 9089, est généralement utilisé
Exemple

En prenant en compte les informations suivantes :

  • RIP_MED_SSL_SLAVE égale à : 10.0.10.13
  • Port d'écoute du Routeur SSL : 443
  • Nom du fichier certificat : html5-gateway.p12
  • Mot de passe du certificat : Str0ngP@ssw0rd
  • Port RPC disponible : 9089

Le fichier /etc/ipdiva/html5gateway-slave/html5gateway.xml serait paramétré de la manière suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>10.0.10.13:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway-slave/ssl/html5-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9089</rpc-listen>
[…]
</gateway>
Fichier 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
<gateway>
        <server>10.0.10.13:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>

        <ssl>
                <cert>/etc/ipdiva/html5gateway-slave/ssl/html5-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/html5gateway-slave/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>

        <rpc-listen>127.0.0.1:9089</rpc-listen>
        <network-id></network-id>
        <compression>zlib</compression>

 </gateway>

Finalement redémarrez l'instance HTML5 Gateway pour charger le nouveau paramétrage et la connecter au Mediation Controller SLAVE :

1
/usr/local/ipdiva/html5gateway-slave/bin/start

Configurations préalables à la connexion des HTML5 Gateways

Afin que les applications HTML5 puissent fonctionner, un paramétrage additionnel est à réaliser sur les serveurs Mediations Controllers. Connectez-vous aux serveurs Mediations Controllers MASTER et SLAVE en tant que root.

Créez ou modifiez le fichier /etc/ipdiva/httpd/commonParameters.extra.conf pour y ajouter une section équivalente à la suivante par HTML5 Gateway :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /URL_HTML5/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway GW_NAME|
        RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /URL_HTML5/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway GW_NAME|
        RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Où :

  • URL_HTML5 doit être remplacé par le contenu du champ URL de la HTML5 Gateway configurée dans la console d'administration lors de la déclaration de la HTML5 Gateway (pour un cluster il s'agit généralement de HTML5-1 et HTML5-2).
  • GW_NAME doit être remplacé par le nom d'une Edge Gateway présente sur le même serveur que la HTML5 Gateway. Le caractère | placé en fin de ligne doit obligatoirement être conservé.
  • ORGANIZATION_NAME doit être remplacé par le nom d'organisation à laquelle se connecte la Edge Gateway précédente.
Exemple

Pour une plateforme ayant les paramètres suivants :

  • Nom d'organisation : my-organization-name
  • Déclaration de la première HTML5 Gateway dans la console d'administration :
    • Nom : html5-gateway-1
    • URL : HTML5-1
    • Protocole : WebSocket
  • Déclaration de la seconde HTML5 Gateway dans la console d'administration :
    • Nom : html5-gateway-2
    • URL : HTML5-2
    • Protocole : WebSocket
  • Un serveur Edge Gateway sur la première HTML5 Gateway possède :
    • Un service Edge Gateway nommé edge-gateway-1
    • Un service HTML5 Gateway nommé html5-gateway-1
  • Un serveur Edge Gateway sur la seconde HTML5 Gateway possède :
    • Un service Edge Gateway nommé edge-gateway-2
    • Un service HTML5 Gateway nommé html5-gateway-2

Le fichier de configuration /etc/ipdiva/httpd/commonParameters.extra.conf créé sera paramétré de la manière suivante :

 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
<Location /HTML5-1/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-1|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5-1/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-1|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

<Location /HTML5-2/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-2|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5-2/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-2|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Avant d'appliquer le nouveau paramétrage, un contrôle que la nouvelle configuration n'entraine pas d'erreurs bloquantes pour le serveur Web Apache2 est nécessaire.
Pour cela exécutez la commande suivante :

1
apache2ctl configtest

Si le retour est Syntax OK alors les modifications peuvent être appliquées avec la commande ci-dessous. Sinon contrôlez votre configuration du fichier /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2

Configuration d'un serveur de temps NTP

Il est recommandé de paramétrer un serveur de temps pour maintenir l'horloge du système à jour. Les étapes nécessaires sont décrites sur la page de configuration du NTP.