Skip to content
  • Kategorien
  • World
  • Aktuell
  • Tags
  • Beliebt
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
linux-nerds.org

linux-nerds.org

  1. Übersicht
  2. Linux
  3. Nextcloud
  4. Nextcloud Talk

Nextcloud Talk

Geplant Angeheftet Gesperrt Verschoben Nextcloud
nextcloudcoturnlinuxtalk
5 Beiträge 1 Kommentatoren 941 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • FrankMF Offline
    FrankMF Offline
    FrankM
    schrieb am zuletzt editiert von
    #1

    In Zeiten von Corona gibt es ja zur Zeit ein Thema was wichtig ist - HomeOffice oder auch die Kommunikation mit Freunden, Verwandten und Kollegen.

    Jeder benutzt was anderes, viele kommerzielle Anbieter denen ich nicht traue usw. Was machen? Da fiel mir ein, das Nextcloud ja Nextcloud Talk enthält.

    bf501e55-c6d6-4e22-9cb8-e647bd2d2818-image.png

    Eigentlich gibt es da keine so großen Hürden. Telefonate funktionierten sofort aber Videotelefonate!?!? Ok, ab jetzt wird es schwieriger 🙂

    Eine sehr schöne Anleitung habe ich hier gefunden. Doch wie so oft, manchmal helfen solche Anleitungen nicht wirklich weiter. Ich hatte alles so eingestellt wie darin beschrieben, aber beim Test im Backend von Nextcloud tauchte immer ein Ausrufezeichen auf.

    nc.png

    Wenn der TURN-Server richtig eingerichtet ist, erscheint beim Testen ein Haken an der Position vor dem Mülleimer. Lange Zeit hatte ich dort immer ein Ausrufezeichen. Bei mir hatte das den Grund, das die TLS Verbindung nicht richtig funktionierte, weil das Zusammenspiel zwichen coturn und Letsencrypt bugbehaftet ist. Dazu morgen etwas ausführlichere Erläuterungen, für heute genug HomeOffice 🙂

    Im Fediverse -> @FrankM@nrw.social

    1. NanoPi R5S
    2. Quartz64 Model B, 4GB RAM
    3. Quartz64 Model A, 4GB RAM
    4. RockPro64 v2.1
    1 Antwort Letzte Antwort
    0
    • FrankMF Offline
      FrankMF Offline
      FrankM
      schrieb am zuletzt editiert von
      #2

      coturn

      Was das?

      The TURN Server is a VoIP media traffic NAT traversal server and gateway. It can be used as a general-purpose network traffic TURN server and gateway, too.
      Quelle: https://github.com/coturn/coturn

      Ich bin kein Netzwerktechniker und muss mich da leider an die Erklärung vom Nextcloud Backend orientieren.

      Ein TURN-Server dient als Proxy für die Verbindungen von Teilnehmern hinter einer Firewall.

      Damit kann ich mir das dann ein wenig besser erklären. Aber, bevor ich hier Stuss schreibe, lasse ich es lieber. Machen wir weiter mit praktischen Dingen. Was ich ja vorher schon raus gefunden hatte, ohne diesen Server hat man kein Video. Ok, dann wollen wir mal einen aufsetzen. Da ich meine vorhandene Installation nicht gefährden wollte, habe ich schnell eine neue VM aufgesetzt. Dank Hetzner Cloud ein Kinderspiel. Ja, das war ein Werbeblock 🙂

      Also hatte ich jetzt ein jungfräuliches Debian 10 Buster. Dann mal coturn installieren.

      apt install coturn
      

      Nachdem ich ihn nach der Anleitung s.o. den coturn konfiguriert hatte, bekam ich nach dem Start folgendes.

      root@debian-2gb-nbg1-1-webserver:~# systemctl status coturn.service
      ● coturn.service - coTURN STUN/TURN Server
         Loaded: loaded (/lib/systemd/system/coturn.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Thu 2020-03-26 10:51:25 CET; 9s ago
           Docs: man:coturn(1)
                 man:turnadmin(1)
                 man:turnserver(1)
        Process: 671 ExecStart=/usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid (code=exited, s
      
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Control process exited, code=exited, status=255/EXCEPTION
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Failed with result 'exit-code'.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: Failed to start coTURN STUN/TURN Server.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Service RestartSec=100ms expired, scheduling restart.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Scheduled restart job, restart counter is at 5.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: Stopped coTURN STUN/TURN Server.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Start request repeated too quickly.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: coturn.service: Failed with result 'exit-code'.
      Mar 26 10:51:25 debian-2gb-nbg1-1-webserver systemd[1]: Failed to start coTURN STUN/TURN Server.
      

      Ich habe lange dran getüftelt, bis ich verstanden hatte wo das Problem lag.

      Ausschnitt /etc/turnserver.conf

      # TURN listener port for UDP and TCP (Default: 3478).
      # Note: actually, TLS & DTLS sessions can connect to the 
      # "plain" TCP & UDP port(s), too - if allowed by configuration.
      #
      listening-port=3478
      
      # TURN listener port for TLS (Default: 5349).
      # Note: actually, "plain" TCP & UDP sessions can connect to the TLS & DTLS
      # port(s), too - if allowed by configuration. The TURN server 
      # "automatically" recognizes the type of traffic. Actually, two listening
      # endpoints (the "plain" one and the "tls" one) are equivalent in terms of
      # functionality; but we keep both endpoints to satisfy the RFC 5766 specs.
      # For secure TCP connections, we currently support SSL version 3 and 
      # TLS version 1.0, 1.1 and 1.2.
      # For secure UDP connections, we support DTLS version 1.
      #
      tls-listening-port=5349
      

      Der listening-port 3478 entspricht einer HTTP Verbindung, der tls-listening-port 5349 einer HTTPS Verbindung. So als Erklärung 😉 Nachdem ich dann raus gefunden hatte, das der Port 3478 funktionierte, ich hatte mich am Anfang nur auf TLS konzentriert, wusste ich das an der TLS Verbindung / Zertifikaten was nicht stimmte.

      Also, Tipp Nr.1

      Als erstes mit listening-port=3478 testen!

      Danach wenden wir uns der TLS Verbindung zu. Ich gehe davon aus, das die meisten mittlerweile wissen, wie man Letsencrypt Zertifikate auf einem Rootserver installiert? Wenn nicht, dann gibt es hier Lesestoff.

      Config coturn

      listening-port=3478
      tls-listening-port=5349
      fingerprint
      use-auth-secret
      static-auth-secret=PASSWORD
      server-name=xxxx.frank-mankel.org
      realm=xxxx.frank-mankel.org
      total-quota=100
      stale-nonce=600
      cert=/etc/letsencrypt/live/xxxx.frank-mankel.org/cert.pem
      pkey=/etc/letsencrypt/live/xxxx.frank-mankel.org/privkey.pem
      cipher-list=“ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384″
      dh-file=/etc/ssl/dhparam.pem
      no-stdout-log
      syslog
      simple-log
      no-multicast-peers
      cli-password=PASSWORD
      no-tlsv1
      no-tlsv1_1
      

      Die TLS Verbindung wollte aber nie starten. Das kam im /var/log/user.log

      Mar 26 10:29:21 debian-2gb-nbg1-1-webserver turnserver: 0: WARNING: cannot find certificate file: turn_server_cert.pem (1)
      Mar 26 10:29:21 debian-2gb-nbg1-1-webserver turnserver: 0: WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
      Mar 26 10:29:21 debian-2gb-nbg1-1-webserver turnserver: 0: WARNING: cannot find private key file: turn_server_pkey.pem (1)
      Mar 26 10:29:21 debian-2gb-nbg1-1-webserver turnserver: 0: WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
      

      Dazu zwei Links

      Link Preview Image
      Let's Encrypt Symlink breaks Coturn configuration

      I have setup coturn reusing my already existing let’s encrypt certificate some weeks ago. With one of the last let’s encrypt renewals the certbot got upgraded to certbot 1.1.0 (I assume) It seems with this upgrade, the…

      favicon

      Nextcloud community (help.nextcloud.com)

      Link Preview Image
      Let's Encrypt symlinks do not work with coturn · Issue #496 · coturn/coturn

      I am running coturn on my NCP with Debian, but coturn has issues with the created symlinks in letsencrypt/live/domain pointing to the archive/domain folder. drwxr-xr-x 2 root root 4096 Feb 3 07:58 . drwxr-xr-x 4 root root 4096 Jun 7 2019...

      favicon

      GitHub (github.com)

      Hier sieht man das coturn ein Problem damit hat die symbolischen Links zu verarbeiten. Ich hatte dann die richtigen Files reinkopiert und die symbolischen Links gelöscht. Ging dann aber immer noch nicht. Erst als auch der User turnserver die Rechte für den Ordner hatte, ging es.

      Das hat jetzt eine Menge von Nachteile. Die Zertifikate erneuern sich ja alle paar Monate von alleine, so das es jetzt knallt. Dann geht das wieder nicht.

      Mein Denkansatz ist jetzt, Letsencrypt wieder so installieren, das alles korrekt ist, dann klappt das auch mit der automatischen Aktualisierung. Dazu wird sowieso ein Cronjob benutzt. Nach Ausführung des Cronjobs werden die Zertifikate an einen anderen Ort kopiert, bekommen die richtigen Namen und die richtigen Rechte so das der Turnserver damit was anfangen kann.

      Wäre schön, wenn das jemand mit dem nötigen KnowHow fixen könnte!?

      Ob das so funktioniert, wie von mir ausgedacht, muss ich die Tage noch testen. Dank HomeOffice ist ja dafür nächste Woche ausreichend Zeit für vorhanden 😉

      Danach trägt man den Turnserver in Nextcloud ein und die Verbindung funktioniert einwandfrei. Was mir beim Testen aufgefallen ist, das die Signalisierung eines Anrufes auf einem Android Handy nicht durchkam. Aber das kennt man ja auch von vielen anderen Dingen. Kurz vorher dem Gesprächspartner eine Nachricht zukommen lassen, so das man die App schon mal startet, sollte da Abhilfe schaffen.

      Bitte denkt an ausreichende Absicherung des Servers!

      Im Fediverse -> @FrankM@nrw.social

      1. NanoPi R5S
      2. Quartz64 Model B, 4GB RAM
      3. Quartz64 Model A, 4GB RAM
      4. RockPro64 v2.1
      1 Antwort Letzte Antwort
      0
      • FrankMF Offline
        FrankMF Offline
        FrankM
        schrieb am zuletzt editiert von
        #3

        Noch eine kleine Ergänzung, für Eure Firewall muss auf dem TURN-Server lediglich der Port 5349 offen sein. Wie ihr ja wisst, kann man das schön aus dem Nextcloud Backend testen!

        Im Fediverse -> @FrankM@nrw.social

        1. NanoPi R5S
        2. Quartz64 Model B, 4GB RAM
        3. Quartz64 Model A, 4GB RAM
        4. RockPro64 v2.1
        1 Antwort Letzte Antwort
        0
        • FrankMF Offline
          FrankMF Offline
          FrankM
          schrieb am zuletzt editiert von
          #4

          Noch was, das Letsencrypt Problem konnte ich etwas vereinfachen. Ganz normale Installation von Letsencrypt.
          Danach einfach folgendes.

          chown -R turnserver:root /etc/letsencrypt/
          

          Dann sieht das so aus.

          root@debian-2gb-nbg1-1-webserver:/etc/letsencrypt# ls -lha live/xxxx.frank-mankel.org/
          total 12K
          drwxr-xr-x 2 turnserver root 4.0K Mar 29 14:02 .
          drwx------ 3 turnserver root 4.0K Mar 29 14:02 ..
          lrwxrwxrwx 1 turnserver root   45 Mar 29 14:02 cert.pem -> ../../archive/xxxx.frank-mankel.org/cert1.pem
          lrwxrwxrwx 1 turnserver root   46 Mar 29 14:02 chain.pem -> ../../archive/xxxx.frank-mankel.org/chain1.pem
          lrwxrwxrwx 1 turnserver root   50 Mar 29 14:02 fullchain.pem -> ../../archive/xxxx.frank-mankel.org/fullchain1.pem
          lrwxrwxrwx 1 turnserver root   48 Mar 29 14:02 privkey.pem -> ../../archive/xxxx.frank-mankel.org/privkey1.pem
          -rw-r--r-- 1 turnserver root  692 Mar 29 14:02 README
          

          Im coturn Logfile steht das drin.

          Mar 29 14:09:18 debian-2gb-nbg1-1-webserver turnserver: 0: SSL23: Certificate file found: /etc/letsencrypt/live/xxxx.frank-mankel.org/cert.pem
          Mar 29 14:09:18 debian-2gb-nbg1-1-webserver turnserver: 0: SSL23: Private key file found: /etc/letsencrypt/live/xxxx.frank-mankel.org/privkey.pem
          Mar 29 14:09:18 debian-2gb-nbg1-1-webserver turnserver: 0: TLS1.2: Certificate file found: /etc/letsencrypt/live/xxxx.frank-mankel.org/cert.pem
          Mar 29 14:09:18 debian-2gb-nbg1-1-webserver turnserver: 0: TLS1.2: Private key file found: /etc/letsencrypt/live/xxxx.frank-mankel.org/privkey.pem
          

          So sollte das jetzt schon was einfacher sein. Schnell noch einen Crontab angelegt.

          # m h  dom mon dow   command
          PATH=/usr/sbin:/usr/bin:/sbin:/bin
          0 4 1 * * /usr/bin/certbot renew --pre-hook "service coturn stop" --post-hook "service coturn start"
          

          Das bekannte Vorgehen. Jeden 1. im Monat coturn stoppen, Zertifikate erneuern, coturn wieder starten. Fertig!

          Jetzt sollte die ganze Sache aber rund sein. Hoffe ich .)

          Im Fediverse -> @FrankM@nrw.social

          1. NanoPi R5S
          2. Quartz64 Model B, 4GB RAM
          3. Quartz64 Model A, 4GB RAM
          4. RockPro64 v2.1
          1 Antwort Letzte Antwort
          0
          • FrankMF Offline
            FrankMF Offline
            FrankM
            schrieb am zuletzt editiert von
            #5

            All I needed to do was setting the permissions to 744 for the archive directory and the symlinks resolved correctly after a reboot of coturn

            My turnserver installation on Debian runs as the user turnserver and not as root, nor is the user turnserver in any group owning the letsencrypt directory.
            If your turnserver does run as root, it should be fine just adding execute permissions.

            I hope this helps some of you.
            Quelle: https://help.nextcloud.com/t/lets-encrypt-symlink-breaks-coturn-configuration/70166

            Was zum Testen die Tage....

            Im Fediverse -> @FrankM@nrw.social

            1. NanoPi R5S
            2. Quartz64 Model B, 4GB RAM
            3. Quartz64 Model A, 4GB RAM
            4. RockPro64 v2.1
            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            • FrankMF

              Update 1.32.6

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Vaultwarden vaultwarden linux
              1
              0 Stimmen
              1 Beiträge
              136 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              Standby Problem mit Mediatek MT7921e

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux linux mediatek mt7921e
              1
              0 Stimmen
              1 Beiträge
              249 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              Root-Rechte für Angreifer

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux linux debian
              1
              0 Stimmen
              1 Beiträge
              105 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              checkmk - Agent auf einem Debian Buster Server installieren

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben checkmk checkmk linux
              1
              2
              0 Stimmen
              1 Beiträge
              758 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              ROCKPro64 - PCIe NVMe SSD installieren

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Hardware linux rockpro64
              1
              0 Stimmen
              1 Beiträge
              352 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              Nextcloud ohne https lokal nutzen!?

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Nextcloud nextcloud
              1
              1
              0 Stimmen
              1 Beiträge
              826 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              NGINX

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben NGINX nginx linux
              1
              0 Stimmen
              1 Beiträge
              584 Aufrufe
              Niemand hat geantwortet
            • FrankMF

              Redis Datenbank sichern

              Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Redis linux redis
              1
              0 Stimmen
              1 Beiträge
              808 Aufrufe
              Niemand hat geantwortet
            Powered by NodeBB | Contributors
            © 2022 frank-mankel.de
            Fediverse
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Kategorien
            • World
            • Aktuell
            • Tags
            • Beliebt