Probleme mit TURN Server Installation für BigBlueButton

Guten Tag,

ich habe für mich einen Server gemietet und dort BigBlueButton installiert. Das hat auch gut funktioniert und läuft auch.

Doch jetzt wollte ich noch einen TURN Server dazu machen. Dafür einen kleinen vServer gemietet. Bin nach der Anleitung hier vorgegangen:

andersgood de/blog/bigbluebutton-auch-hinter-firewalls-nutzen

leider mache ich irgendwas falsch, weiß aber nicht was.

Bigbluebutton ist unter bbb.domainname de erreichbar und funktioniert
TURN Server sollte unter turnbbb.domainname de erreichbar sein, aber es kommt folgender Fehler:

Die Website ist nicht erreichbar

turnbbb.domainname de hat die Verbindung abgelehnt.

Versuchen Sie Folgendes:

ERR_CONNECTION_REFUSED

Kann mir jemand helfen.

Viele Grüße
Simon

Musste die Domains so schreiben, da ich keine Links als neuer Nutzer hinzufügen darf.

Hallo Simon,
willkommen :slight_smile:

Der Turnserver turnbbb.domainname_de ist nicht unter Port 80/443 erreichbar, dafür müsste zuerst auch ein Vhost für turnbbb angelegt sein.

Der Coturn-Server hat kein webbasierendes „Front End“ oder ähnliches.

Schau doch einmal in die Datei [tail -f] /var/log/coturn/cotorn.log

Dort finden die Einträge deines coturn in Echtzeit statt.

Setze da mal an.

VG Andre

Hallo Simon,
der Turnserver ist meines Wissens nach nie über eine Webseite erreichbar, weil der Port alleine für seine eigene Funktionalität reserviert ist. Die Domain ist eigentlich nur dafür da, dass ein Letsencrypt-Zertifikat erstellt werden kann.
Liebe Grüße
Harald

Vielen Dank für die beiden Antworten.

@liv_uo
die Datei /var/log/coturn/cotorn.log existiert gar nicht. Es gibt gar kein Ordner /var/log

Also kann ich gar nicht auf turnbbb.domainname_de gehen?

unter bbb.domainname_de geht ja alles.

Meine Idee war, man geht auf turnbbb.domainname_de und dann leitet der TURN Server weiter auf bbb.domainname_de

Wie funktioniert dann das mit dem TURN Server genau. Habe da wohl was nicht verstanden. Ziel ist es, dass BigBlueButton auch aus der Schule heraus aufrufbar ist und die hat eine strenge Firewall.

@Harald
Letsencrypt-Zertifikat habe ich installiert

Hallo @Pfeffer2004,

so wie ich das sehe, kann dein turn-Server die Letsencrypt-Zertifikate nicht lesen. Dadurch kann er nicht auf 443 horchen und er wird nicht von BBB erkannt. Das Problem hat ich auch. Ich hab dann versucht rumzupfriemeln und habs dann gelassen. @hmt hat nen guten Post gemacht, der mir dann geholfen hat. Nimm einfach die bigbluebutton-installationshell für die Konfiguration des turn-Servers.

Den Post gibts hier: https://ask.linuxmuster.net/t/linuxmuster-turn-server-bbb-mit-ansible/5061/36.

Das Skript installiert dir 1A den turn-Server und alles andere wichtige und ohne dass die Kopf raucht.

Herzliche Grüße
Marcus

Hallo Simon,

Das wäre der erste Linux-Server von dem ich gehört habe, der das Verzeichnis [/var/log/] NICHT hat.

Deine Schreibweise [/var/log] ist syntaktisch falsch:
Es fehlt Slash [/] am Ende.

/var ist der Hauptordner und darin findest Du auch den [Unter]-Ordner …/log
Windows-Syntax: C:\var\log\

VG Andre

Hallo Marcus,
bist du sicher? Ich denke, dass der Turn-Server nicht erreichbar sein kann, weil er kein Web-Frontend bereitstellt… Kannst du bei deinem Turn-Server die Domain über den Browser aufrufen?
Liebe Grüße
Harald

Hi Harald,

das auf jeden Fall nicht, das sollte auch so nicht sein. Der turn-Server soll ja nur beide Parteien bekanntmachen und ggf. die Medien streamen. Aber mich macht stutzig, dass der coturn weder das Finden der Zertifikate noch die Verbindung zu Port 443 in die logs schreibt.

Dann wieder zurück zu @Pfeffer2004: der coturn wird unter dem Nutzer turnserver angelegt. Der hat keine Leserechte auf /letsencrypt/live/ und er darf nicht in var/log schreiben. Daher muss ich recht @Pfeffer2004 recht geben, dass es das Verzeichnis /var/log/coturn/coturn.log nicht gibt, da ja der user turnserver da nicht reinschreiben darf.

Erst als ich /var/log/coturn/coturn.log selbst angelegt und dem Verzeichnis /var/log/coturn Leserechte für den user turnserver gegeben hat, hat coturn auch tatsächlich in /coturn.log reingeschrieben.

Ein Blick auf https://docs.bigbluebutton.org/2.2/setup-turn-server.html#setup-a-turn-server zeigt auch im Abschnitt der Zertifikatserstellung, dass hier ein Renewal-hooks geschrieben wird. Dieses Skript

