Aller au contenu

Installation du serveur Edge Gateway

Note

Pour rappel, le passage en tant que root sur les machines Debian doit s'effectuer avec la commande suivante :

1
su -

Téléchargement du miroir et des outils nécessaires

Le miroir cyberelements Cleanroom 4.6 ainsi que la clé de signature du dépôt Systancia sont téléchargeables depuis ce lien (nécessite la création d'un compte client) : Systancia Marketplace

En plus du miroir et de la clé, des outils tiers seront nécessaires pour le processus de montée de version :

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

Utilisez le client SSH pour vous connecter à distance à votre serveur.

Utilisez le client SCP pour transférer les fichiers sur votre machine distante.

Préparation à l'installation

Configuration du réseau

Il est fortement recommandé de définir un adressage réseau statique pour le serveur Edge Gateway. Pour cela, il est d'abord nécessaire de récupérer le nom de l'interface réseau de votre machine ainsi que son adresse MAC. Exécutez la commande suivante en tant que root :

1
ip -br link | grep -ve "^lo"

Cette commande ressort le nom de l'interface réseau, son état, son adresse MAC et les paramètres de l'interface.

Exemple

Après exécution de la commande le retour suivant est affiché :

1
ens192           UP             00:50:56:a1:56:9f <BROADCAST,MULTICAST,UP,LOWER_UP>

Le nom de l'interface réseau est ens192 et son adresse MAC est 00:50:56:a1:56:9f.

Le nom de l'interface réseau et son adresse MAC obtenus, il est maintenant possible d'éditer la configuration réseau de la machine.
Editez le fichier /etc/network/interfaces pour le modifier en utilisant le modèle suivant :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet static
    bridge_ports INTERFACE_NAME
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 2
    bridge_hw MAC_ADDRESS
    address IP_GW
    netmask NETMASK
    gateway NETWORK_GATEWAY
    dns-nameservers IP_DNS_1 IP_DNS_2
    dns-search DNS_SUFFIX

Où :

  • INTERFACE_NAME doit être remplacé par le nom de l'interface réseau récupéré précédemment.
  • MAC_ADDRESS doit être remplacé par l'adresse MAC récupérée précédemment.
  • IP_GW doit être remplacé par l'adresse IP du serveur.
  • NETMASK doit être remplacé par le masque réseau associé à l'adresse IP.
  • NETWORK_GATEWAY doit être remplacé par la passerelle réseau par défaut.
  • IP_DNS doit être remplacé par l'adresse IP du serveur DNS, si plusieurs serveurs doivent être paramétrés (3 maximum), les séparer par un espace.
  • DNS_SUFFIX doit être remplacé par le suffixe DNS à utiliser, si aucun suffixe n'est à renseigner supprimer la ligne.
Exemple
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet static
    bridge_ports ens192
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 2
    bridge_hw 00:50:56:a1:56:9f
    address 172.16.10.10
    netmask 255.255.255.0
    gateway 172.16.10.254
    dns-nameservers 172.16.11.2 172.16.11.3
    dns-search domain.local

Avant d'appliquer la configuration, il reste encore trois actions à réaliser.

La première consiste à installer les paquets resolvconf et bridge-utils afin que la configuration DNS inscrite dans le fichier précédent puisse être appliquée ainsi que l'utilisation de l'interface br0 :

1
apt install -y resolvconf bridge-utils

La deuxième est de contrôler la configuration du fichier /etc/hosts par rapport à l'adresse IP de la machine (IP_GW).
Pour cela éditez le fichier /etc/hosts et contrôlez que la seconde ligne soit de la forme suivante :

2
IP_GW   FQDN    MACHINE_NAME
Exemple

Si la machine se nomme EDGE-GATEWAY sans appartenir à un domaine et que son adresse IP IP_GW est 172.16.10.10, alors le fichier serait complété de cette manière :

2
172.16.10.10  EDGE-GATEWAY

Si la machine appartient au domaine DOMAIN.LOCAL alors le fichier serait complété de la manière suivante :

2
172.16.10.10  EDGE-GATEWAY.DOMAIN.LOCAL   EDGE-GATEWAY

Attention !

Une mauvaise configuration du fichier pourra entraîner une erreur lors de l'installation du paquet collectd.

Il reste finalement plus qu'à redémarrer le serveur :

1
reboot

Configuration du gestionnaire de paquet APT

Déposer sur le serveur, dans /tmp/, les fichiers récupérés sur la Marketplace Systancia avec un client SCP :

  • systancia.gpg
  • cleanroom-4.6.1-build33.1096.D12-full.tgz

Connectez-vous sur le serveur en tant que root puis exécutez les commandes suivantes pour décompresser le dépôt Systancia, paramétrer son utilisation au niveau d'APT et l'authentifier.

1
2
3
4
5
mv /tmp/systancia.gpg /etc/apt/trusted.gpg.d/
mkdir -p /opt/systancia/repository/
tar xvzf /tmp/cleanroom-4.6*.tgz -C /opt/systancia/repository/
echo "deb file:///opt/systancia/repository/ bookworm ipdiva" > /etc/apt/sources.list.d/systancia.list
apt update

Nous recommandons vivement la désactivation de l'installation de paquets superflus lors de l'exécution de commandes apt. Pour ce faire, exécuter la commande suivante :

1
echo -e 'APT::Install-Recommends false;\nAPT::Install-Suggests false;' > /etc/apt/apt.conf.d/99norecommends

Installation du serveur Edge Gateway cyberelements Cleanroom

Installation des composants de base

Lancez l'installation des composants en utilisant la commande suivante en tant que root :

1
apt install -y ipdiva-base

Après avoir téléchargé l'ensemble des dépendances, une fenêtre s'ouvre et vous demande de sélectionner le type de serveur. Choisissez gateway:

Que faire en cas d'erreur ?

En cas d'erreur dans les informations saisies, poursuivez l'installation du paquet ipdiva-base et utilisez ensuite la commande suivante pour reparamétrer le serveur :

1
dpkg-reconfigure ipdiva-base

Installation des composants Edge Gateway

Lancez ensuite l'installation des composants spécifiques au serveur Edge Gateway en utilisant la commande suivante :

1
apt install -y ipdiva-safe-gateway ipdiva-gateway-setup

Les composants du serveur Edge Gateway sont installés, il ne reste plus qu'à redémarrer la machine pour que les nouveaux composants installés puissent s'initialiser :

1
reboot

Installation des composants HTML5 Gateway

Utilisez la commande suivante pour lancer l'installation des composants HTML5 Gateway sur le serveur Edge Gateway :

1
apt install -y ipdiva-html5gateway ipdiva-html5-webapp ipdiva-guacamole-server1

Utilisez les lignes de commandes suivantes pour activer et paramétrer les fonctionnalités de transfert de fichiers ainsi que celui d'imprimante virtuelle :

1
2
3
apt install -y ghostscript
echo -e "printer=cyberelements HTML5 Printer\nprinterDriver=MS Publisher Imagesetter" > /etc/guacamole/printer-config
mkdir /home/systanciahtml5share

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.

Création des instances pour se connecter au Mediation Controller SLAVE

Exécutez les commandes suivantes en tant que root pour déclarer une nouvelle instance d'Edge Gateway et HTML5 Gateway qui seront utilisées pour la connexion au Mediation Controller SLAVE :

1
2
/usr/local/ipdiva/gateway/bin/gatewayCloner -slave
/usr/local/ipdiva/html5gateway/bin/gatewayCloner -slave

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.