Nextcloud Talk mit eigenem TURN-Server

Wer seine eigene Nextcloud betreibt um Dateien sicher ablegen und teilen zu können kennt sicherlich auch die Erweiterung Nextcloud Talk.

Nextcloud Talk ist ein vollständig selbst gehosteter, lokaler Audio/Video- und Chat-Kommunikationsdienst. Es verfügt über Web- und Mobile-Applikationen und ist so konzipiert, dass es ein Höchstmaß an Sicherheit bei einfacher Bedienung bietet.

Was ist das?

Mobile Endgeräte sind meist nicht in einem Netzwerk. Geräte müssen jedoch sowohl ihre interne, als auch ihre externe IP-Adresse kennen. Diese Umsetzung ist Aufgabe eines STUN-Servers und coturn liefert praktischerweise diese Funktion ebenfalls mit.

Sobald Endgeräte hinter Firewalls sind, kann der STUN-Server die Übersetzung der Adressen nicht mehr leisten. In diesen Fällen spricht man von einem Symmetric NAT. Hier wird durch die Firewall verhindert, dass aus dem Internet aufgebaute Verbindungen in das lokale Netzwerk möglich sind. Ein Proxy oder auch TURN-Server genannt ist dann notwendig, über den sämtliche Verbindungen geleitet werden.

Punkt 1: Installation von coturn unter Debian 9

Wir installieren das Paket. coturn kann auch auf dem selben System wie Nextcloud installiert werden. Wenn dies hinter dem heimischen Router ist, muss dort evtl der Firewall Port 5349 geöffnet und auf den coturn Server geleitet werden.

Punkt 2: coturn aktivieren

In der Datei /etc/default/coturn aktivieren wir coturn.

Punkt 3: dhparam erstellen

Mit diesem Befehl erstellen wir uns eine dhparam Datei.

Punkt 4: Passwort für den TURN-Server generieren

Unsere Nextcloud braucht natürlich die Berechtigung

Punkt 5: coturn konfigurieren

Die folgende Konfiguration kann übernommen werden. Die markierten Zeilen bitte eurem System anpassen.

Es kann das Nextcloud eigene Zertifikat verwendet werden. Wenn coturn auf dem selben Server installiert wurde bietet sich dies an.
Wie ihr an ein kostenloses Let’s Encrypt Zertifikat kommt habe ich hier beschrieben: Let’s Encrypt via acme.sh für Apache und Nginx

Punkt 6: coturn neustarten

Wir übernehmen die Konfiguration mit einem Neustart.

Punkt 7: Nextcloud Talk Erweiterung

Wir loggen uns in Nextcloud als Admin ein, klicken oben rechts im Menü auf Apps und suchen nach der Erweiterung Talk und aktivieren diese.

Jetzt können wir unter Einstellungen > Talk unsere Domain samt Port als STUN- und TURN-Server eintragen: z.B. cloud.domain.de:5349.
Das generierte Passwort tragen wir im rechten Feld im TURN-Server Bereich ein.

Mit einem Klick auf das Icon, welches hier rot umkreist ist, prüft ihr ob die Einrichtung korrekt war.

Der Test läuft einige Sekunden lang.

Erfolgreich konnte eine Verbindung aufgebaut werden, wenn diese Meldung erscheint.

Das war es auch schon, nun kann die Mobile App installiert werden um eure Familie oder Freunde anzurufen.

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende.
1

dominion

Linux Systemadministrator

