1
TURN Server
Scrublord MacBad edited this page 2026-05-15 00:07:54 +02:00

TURN Server (coturn) für WebRTC Video-Calls

Status: Vollständig deployed
Domain: turn.axion1337.chat
Public IP: 49.13.132.245

Problem & Lösung

Videocalls scheitern mit DTLS-Timeout bei Clients hinter NAT/Firewall. Lösung: coturn als TURN-Relay.

Architektur

Client A ──→ coturn (turn.axion1337.chat) ──→ Client B

  • Ports: 3478/udp, 3478/tcp, 5349/tcp, 49152-65535/udp
  • Auth: HMAC-basiert mit Shared Secret zwischen coturn + Synapse
  • Deployment: K3S Deployment mit hostNetwork: true

Dateien (in apps/production/)

Datei Inhalt
coturn.yaml ConfigMap + Deployment + Service
coturn-secret.yaml SOPS-Secret: TURN_SECRET
custom-configs/synapse-values.yaml TURN URIs + shared secret
matrix-certificates.yaml cert-manager Cert für turn.axion1337.chat

DNS & Firewall (manuell)

DNS A-Record: turn.axion1337.chat → 49.13.132.245

Firewall (K3S Host):
ufw allow 3478/udp
ufw allow 3478/tcp
ufw allow 5349/tcp
ufw allow 49152:65535/udp

Verifikation

# Pod läuft?
kubectl get pods -n matrix -l app=coturn

# Certificate ready?
kubectl get certificate -n matrix | grep turn

# Extern testen
docker run -it instrumentisto/coturn \
  turnutils_uclient -v -T -u test -w test turn.axion1337.chat

Weitere Details: Siehe vollständige Dokumentation oben.