ZxChat with a TURN server/Annex: Installing a TURN server on Ubuntu 14.04/es

From ZeXtras Suite Wiki

Jump to: navigation, search
Idioma: English  • español • português

EXCENCIÓN DE RESPONSABILIDAD

  • Esta guía trata sobre productos no desarrollados ni soportados por Zextras, por lo que se entiende que es un ejemplo práctico de implementación. Por favor úsela solo como referencia y procure información en línea sobre su sistema operativo y sobre servidores TURN cuando implemente una infraestructura en ambiente de producción.
  • Un servidor TURN requiere un ancho de banda considerable dependiendo del número de videollamadas mantenidas al mismo tiempo.

TURN en Ubuntu 14.04 con reTurn

reTurn es un servidor y libreria cliente STUN/TURN open source altamente eficiente desarrollado en C++. Es una implementación de los últimos RFCs: RFC389 (STUN), y RFC5766 (TURN). Es la plataforma que elegimos para pruebas internas durante el desarrollo de ZeXtras Chat y para nuestro ambiente de producción.

Esta guía se concentrará unicamente en el componente TURN, pues STUN es implementado nativamente en ZeXtras Suite.

Información del paquete y dependencias

reTurn se puede encontrar en el "universo" estándar del repositorio de Ubuntu, en el paquete resiprocate-turn-server:

root@ubuntu:~# apt-cache showpkg resiprocate-turn-server

Package: resiprocate-turn-server

Versiones: 

1:1.9.7-4~ubuntu14.04.1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty-updates_universe_binary-amd64_Packages)
 

Lenguaje de descripción:

                File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages

                 MD5: 33f4212bea07cb997ac3ab4d3b97e3f7
 Lenguaje de descripción: en
                File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                 MD5: 33f4212bea07cb997ac3ab4d3b97e3f7

1.9.6-1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages)

 Lenguaje de descripción: 
                File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages

                 MD5: 33f4212bea07cb997ac3ab4d3b97e3f7
 Lenguaje de descripción: en
                File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                 MD5: 33f4212bea07cb997ac3ab4d3b97e3f7


Dependencias reversas: 
 resiprocate-turn-server:i386,resiprocate-turn-server
 resiprocate-turn-server:i386,resiprocate-turn-server
 sipml5-web-phone,resiprocate-turn-server
 jscommunicator-web-phone,resiprocate-turn-server
 drupal7-mod-drucall,resiprocate-turn-server
Dependencias: 
1:1.9.7-4~ubuntu14.04.1 - libresiprocate-1.9 (5 1:1.9.7-4~ubuntu14.04.1) libc6 (2 2.14) libgcc1 (2 1:4.1.1) libssl1.0.0 (2 1.0.1) libstdc++6 (2 4.6) adduser (0 (null)) sip-router (0 (null)) xmpp-server (0 (null)) jscommunicator-web-phone (0 (null)) openssl (0 (null)) resiprocate-turn-server:i386 (0 (null)) 
1.9.6-1 - libresiprocate-1.9 (5 1.9.6-1) libc6 (2 2.14) libgcc1 (2 1:4.1.1) libssl1.0.0 (2 1.0.1) libstdc++6 (2 4.6) adduser (0 (null)) sip-router (0 (null)) xmpp-server (0 (null)) jscommunicator-web-phone (0 (null)) openssl (0 (null)) resiprocate-turn-server:i386 (0 (null)) 

Provides: 

1:1.9.7-4~ubuntu14.04.1 - turn-server stun-server 

1.9.6-1 - turn-server stun-server 

Reverse Provides: 

as of Feb. 22nd 2016

Instalación y configuración

Instalación del paquete

Como root, simplemente instale "resiprocate-turn-server" usando apt-get:

 root@ubuntu:~# apt-get install resiprocate-turn-server

Luego de la instalación asegúrese que el server está activo, ejecutando:

root@ubuntu:~# netstat -npl |grep -i turn

El resultado debe ser algo así:

tcp        0      0 0.0.0.0:3478            0.0.0.0:*               LISTEN      4320/reTurnServer
tcp6       0      0 :::3478                 :::*                    LISTEN      4320/reTurnServer
udp        0      0 0.0.0.0:3478            0.0.0.0:*                           4320/reTurnServer
udp6       0      0 :::3478                 :::*                                4320/reTurnServer

Configuración

El principal archivo de configuración es /etc/reTurn/reTurnServer.config, y lo único que se requiere editar es la configuración TurnAddress colocando la dirección ip del servidor. Si desea editar SSL/TLS vea la sección # SSL/TLS Certificate Settings del archivo, mientras que las configuraciones de red se pueden hallar en # Transport Settings.

Configurar un usuario del servidor TURN

Por default, reTurn usa el archivo /etc/reTurn/users.txt como su base de datos de usuarios.

Como se describe en la sección # Authentication settings del archivo de configuración, los archivos usan el siguiente formato:

login:password:realm:state

además, los hashes de contraseñas son almacenados por default (UserDatabaseHashedPasswords setting).

ZeXtras Chat se autentica con un único usuario, especificado en la configuración del zimlet. Sugerimos enfáticamente que se genere una contraseña aleatoria fuerte usando apg:

root@ubuntu:~# apg -M SNCL -m32 -x32 -n1
tixcowdEmEiguc5OxApnalbOmCogfok(

Para crear una contraseña aleatoria use la utilidad md5sum

root@ubuntu:~# echo -n "tixcowdEmEiguc5OxApnalbOmCogfok(" | md5sum
deb48942a8648211d5e279d441ef495a  -

Despues de generar una contraseña fuerte agregue la línea relevante al archivo users.txt mencionado antes; Ej.: user - zextraschat

hashed pass - deb48942a8648211d5e279d441ef495a

realm - reTurn (el realm por defecto puede cambiarse en el archivo de configuración)

state - authorized

zextraschat:deb48942a8648211d5e279d441ef495a:reTurn:authorized

Una vez que el servidor esté ejecutándose y el usuario esté configurado, puede proceder a configurar el zimlet ZeXtras Chat para usar el nuevo servidor TURN.

Registro

El archivo de registro por defaecto para reTurn se encuentra en /var/log/reTurnServer/reTurnServer.log, y la configuración del mismo se puede cambiar en la sección #Logging Settings del archivo de configuración.

Archivo de registro

El archivo del log de reTurn está localizado por defecto en /var/log/reTurnServer/reTurnServer.log, y la configuración del log se puede cambiar en la sección #Logging Settings del archivo de configuración.

Personal tools