#!/bin/bash -e
for certfile in fullchain.pem privkey.pem ; do
	cp -L /etc/letsencrypt/live/<[turn.example.com](http://turn.example.com)>/"${certfile}" /etc/turnserver/"${certfile}".new
	chown turnserver:turnserver /etc/turnserver/"${certfile}".new
	mv /etc/turnserver/"${certfile}".new /etc/turnserver/"${certfile}"
done
systemctl kill -sUSR2 coturn.service

kopiert die certfiles in /etc/turnserver. Hier kann der user turnserver auch reinschauen und bekommt die certs gelesen und kann somit ne Verbindung mit 443 herstellen.

Genau exakt dieses Problem hatte ich auch bei meiner manuellen Installation. Da war jedoch https://docs.bigbluebutton.org/2.2/setup-turn-server.html#setup-a-turn-server nicht so ausführlich beschrieben. Z.B. war hier die renewal-hooks nicht beschrieben. Das wurde mit der letzten Dokumentation auf dieser Seite erneuert.

Wer es händisch machen möchte, der kommt eigentlich jetzt mit https://docs.bigbluebutton.org/2.2/setup-turn-server.html#setup-a-turn-server sehr gut zur recht. Ich bin aber ein Fan von so einfach wie möglich, dann lass ich das Skript das machen.

LG Marcus

Hallo Marcus,
mit dem Befehl netstat -antp | grep 443 kann man auslesen, wer auf dem Port lauscht, dasselbe geht auch natürlich für Port 80. Wenn bei der Ausgabe dort so etwas wie unten folgend steht, heißt das, dass der Turnserver es schafft, oder? Interessanterweise werden bei der Ausgabe die IPv6-Adresse abgeschnitten, ich poste hier das Original, da sowieso die letzten Stellen abgeschnitten werden:

tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 91.xxx.xxx.xxx:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 65736/turnserver
tcp6 0 0 2a03:4000:37:6ae:24:443 :::* LISTEN 65736/turnserver

Liebe Grüße
Harald

Vielen Dank für die vielen Antworten. Leider bin ich immer noch zu blöd, damit es läuft :frowning:

@Harald

Für Port 443 schaut es so aus? Leider sagt mir das jetzt aber nichts.
tcp 0 0 185.xxx.xxx.x:443 0.0.0.0:* LISTEN 8699/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 8699/turnserver
tcp 0 0 185.xxx.xxx.x:443 0.0.0.0:* LISTEN 8699/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 8699/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 8699/turnserver
tcp6 0 0 2a0a:51xx::xx:x:x:443 :::* LISTEN 8699/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 8699/turnserver
tcp6 0 0 2a0a:51xx::xx:x:x:443 :::* LISTEN 8699/turnserver

Gebe ich netstat -antp | grep 80 ein kommt gar nichts:

@Marcus
Habe das Skript benutzt, leider auch ohne Erfolg. :frowning:

Bin langsam echt am verzweifeln.

Das glaub ich.

gib mir bitte nochmals dein Setting: ist dein turn-Server auf Hetzner? wo liegt deine Domain-Authority? Alles bei Strato? Woanders? Hast du die ipv4- und die ipv6-Adresse in deinen Domainprovider in AA und AAAA eingetragen? Ansonsten kriegt BBB den Turn nicht.

Mit dem Skript sollte das Ding eigentlich laufen.

Poste hier einfach nochmal das Setting nach oben. Vielleicht lässt sich ja außerhalb der Konfiguration was eingrenzen.

LG
Marcus

@Marcus

Beide vServer liegen bei IP-Projects.
Domain liegt bei profi-webspace.com.
Beide subdomains sind jeweils mit A DNS (->IP4) und AAAA DNS Eintrag (->IP6) versehen.
Beide Server haben unterschiedliche IPs und sind so auch per DNS Einträge den Domains zugeordnet.

BigBlueButton ist ja unter bbb.domainname_de auch erreichbar
Nur eben nicht über den TURN Server, dafür habe ich die Subdomain turnbbb.domainname_de angelegt.

Habe keine Idee was ich falsch gemacht habe.

Per PN kann ich auch mal IP und Domainname herausgeben. Nur kann ich irgendwie hier keine PN schreiben.

hier nochmals der Fehler der beim Aufruf der Seite kommt:

# Diese Seite funktioniert nicht

**turnbbb.domainname_de** hat keine Daten gesendet.

ERR_EMPTY_RESPONSE

Wir prüfst du den ndie Funktion von deinem coturn?
mach auf dem coturn server netstat -antp |grep 443

gibt folgendes aus:

tcp 0 0 185.xxx.xxx.x:443 0.0.0.0:* LISTEN 518/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 518/turnserver
tcp 0 0 185.xxx.xxx.x:443 0.0.0.0:* LISTEN 518/turnserver
tcp 0 0 127.0.0.1:443 0.0.0.0:* LISTEN 518/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 518/turnserver
tcp6 0 0 2a0a:51c0::1:x:x:xxx :::* LISTEN 518/turnserver
tcp6 0 0 ::1:443 :::* LISTEN 518/turnserver
tcp6 0 0 2a0a:51c0::1:x:x:xxx :::* LISTEN 518/turnserver

was bedeutet das?

Hallo Simon,

Das bedeutet, dass dein TURN-Server auf den richtigen Ports zu lauschen scheint. Hast du schon die geöffneten Firewall-Ports gecheckt?

Die Firewall muss folgende Ports dem TURN-Server freigeben:

80/tcp
443/tcp/udp
3478/tcp/udp
32768-65535/udp

Hier kann es auch dran hängen.
LG
Marcus