Nextcloud, Talk, TURN-Server, coTurn, Ports, Strato

Ich denke Du solltest es einmal mit folgender Konfiguration versuchen. Da Du kein CLI-Kennwort gesetzt hast, ist meines Erachtens aber mindestens ein “no-cli” erforderlich um die Fehlermeldung zu vermeiden. Da Nextcloud meines Wissens keine TLS-Verbindungen unterstützt, habe ich darüber hinaus noch “no-tlsv1” gesetzt.

listening-port=3478
fingerprint
use-auth-secret
static-auth-secret=<AUTH-SECRET>
server-name=<FQDN-DES-SERVERS>
userdb=/var/lib/coturn/turnuser.db
realm=<FQDN-DES-SERVERS>
total-quota=100
bps-capacity=0
stale-nonce
no-stdout-log
log-file=/var/log/turnserver.log
simple-log
no-multicast-peers
pidfile=/run/turnserver.pid
no-cli
no-tlsv1

Der Aufruf erfolgt dann wie folgt (Da Coturn scheinbar nicht alle Parameter aus der Konfiguration sofort übernimmt, waren zusätzlichen Kommandozeilenparameter erforderlich):

/usr/bin/turnserver -c /etc/coturn/turnserver.conf --daemon --simple-log --log-file=/var/log/turnserver.log

Guten Tag, ich habe ebenfalls das selbe Problem und habe auch einen Server bei Strato. Ich habe nun meinen Server, meinen NextcloudServer, sowie Coturn mehrfach neu aufgesetzt (mittels verschiedener Anleitungen) ohne irgendwelche Aussichten auf Erfolg. Anders als du habe ich Tls konfiguriert und benutze eine Subdomain. Kann es vielleicht an irgendwelchen Dependencies liegen, die fehlen?

Ich komme jetzt noch mal auf Deine syslog-Einträge für den turnserver zurück:
Meine Einträge sehen so ähnlich aus wie bei Dir, allerdings sehe ich meine letzten fünf Eintäge bei Dir nicht:
May 14 12:21:09 mpeUbuntuserver turnserver: 0: Total General servers: 4
May 14 12:21:09 mpeUbuntuserver turnserver: 0: IO method (auth thread): epoll (with changelist)
May 14 12:21:09 mpeUbuntuserver turnserver: 0: IO method (admin thread): epoll (with changelist)
May 14 12:21:09 mpeUbuntuserver turnserver: 0: IO method (auth thread): epoll (with changelist)
May 14 12:21:09 mpeUbuntuserver turnserver: 0: SQLite DB connection success: /var/lib/turn/turndb

Ich weiß nicht ob bei Ubuntu SQLite standardmäßig installiert ist. Ist SQLite bei Dir installiert?

Schade ich hatte Hoffnung, da es bei mir nicht installiert war habe es jetzt installiert und coturn neu gestartet, hat aber leider hinsichtlich des Status kein Erfolg gebracht.

Danke für den Hinweis, brachte aber leider keine Änderung. Ergebnis immer noch active (exited)

@peteman52
syslog zeigt bei mir nur Folgendes:
May 14 20:37:01 XXXX systemd[1]: Stopping LSB: coturn TURN Server…
May 14 20:37:01 XXXX coturn[3997]: * Stopping coturn turnserver
May 14 20:37:01 XXXX coturn[3997]: …done.
May 14 20:37:01 XXXX systemd[1]: Stopped LSB: coturn TURN Server.
May 14 20:37:01 XXXX coturn[4003]: * Starting coturn turnserver
May 14 20:37:01 XXXX systemd[1]: Starting LSB: coturn TURN Server…
May 14 20:37:02 XXXX coturn[4003]: …done.
May 14 20:37:02 XXXX systemd[1]: Started LSB: coturn TURN Server.

/var/log/turn_…log zeigt:
0: log file opened: /var/log/turn_3733_2020-05-14.log
0: pid file created: /var/run/turnserver.pid
0: IO method (main listener thread): epoll (with changelist)
0: Wait for relay ports initialization…
0: relay 127.0.0.1 initialization…
0: relay 127.0.0.1 initialization done
0: relay XX.XXX.XXX.XXX initialization…
0: relay XX.XXX.XXX.XXX initialization done
0: relay ::2 initialization…
0: relay ::2 initialization done
0: Relay ports initialization done
0: IO method (general relay thread): epoll (with changelist)
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=7 created
0: IPv4. TCP listener opened on : 127.0.0.1:3478
0: IPv4. TCP listener opened on : 127.0.0.1:3479
0: IPv4. TCP listener opened on : XX.XXX.XXX.XXX:3478
0: IPv4. TCP listener opened on : XX.XXX.XXX.XXX:3479
0: IPv6. TCP listener opened on : ::1:3478
0: IPv6. TCP listener opened on : ::1:3479
0: IPv6. TCP listener opened on : ::2:3478
0: IPv6. TCP listener opened on : ::2:3479
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=8 created
0: IPv4. TCP listener opened on : 127.0.0.1:3478
0: IPv4. TCP listener opened on : 127.0.0.1:3479
0: IPv4. TCP listener opened on : XX.XXX.XXX.XXX:3478
0: IPv4. TCP listener opened on : XX.XXX.XXX.XXX:3479
0: IPv6. TCP listener opened on : ::1:3478
0: IPv6. TCP listener opened on : ::1:3479
0: IPv6. TCP listener opened on : ::2:3478
0: IPv6. TCP listener opened on : ::2:3479
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=9 created

0: IPv6. UDP listener opened on: ::2:3479
0: Total General servers: 48
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)

@peteman52 Könntest du bitte einmal mit turnserver -o nachschauen welche Version von Coturn bei dir installiert ist. Mir ist gerade ausgefallen, dass er bei apt-get install coturn das Paket von einem Strato Server zieht und dass dieses Paket nun nicht gerade das neueste ist. Vielleicht bekommt man bei Strato einfach eine zu alte Version.

(Part 2, da ich nicht mehr antworten erstellen kann…)
@peteman52
Ist bei mir identisch. Wie sieht es mit Berechtigungen aus? Ich habe gerade das loglevel umgestellt und dann hat er mir ausgespuckt, dass er das dh-key file, das Zertifikatsfile und das Privatekey file nicht finden kann, obwohl sie an den angegebenen Orten liegen. Womit muss der Dienst ausgeführt werden, bzw. muss man da noch irgendwas mit den Berechtigungen machen?

@puck08 Dies sieht meines Erachtens doch schon nicht schlecht aus und entspricht etwa den Logzeilen meines Servers. Hast Du hier den Dienst manuell gestartet wie ich es empfohlen hatte?

turnserver -o :
Version Coturn-4.5.0.7 ‘dan Eider’

apt show -a turnserver:
Package: turnserver
Version: 0.7.3-6build1
Priority: extra
Section: universe/net
Origin: Ubuntu
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: Debian QA Group packages@qa.debian.org
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 142 kB
Depends: libc6 (>= 2.15), libconfuse2 (>= 3.2.1~), libssl1.0.0 (>= 1.0.0), adduser
Homepage: http://www.turnserver.org/
Download-Size: 48,8 kB
APT-Sources: http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: server for ICE/STUN/TURN, NAT traversal for SIP and Jabber
TURN server developed by the team behind Jitsi. TURN (RFC 5766)
provides a standardised solution for VoIP applications
to find the most efficient way to route media streams when NAT and
firewall devices may be present.
.
The TurnServer project aims to be compliant with the TURN and STUN
Request For Comments (respectively RFC 5766 and RFC 5389). It also
support RFC 6156 namely TURN-IPV6 (relay between IPv4-IPv6, IPv6-IPv4
and IPv6-IPv6 addresses) and RFC 6062 namely TURN-TCP (relay data with
TCP).

Same same bei mir

Als hauptsächlichen Unterschied zu mir sehe ich an, daß Du ohne SSL arbeitest, bin aber immer davon ausgegangen, daß das nicht notwendig ist, aber das mag ja ein Irrtum sein:
Nextcloud talk is not working without SSL.
Außerdem sehe ich bei Dir keinen Zugriff auf SQLite.

Bei mir das Gleiche.

Ja, habe ich gemacht:
sudo /usr/bin/turnserver -c /etc/turnserver.conf --daemon --simple-log --log-file=/var/log/turnserver.log
0: log file opened: /var/log/turnserver.log
0:
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Coturn-4.5.0.7 ‘dan Eider’
0:
Max number of open files/sockets allowed for this process: 1048576
0:
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 524000 (approximately)
0:

==== Show him the instruments, Practical Frost: ====

0: TLS supported
0: DTLS supported
0: DTLS 1.2 supported
0: TURN/STUN ALPN supported
0: Third-party authorization (oAuth) supported
0: GCM (AEAD) supported
0: OpenSSL compile-time version: OpenSSL 1.1.0g 2 Nov 2017 (0x1010007f)
0:
0: SQLite supported, default database location is /var/lib/turn/turndb
0: Redis supported
0: PostgreSQL supported
0: MySQL supported
0: MongoDB is not supported
0:
0: Default Net Engine version: 3 (UDP thread per CPU core)

=====================================================

0: 0 bytes per second allowed, combined server capacity
0: ERROR:
CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!

no-cli macht keinen Unterschied.

Beendet sich der Dienst danach immer noch oder läuft er weiter? Die Meldungen erscheinen mir erst einmal stimmig.

Er beendet sich immer noch:

sudo systemctl status coturn

● coturn.service - LSB: coturn TURN Server
Loaded: loaded (/etc/init.d/coturn; generated)
Active: active (exited) since Fri 2020-05-15 16:50:24 CEST; 56min ago
Docs: man:systemd-sysv-generator(8)
Process: 3462 ExecStop=/etc/init.d/coturn stop (code=exited, status=0/SUCCESS)
Process: 3468 ExecStart=/etc/init.d/coturn start (code=exited, status=0/SUCCESS)

Deshalb meine Frage, ob der Dienst korrekt läuft wenn Du in manuell, wie von mir beschrieben, aufrufst. Es wäre denkbar, dass die coturn.service-Datei eine Anpassung erfordert um das automatische Beenden zu verhindern.

Siehe hierzu auch


Vielen Dank für all eure Unterstützung. Dennoch gebe ich das Thema Talk erstmal auf :frowning:

Bin zu Jitsi gewechselt. Das war nach ca. 2 Stunden einsatzbereit :slight_smile:

Dabei wärs nur 1 Zeile in der config gewesen, die bei dir fehlt:

listening-ip=XX.XX.XX.XXX

1 Like

Daran liegt es leider nicht habe ich schon probiert, das Problem ist, dass Coturn erst gar nicht startet, d.h. wenn ich unter netstat -tulpn schaue müsste ich da ja die Ports sehen, die benötigt werden, dies ist allerdings nicht der Fall. :frowning:

1 Like