Saltar a contenido

Instalación del servidor Edge Gateway

Configuración inicial del sistema

Cuando la appliance Edge Gateway Cluster se inicia por primera vez, aparece un asistente de configuración inicial de la máquina. Este asistente permite inicializar la configuración propia del sistema, así como la específica del uso de CyberElements Bastion.

Configuración del sistema

El asistente comienza pidiéndole que seleccione un idioma:

Info

El idioma que elija afectará tanto al idioma de visualización del sistema como al diseño del teclado. En inglés, el teclado tendrá un diseño QWERTY, mientras que en francés será AZERTY.

El asistente le pide entonces que agregue una nueva contraseña para la cuenta del sistema root (asegúrese de que cumpla con la complejidad requerida):

A continuación, debe cambiar la contraseña de la cuenta de usuario del sistema systancia (asegúrese de que cumple con la complejidad requerida):

Por último, es necesario introducir el nombre de la máquina:

Configuración de la red

Una vez aplicadas las configuraciones del sistema, el asistente cambia a las configuraciones de red de la máquina.

El primer panel le pide que elija entre una configuración estática y una configuración dinámica a través de DHCP:

Recomendación

Se recomienda que utilice una configuración estática para la configuración de red de la máquina, en particular para la función de acceso directo.
DHCP también puede utilizarse si la dirección IP se establece a nivel del servidor DHCP.

Si se elige la configuración estática, el asistente pedirá la siguiente configuración de red:

Tip

Se pueden introducir varios servidores DNS (3 como máximo) separándolos con espacios.

Finalización de la configuración inicial

El menú de configuración inicial propone ahora continuar con el mecanismo de emparejamiento de la Edge Gateway.
En esta documentación no se utilizará, por lo que hay que desactivar la aparición de este menú al iniciar sesión y desactivar la conexión automática como root.

Para ello, empiece por salir del menú de configuración inicial, ya sea seleccionando el botón Cancel o mediante la combinación de teclas Ctrl+C.
Ejecute después los siguientes comandos:

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

Configuración específica del funcionamiento de CyberElements Bastion

Una vez aplicada la configuración de red, queda por conectar las instancias de Edge Gateway y de HTML5 Gateway a los Mediation Controllers.
Para ello, las primeras instancias de Edge Gateway y de HTML5 Gateway se conectarán al Mediation Controller MASTER, mientras que las segundas se conectarán al Mediation Controller SLAVE.

¡Atención!

Si la instalación de la Edge Gateway no se encuentra en la LAN y, por tanto, las direcciones RIP_MED_SSL_MASTER y RIP_MED_SSL_SLAVE no son accesibles (ni siquiera con NAT).
En ese caso, solo tendrá que configurar la primera instancia de Edge Gateway y de HTML5 Gateway, que se configurará para conectarse a VIP_MED_SSL.

En este contexto puede utilizarse la appliance virtual Standalone. La appliance virtual Cluster viene preconfigurada con dos instancias, mientras que su equivalente Standalone lo está con una sola.

Antes de continuar con las instrucciones siguientes, asegúrese de disponer de los elementos siguientes:

  • El certificado de las instancias de Edge Gateway y de HTML5 Gateway que se van a conectar
  • El certificado del servicio de grabación
  • Un cliente SSH (en Windows puede utilizar PuTTY)
  • Un cliente SCP (en Windows pueden utilizarse las herramientas WinSCP o FileZilla)

Transfiera los certificados al directorio /tmp/ de la máquina.

Conexión de las Edge Gateways

Copie el fichero del certificado de la Edge Gateway en los directorios /etc/ipdiva/gateway/ssl/ y /etc/ipdiva/gateway-slave/ssl/. Puede hacerlo ejecutando como root comandos similares a los siguientes (sustituya <CERT_NAME> por el nombre del certificado de la Edge Gateway):

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

Configure las instancias de Edge Gateway para que puedan conectarse a los Mediation Controllers.
Las configuraciones difieren según el Mediation Controller que se vaya a contactar. Realice ambas configuraciones:

Edite el fichero /etc/ipdiva/gateway/gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 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>

Sustituya los elementos siguientes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: debe sustituirse por la dirección RIP_MED_SSL_MASTER, el carácter : y el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_MASTER es igual a: 10.0.10.11
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: edge-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/gateway/gateway.xml quedaría configurado de la siguiente manera:

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

Por último, inicie la instancia de Edge Gateway para cargar la nueva configuración y conectarla al Mediation Controller MASTER:

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

Edite el fichero /etc/ipdiva/gateway-slave/gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 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>

Sustituya los elementos siguientes:

  • @SERVER@: debe sustituirse por la dirección RIP_MED_SSL_SLAVE
  • @SERVERPORT@: debe sustituirse por el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
  • @RPC_PORT@: debe sustituirse por un puerto TCP disponible en la máquina; suele utilizarse el puerto 9081
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_SLAVE es igual a: 10.0.10.13
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: edge-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd
  • Puerto RPC disponible: 9081

El fichero /etc/ipdiva/gateway-slave/gateway.xml quedaría configurado de la siguiente manera:

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

Por último, inicie la instancia de Edge Gateway para cargar la nueva configuración y conectarla al Mediation Controller SLAVE:

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

Configuración del servicio de grabación

Traslade el certificado del servicio de grabación al directorio /etc/ipdiva/careserver/ con un comando similar a este (sustituya <CERT_NAME> por el nombre del certificado previsto):

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

A continuación, configure el servicio modificando el fichero siguiente: /etc/ipdiva/careserver/careserver.xml. La configuración del fichero debe parecerse a esta (el fragmento siguiente omite numerosas líneas del fichero, indicadas mediante […]):

 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>

Realice las modificaciones siguientes:

  • Cambie la dirección IP de escucha del servicio de grabación a 0.0.0.0 (escucha en todas las direcciones IP disponibles)
  • Sustituya recording_service.p12 por el nombre del certificado del servicio de grabación
  • Sustituya PASSWORD por la contraseña del certificado del servicio de grabación
  • Añada la línea <element>http://127.0.0.1:9081</element>
Ejemplo

Teniendo en cuenta la información siguiente:

  • Nombre del fichero del certificado: fqdn.edge-gateway.local.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/careserver/careserver.xml quedaría configurado de la siguiente manera:

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

Valide la nueva configuración reiniciando el servicio de grabación:

1
systemctl restart ipdivacarerecord

Conexión de las instancias de HTML5 Gateway

Si hay que configurar la instancia de HTML5 Gateway, ejecute el siguiente comando en el servidor Edge Gateway como root para activar el arranque automático de la instancia:

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

Copie el fichero del certificado de la HTML5 Gateway en los directorios /etc/ipdiva/html5gateway/ssl/ y /etc/ipdiva/html5gateway-slave/ssl/. Puede hacerlo ejecutando como root comandos similares a los siguientes (sustituya <CERT_NAME> por el nombre del certificado de la HTML5 Gateway):

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

Configure las instancias de HTML5 Gateway para que puedan conectarse a los Mediation Controllers.
Las configuraciones difieren según el Mediation Controller que se vaya a contactar. Realice ambas configuraciones:

Edite el fichero /etc/ipdiva/html5gateway/html5gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 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>

Sustituya los elementos siguientes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: debe sustituirse por la dirección RIP_MED_SSL_MASTER, el carácter : y el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_MASTER es igual a: 10.0.10.11
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: html5-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/html5gateway/html5gateway.xml quedaría configurado de la siguiente manera:

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

Por último, reinicie la instancia de HTML5 Gateway para cargar la nueva configuración y conectarla al Mediation Controller MASTER:

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

Edite el fichero /etc/ipdiva/html5gateway-slave/html5gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 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>

Sustituya los elementos siguientes:

  • @SERVER@: debe sustituirse por la dirección RIP_MED_SSL_SLAVE
  • @SERVERPORT@: debe sustituirse por el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
  • @RPC_PORT@: debe sustituirse por un puerto TCP disponible en la máquina; suele utilizarse el puerto 9089
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_SLAVE es igual a: 10.0.10.13
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: html5-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd
  • Puerto RPC disponible: 9089

El fichero /etc/ipdiva/html5gateway-slave/html5gateway.xml quedaría configurado de la siguiente manera:

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

Por último, reinicie la instancia de HTML5 Gateway para cargar la nueva configuración y conectarla al Mediation Controller SLAVE:

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

Configuraciones previas a la conexión de las HTML5 Gateways

Para que las aplicaciones HTML5 funcionen, hay que configurar parámetros adicionales en los servidores Mediation Controller. Conéctese como root a los servidores Mediation Controllers MASTER y SLAVE.

Cree o edite el fichero /etc/ipdiva/httpd/commonParameters.extra.conf para añadir, para la HTML5 Gateway, una sección equivalente a la siguiente:

 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>

Where:

  • URL_HTML5 debe sustituirse por el contenido del campo URL de la HTML5 Gateway configurada en la consola de administración durante la declaración de la HTML5 Gateway (en Cluster suele ser HTML5-1 y HTML5-2).
  • GW_NAME debe sustituirse por el nombre de una Edge Gateway situada en el mismo servidor que la HTML5 Gateway. El carácter | del final de la línea debe conservarse.
  • ORGANIZATION_NAME debe sustituirse por el nombre de la organización a la que se conecta la Edge Gateway anterior.
Ejemplo

Para una plataforma con la configuración siguiente:

  • Nombre de la organización: my-organization-name
  • Declaración de la primera HTML5 Gateway en la consola de administración:
    • Name: html5-gateway-1
    • URL: HTML5-1
    • Protocol: WebSocket
  • Declaración de la segunda HTML5 Gateway en la consola de administración:
    • Name: html5-gateway-2
    • URL: HTML5-2
    • Protocol: WebSocket
  • Un servidor Edge Gateway de la primera HTML5 Gateway tiene:
    • Un servicio Edge Gateway llamado edge-gateway-1
    • Un servicio HTML5 Gateway llamado html5-gateway-1
  • Un servidor Edge Gateway de la segunda HTML5 Gateway tiene:
    • Un servicio Edge Gateway llamado edge-gateway-2
    • Un servicio HTML5 Gateway llamado html5-gateway-2

El fichero de configuración /etc/ipdiva/httpd/commonParameters.extra.conf creado quedaría configurado de la siguiente manera:

 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>

Antes de aplicar la nueva configuración, hay que comprobar que no provoque ningún error bloqueante en el servidor web Apache2.
Para ello, ejecute el siguiente comando:

1
apache2ctl configtest

Si la respuesta es Syntax OK, los cambios pueden aplicarse con el comando siguiente. En caso contrario, revise su configuración en el fichero /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2

Configuración de un servidor de tiempo NTP

Se recomienda configurar un servidor de tiempo para mantener el reloj del sistema actualizado. Los pasos necesarios se describen en la página de configuración NTP.