17 Antworten

  1. Stefan sagt:

    Danke für die Anleitung. Gerade im Moment suche ich auch für meine Familie eine eigene Lösung.

    Ich bin allerdings noch recht neu in der Linux Welt unterwegs und war damals froh, dass Ubuntu LTS in der Installation schon eine integrierte Nextcloud hatte (ich mich weitestgehend an fertige Anleitungen halten konnte).

    Funktioniert die beschriebene Methode, vor allem das Übernehmen des Zertifikates auch, wenn Nextcloud als Docker Container läuft?

    Beste Grüße und vielen Dank, Stefan

  2. Stefan sagt:

    Also ich habe gerade festgestellt, das Nextcloud bei mir als Snap installiert ist. Soweit ich weiß habe ich Nginx nicht als Proxy davor. Aber allein, das ich das nicht aus dem Stehgreif sagen kann, disqualifiziert mich vermutlich schon 😉

  3. Stefan sagt:

    Ich habe gerade festgestellt, dass NC als snap läuft. Meines Wissens habe ich kein Nginx konfiguriert.
    Soweit ich weiß habe ich das Letsencript auch über das NC Snap angesteuert. Vermutlich wird es dann schwierig dort heran zu kommen?

    Schon mal vielen Dank!

  4. Rainer sagt:

    Vielen Dank für die Anleitung. Stimmt es, dass NC in der neuesten Version keine Erfolgsmeldung mehr gibt, wie sie bei Euch dargestellt ist? Bei mir kommt statt dessen ein kleines schwarzes Ausrufezeichen und dann wieder das von Euch rot umkreiste Symbol.
    Bin relativer Linux-Anfänger und nicht wirklich firm darin, den Coturn-Server zu überprüfen…
    Danke und herzliche Grüße

    • Dominion sagt:

      Hallo Rainer,

      ich habe die Anleitung mit frischen Bildern versehen.
      Auf diesen siehst du, welche Meldung erscheinen sollte. Getestet habe ich meinen Coturn Server im Chromium Browser.

      Gruß
      Dominion

  5. stdc sagt:

    Moin,

    ich habe beschlossen mich an deine Anleitung zu halten. Ich habe jetzt nur zwei Fragen.
    Ich habe mein Server bereits im Internet , brauche ich dann einen zweiten Server oder reicht mein Server aus?
    die Zweite Frage ist, wenn ich den Stun-Server einrichten würde auf einen zweiten Server was fällt dann an Traffic an? die gesamte Videotelefonie oder nur das „managen“ zwischen Server und Clienten?

    Ich würde mich sehr über eine Erklärung freuen. Weil sonst würde ich einfach ein V-Server für 2 € mieten

    • Dominion sagt:

      Hi,
      du kannst coturn auf dem selben Server installieren wie Nextcloud, das sollte kein Problem sein.
      Der TURN Dienst ist für P2P Verbindungen gedacht die hinter einer Firewall stehen und bestimmte WebRTC Ports nicht erreichen können oder dürfen.
      Der gesamte Videotraffic läuft dann durch coturn.

      Anders ist es bei Clients die WebRTC erreichen können, diese nutzen dann nur kurz den STUN Dienst um die öffentliche IP-Adresse aufzulösen.

      Gruß

  6. Minocula sagt:

    Hey Dominion, dank deiner tollen Anleitung habe ich damals im März – Mitten in Corona – mein eigenes talk zum Laufen gebracht. Es gab damals keine schlauen Anleitungen und du hast mir echt den Weg gezeigt. Danke dafür!

    Nun nach einigen Updates läuft diese Config so nicht mehr bei mir – es hat sich nichts geändert aber seit Talk 9.0.2 und 9.0.4 muss irgendetwas passiert sein. Aktuell meldet nextcloud immer „Fehler: Keine funktionierenden ICE-Kandidaten durch den TURN Server zurück gesendet”. Wie gesagt lief alles bestens vorher. Habe nun diverse Sachen versucht gemäss (https://help.nextcloud.com/t/turn-server-coturn-einrichtung-funktioniert-nicht/84763) hat leider alles nichts gebracht.

    Hast du schon was davon gehört?

    • Dominion sagt:

      Hi Minocula,

      ich kann das Problem nicht nachvollziehen. Bei mir sagt der Test in Nextcloud das alles in Ordnung ist und die Verbindung möglich ist.
      Meine coturn Config:
      # cat /etc/turnserver.conf
      listening-ip=xxxx
      listening-ip=xxxxxxxxxx
      listening-port=3478
      tls-listening-port=5349
      fingerprint
      lt-cred-mech
      use-auth-secret
      static-auth-secret=xxxxxxxxxx
      realm=xxxxxxxx
      total-quota=100
      bps-capacity=0
      stale-nonce=600
      cert=xxxxxx
      pkey=xxxxxx
      dh-file=/etc/ssl/private/dhparam.pem
      cipher-list="ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"
      no-loopback-peers
      no-multicast-peers
      no-tlsv1
      no-tlsv1_1
      no-stdout-log
      no-tcp
      syslog

      Gruß
      Dominion

  7. Eve Hunt sagt:

    „Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point.

    You definitely know what youre talking about, why
    waste your intelligence on just posting videos to your site when you could
    be giving us something informative to read?“

  8. Putin sagt:

    Fine way of describing, and pleasant piece of writing to get information concerning my presentation subject

  9. I simply wanted to say thanks again. I’m not certain the things I would’ve carried out in the absence of these points provided by you regarding such field. It was before a real daunting difficulty in my view, nevertheless considering the very skilled style you treated the issue took me to jump with fulfillment. Extremely grateful for the advice and then expect you comprehend what a great job that you’re putting in training the rest all through your site. Most likely you’ve never met all of us.

  10. snehal sagt:

    Hello
    I have problem with wen i trying to configure coturn it shows an error can you help me

  11. Wladimir sagt:

    „Hallo,

    erstmal vielen Dank für so ein cooles Tutorial. Ich habe alles so gemacht, wie du das erzählt hast, und alles hat geklappt. Allerdings funktionierte die Videoübertragung nach dem Neustart des Servers nicht mehr.

    Hast du vielleicht eine Idee, woran das liegen könnte?

    Vielen Dank im Voraus.

    Schöne Grüße aus Mainz, Wladimir“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert