English English

Wie man den Turn-Server "coturn" kompiliert und konfiguriert

Coturn ist ein "Turn-" und "Stun-Server", der z.B. für VoIP verwendet werden kann. Es ermöglicht Ihnen, eine Verbindung zwischen Clients herzustellen, die sich hinter einem NAT oder in verschiedenen Netzwerken befinden.

Daten können dann über diese von Ihrem "Turn"-Server hergestellte Verbindung gesendet werden.
Coturn kann auch mit "NextCloud" oder "Matrix-Server" verwendet werden.

Laden Sie "coturn" herunter und kompilieren Sie es

Gehen Sie in den Ordner "/usr/local/":

cd /usr/local


Laden Sie die neueste Version herunter (empfohlen)
https://github.com/coturn/coturn/releases

Alternative: Sie können stattdessen auch "coturn" aus der Entwicklungsversion erzeugen, wenn Sie die Software testen wollen.

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

 

Entpacken Sie den Ordner "coturn" (falls Sie die "coturn"-Version als Zip-Datei heruntergeladen haben).

Gehen Sie bitte in Ihren "coturn"-Ordner und kompilieren Sie die Anwendung.

cd coturn
./configure
make && make install

 

Bitte erstellen Sie einen Ordner für die Log-Dateien

mkdir /var/log/turn

 

Konfigurieren Sie die Datei "/etc/turnserver.conf".

Sie können die Konfigurationsdatei turnserver.conf verwenden, die in Ihrem heruntergeladenen Github-Repository-Ordner ("coturn/examples/etc") verfügbar ist.
Dieses Tutorial verwendet jedoch eine angepasste Konfigurationsdatei turnserver.conf, die von diesem Github-Repository heruntergeladen werden kann:
https://github.com/a-dridi/Linux_config-files/blob/master/turnserver/turnserver.conf

 

vim /etc/turnserver.conf

Bearbeiten Sie die Einstellungen und passen Sie den Abschnitt Wichtige Einstellungen an Ihre Serverumgebung an.
Bitte definieren Sie auch ein "static-auth-secret", welches das Passwort für den Zugang zum Turn-Server ist und z.B. vom Matrix-Server verwendet werden kann.

Konfigurieren Sie Ihren Turn-Server über die Datei "/etc/turnserver.conf".
Eine Vorlagenversion (turnserver.conf.default) ist in dem Ordner verfügbar, in dem sich Ihr Installationsordner befindet.

Eine Beispielkonfiguration:

 

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

 

Aktivieren Sie "coturn"

vim /etc/default/coturn
TURNSERVER_ENABLED=1

 

Bitte richten Sie auch einen "coturn"-Service ein

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

 

Aktivieren Sie nun den erstellten Service

systemctl enable coturn

 

Erstellen Sie den Benutzer "turnserver" für dieses Programm

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

 

Starten "coturn" neu

service coturn restart

Jetzt können Sie den "coturn"-Server benutzen. Sie können auf ihn über die definierten Ports und die öffentliche Server-IP zugreifen. In diesem Beispiel ist es der Port "3478".

 

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

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok