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

Bei mir steht dort

May 12 22:09:33 XXXXX turnserver: 0: Default realm: domain.xx

Der Server, auf dem coturn läuft hat eine feste IP.

Ist aber nicht in der turnserver-Konfiguration angegeben. Wo muss die angegeben werden?

Ich glaube so:

listening-ip=<IP-Adresse>

Keine Änderung. Immer noch active (exited)

Hier nochmal der aktuelle Inhalt meiner turnserver.conf:
listening-port=3478
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=test
realm=xxx.net/cloud
total-quota=100
bps-capacity=0
stale-nonce

no-stdout-log
log-file=/var/tmp/turn.log
syslog
simple-log
no-loopback-peers
no-multicast-peers

IP hab’ ich wieder rausgenommen, weil in der Anleitung von Nextcloud nicht angegeben.

Bin langsam wirklich ratlos.

Falsch!  

Ist das, was ich eingebe, wenn ich meine Cloud aufrufe.

Ich hab mir nochmal die Doku angeschaut https://manpages.ubuntu.com/manpages/cosmic/man5/turnserver.conf.5.html und bin mir jetzt nicht mehr sicher ob man die feste ip-Adresse überhaupt in der Konfiguration angeben muß.

Ich habe da eine Annahme getroffen, ohne sie zu überprüfen, das war mein Fehler. Ich bin davon ausgegangen, daß Du Deine Nextcloud als subdomain konfiguriert hast, also nextcloud.xxx.net. Ich weiß im Moment nicht, ob das so wie bei Dir überhaupt funktionieren kann.

Danke erstmal für deine Antwort.
Evtl. kann das ja jemand anders bestätigen oder widerlegen, ob realm=your.domain.org
als Subdomän cloud.XXXXX.net konfiguriert sein muss oder ob XXXX.net/cloud auch funktioniert.

Bzgl. Doku habe ich mich an die Anleitung von Nextcloud gehalten:
https://nextcloud-talk.readthedocs.io/en/latest/TURN/

Was man hier eintragen soll steht in der Konfigurationsdatei von Coturn in den Kommentaren.

:wink:

Eventuell solltest Du Dir das nochmal durchlesen:


Speziell der Teil, wie Du Deinen turnserver testen kannst: " How to test my TURN Server"
Du kommst dann auf diese Seite:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
Dort nur ‘STUN or TURN URI’ füllen, aber nicht TURN username und TURN passwort.
Dann ‘Gather candidates’ klicken. Das zeigt Dir zumindest ob Dein turnserver funktioniert:

Time Component Type Foundation Protocol Address Port Priority
0.003 1 host 0 udp 7911398d-0ba6-4f20-bb50-dfb8c7834ada.local 54537 126 | 32512 | 255
0.004 1 host 2 tcp 7911398d-0ba6-4f20-bb50-dfb8c7834ada.local 9 125 | 32704 | 255
0.005 2 host 0 udp 7911398d-0ba6-4f20-bb50-dfb8c7834ada.local 38148 126 | 32512 | 254
0.005 2 host 2 tcp 7911398d-0ba6-4f20-bb50-dfb8c7834ada.local 9 125 | 32704 | 254
0.027 1 srflx 1 udp xx.xx.25.174 54537 100 | 32543 | 255
0.047 2 srflx 1 udp xx.xx.25.174 38148 100 | 32543 | 254
0.047

1 Like

@peteman52 Sieht bei mir anders aus. Tu mir aber schwer, dass zu deuten.

Time Component Type Foundation Protocol Address Port Priority
0.064 1 srflx 1 udp XX.XX.200.57 36504 100 | 32287 | 255
0.113 1 srflx 3 udp 2003:c5:9715:ec00:e945:7d5:92da:87b4 59379 100 | 32543 | 255
0.117 2 srflx 1 udp XX.XX.200.57 46225 100 | 32287 | 254
0.127 2 srflx 3 udp 2003:c5:9715:ec00:e945:7d5:92da:87b4 43046 100 | 32543 | 254
0.146 Done

#The default realm to be used for the users when no explicit
#origin/realm relationship was found in the database, or if the TURN
#server is not using any database (just the commands-line settings
#and the userdb file). Must be used with long-term credentials
#mechanism or with TURN REST API.

Hilft mir nicht wirklich weiter, da ich das nicht und auch nicht weiß, wie ich es rauskriege.

Ich den verschiedenen Anleitungen steht realm=your.domain.org

Welche Domain ist hier gemeint, die von Nextcloud oder die des TURN-Servers (coturn)?

Nach meinem Verständnis ist es egal was Du dort setzt solange der Server und die Klienten den gleichen String beim Verbindungsaufbau nutzen. Gemäß dem Coturn-Wiki handelt es sich um ein Element um die Zugehörigkeit von Klienten zu einem Server einzuschränken. D.h. nur Klienten die die gleiche Realm nutzen können über den Server miteinander kommunizieren.

Da im umgekehrten Fall der –server-name-Parameter für die oAuth-Authentifizierung standardmäßig aus dem Realm hergeleitet wird, würde ich hier den FQDN des Coturn-Servers setzen.

1 Like

Habe in o.g. Anleitung wie auch von @j-ed beschrieben folgenden Hinweis zu realm gefunden:

#realm=mycompany.org
then uncomment and change it to the FQDN of the TURN server
realm=xxxxx.netways.de

Habe jetzt geändert zu:
realm=XXXX.stratoserver.net

Ergebnis:
Unmittelbar nach sudo systemctl restart coturn -> active (running)
Kurz danach -> active (exited)

Vielen Dank erstmal an alle, die mir bisher geholfen haben.

Leider steht coturn noch immer auf active (exited)

Inhalt der turnserver.conf ist:
listening-port=3478
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=test
realm=XXXX.stratoserver.net #Server, auf dem coturn läuft
total-quota=100
bps-capacity=0
stale-nonce
no-loopback-peers
no-multicast-peers

sudo iptables -L -n | grep 3478
ACCEPT udp – 0.0.0.0/0 0.0.0.0/0 udp dpt:3478
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:3478

nmap XXXX.stratoserver.net
Starting Nmap 7.60 ( https://nmap.org ) at 2020-05-14 00:09 CEST
Nmap scan report for XXXX.stratoserver.net (XX.XXX.XXX.XXX)
Host is up (0.017s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
9876/tcp filtered sd
Nmap done: 1 IP address (1 host up) scanned in 1.55 seconds

Kann mir jemand bei folgenden Fragen helfen:

  1. Kann Port 3478 die Ursache sein?
    Müsste der Port auch bei nicht laufendem coturn [active (exited)] offen sein?
    D.h., würde der Port durch ein laufendes/lauschendes coturn offen gehalten?

  2. Wo finde ich Informationen darüber, was zum Abbruch (exited) von coturn führt? In den üblichen Logs finde ich keinen Hinweis.
    /var/log/syslog
    /var/log/turn_…log

In einem anderen Forum fand ich noch folgenden Hinweis: “State active (exited) means that systemd has successfully run the commands but that it does not know there is a daemon to monitor.”

Vielleicht weil der nicht vollständig konfiguriert ist? Bei dir fehlt ja TLS und das CLI.

Die deiner Nextcloud-Instanz, also sowas wie sub.domain.xx

Ich habe mich an der Anleitung von Nextcloud orientiert:
https://nextcloud-talk.readthedocs.io/en/latest/TURN/

TLS-Konfiguration habe ich aufgrund des folgenden Hinweises weggelassen:

Eine Konfiguration von CLI wurde in der Anleitung nicht angesprochen, daher habe ich sie ebenfalls weggelassen.

Wie weiter oben beschrieben: