COTURN
kleiner STUN- und Turn-Server
Installation
apt-get install coturn
gültiges SSL-Zertifikat muss vorhanden sein, bspw. letsencrypt
Backup
cp -avr /etc/turnserver.conf /etc/turnserver.conf.bckp
Konfiguration
DNS-Config beim DNS-Provider ändern:
_turn ._tcp.mydom IN SRV 0 100 3478 mydom.ain.
_turn ._udp.mydom IN SRV 0 100 3478 mydom.ain.
_stuns ._tcp.mydom IN SRV 0 100 443 mydom.ain.
_turns ._tcp.mydom IN SRV 0 100 443 mydom.ain.
Teste von extern ob apache über domänennamen auf port 443 erreichbar ist, dann apache2 wegen Port stoppen und deaktivieren.
hinter meiner Fritzbox hängt ein raspi mit einer ipv6-Adresse und ist von außen per Port 443,3478,5349 auf dieser IPv6 erreichbar.
die globale IPv6 ist: ifconfig | grep global
die Beispiel IPv4-Adresse ist: 192.168.178.123
meine Beispieladresse ist: inet6 2a00:6020:419d:a100:a123:b123:c123:d123 prefixlen 64 scopeid 0x0<global>
meine Beispiel-DNSdomain ist: myDom.ain
- /etc/turnserver.conf
#/etc/turnserver.conf
listening-port=443
alt-listening-port=3478
alt-tls-listening-port=5349
fingerprint
static-auth-secret=ganzgeheimesPasswortfuerNextcloud
cli-password=ganzgeheimesPasswortfuerNextcloud
cli-ip=192.168.178.123
server-name=mydom.ain
user=myadmin:geheimesAdminpasswort
userdb=/var/lib/turn/turndb
realm=mydom.ain
total-quota=10
bps-capacity=0
cert=/etc/letsencrypt/live/mydom.ain/fullchain.pem
pkey=/etc/letsencrypt/live/mydom.ain/privkey.pem
cipher-list="ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5"
dh-file=/usr/lib/python3/dist-packages/certbot/ssl-dhparams.pem
no-stdout-log
log-file=/var/log/coturn/coturn.log
no-multicast-peers
mobility
web-admin
web-admin-ip=192.168.178.123
listening-ip=2a00:6020:419d:a100:a123:b123:c123:d123
external-ip=2a00:6020:419d:a100:a123:b123:c123:d123
relay-ip=2a00:6020:419d:a100:a123:b123:c123:d123
dann noch Dienst coturn neu starten und prüfen ob der Port noch erreichbar ist sowie in nextcloud als turnserver mit dem Passwort eintragen.
Logs
Fehler
Fehler: Dienst startet nicht da er einen Port unter 1024 nicht benutzen darf.
Lösung: in Datei /etc/systemd/system/multi-user.target.wants/coturn.service
den Eintrag in [Service] zufügen:
AmbientCapabilities=CAP_NET_BIND_SERVICE
dann:
systemctl daemon-reload
systemctl restart coturn