English English

Comment compiler et configurer le serveur de tour "coturn"

Coturn est un serveur "turn" et "stun" qui peut être utilisé pour, par exemple VoIP. Il permet de créer une connexion entre des clients qui se trouvent derrière un NAT ou dans des réseaux différents.

Les données peuvent ensuite être envoyées par le biais de cette connexion créée par votre serveur "de tour".
Coturn peut également être utilisé avec "NextCloud" ou "Matrix server".

Télécharger et compiler "coturn"

Allez dans le dossier "/usr/local/" :

cd /usr/local


Télécharger la dernière version (recommandé)
https://github.com/coturn/coturn/releases

Alternative: Vous pouvez également créer un "tour" à partir de la version de développement, si vous souhaitez tester le logiciel.

git clone https://github.com/coturn/coturn.git

 

Extrayez le dossier "coturn" (si vous avez téléchargé la version "coturn" sous forme de fichier zip).

Allez dans votre dossier "coturn" et compilez l'application.

cd coturn
./configure
make && make install

 

Veuillez créer un dossier pour les fichiers journaux

mkdir /var/log/turn

 

Configurer le fichier "/etc/turnserver.conf"

Vous pouvez utiliser le fichier de configuration turnserver.conf, qui est disponible dans le dossier de votre dépôt github téléchargé ("coturn/examples/etc").
Ce tutoriel utilise cependant un fichier de configuration personnalisé, turnerver.conf, qui peut être téléchargé à partir de ce dépôt Github :
https://github.com/a-dridi/Linux_config-files/blob/master/turnserver/turnserver.conf

 

vim /etc/turnserver.conf

Modifiez les paramètres et adaptez la section des paramètres importants à l'environnement de votre serveur.
Veuillez également définir un "static-auth-secret" qui est le mot de passe pour accéder au serveur de tour et qui peut être utilisé par exemple par le serveur Matrix.

Configurez votre serveur de tour par le biais du fichier "/etc/turnserver.conf".
Une version modèle (turnserver.conf.default) est disponible dans le dossier où se trouve votre dossier d'installation.

Un exemple de configuration:

listening-port=3478
tls-listening-port=5349

proc-user=turnserver
proc-group=turnserver

use-auth-secret
static-auth-secret=MY_PASSWORD_SECRET
realm=matrix.myserver.tld

#for debugging:
#verbose

fingerprint

# special case the turn server itself so that client->TURN->TURN->client flows work
allowed-peer-ip=10.0.0.1

#Security
#to avoid risk of DoS
# 200 Simultaneous relayed calls
total-quota=200

# consider whether you want to limit the quota of relayed streams per user (or total) to avoid risk of DoS.
user-quota=12 # 4 streams per video call, so 12 streams = 3 simultaneous relayed calls per user.

#Relay Ports: Opened Port range in accord with UFW Firewall
min-port=49152
max-port=49157

cert=/etc/turnserver-ssl/fullchain.pem
pkey=/etc/turnserver-ssl/privkey.pem

# Flag that can be used to disallow peers on the loopback addresses (127.x.x.x and ::1).
# This is an extra security measure.
#
no-loopback-peers

# Flag that can be used to disallow peers on well-known broadcast addresses (224.0.0.0 and above, and FFXX:*).
# This is an extra security measure.
#
no-multicast-peers

 

Activer la "coturn".

vim /etc/default/coturn
TURNSERVER_ENABLED=1

 

Veuillez également mettre en place un service de "coturn".

vim /etc/systemd/system/coturn.service
[Unit]
Description=coturn
Documentation=man:coturn(1) man:turnadmin(1) man:turnserver(1)
After=syslog.target network.target

[Service]
Type=forking
User=turnserver
Group=turnserver
RuntimeDirectory=turnserver
RuntimeDirectoryMode=0750
EnvironmentFile=/etc/default/coturn
PIDFile=/run/turnserver/turnserver.pid
ExecStart=/usr/local/coturn/bin/turnserver --daemon --pidfile /run/turnserver/turnserver.pid --syslog -c /etc/turnserver.conf $EXTRA_OPTIONS
Restart=on-abort
LimitCORE=infinity
LimitNOFILE=1000000
LimitNPROC=60000
LimitRTPRIO=infinity
LimitRTTIME=7000000
CPUSchedulingPolicy=other
UMask=0007

[Install]
WantedBy=multi-user.target

 

Activez maintenant le service créé

systemctl enable coturn

 

Créer l'utilisateur "turnserver" pour ce programme

useradd -d /usr/local/coturn/bin/turnserver -s /bin/false turnserver
chown turnserver:turnserver -R /usr/local/coturn

 

Redémarrage "coturn"

service coturn restart

Vous pouvez maintenant utiliser le serveur "coturn". Vous pouvez y accéder via les ports définis et le serveur public ip. Dans cet exemple, il s'agit du port "3478".

 

Coturn
https://github.com/coturn/coturn

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok