Inhaltsverzeichnis

« Docker & Portainer installieren

Coturn im Docker

1. Schritt Debian Docker danach Coturn installieren

# Debian Docker installieren
@docker run --name debian-buster-slim \
    -p 5349:5349 -p 5349:5349/udp \
    -p 3478:3478 -p 3478:3478/udp \
    -p 10000:10000 \
    -h 10-slim \
    -e LANG=de_CH.UTF-8 \
    -it debian:10-slim \
    /bin/bash -l
#
#### Coturn installieren
@apt-get install coturn
@systemctl stop coturn
#
#### Selbstsignierte Zertifikate erstellen
@mkdir /etc/ssl
@cd /etc/ssl
@openssl genrsa -out sslcert-Hostname.key 2048
@openssl req -new -key sslcert-Hostname.key -out sslcert-Hostname.csr
@openssl x509 -req -days 20000 -in sslcert-Hostname.csr -signkey sslcert-Hostname.key -out sslcert-Hostname.crt
#
#### Zusätzlich dhparam erstellen
@openssl dhparam -out /etc/ssl/dhparam.pem 4096
#
#### Erstellte Zertifikate im ssl verzeichnis
- sslcert-Hostname.crt
- sslcert-Hostname.key
#
#### Bezüglich dem neuen Container folgendes ausführen
#
#### rsyslog installieren
@sudo apt-get install rsyslog
@sudo systemctl restart rsyslog
#
#### NTP installren
@apt-get install ntp
#
#### Zeit einstellen, 8 für Europa und 63 für Zürich
@dpkg-reconfigure tzdata
#
#### Weitere Tools
#
@apt-get update & apt-get upgrade
@apt-get install wget
@apt-get install curl
@apt-get install nano
@apt-get install net-tools
@apt-get install ntp
@apt-get install sudo
@apt-get install systemctl
# root passwort setzen
@passwd root
#
#### Bezüglich Webmin hier nachschauen..

2. Schritt Beide Cotrurn Konfigurationsdateien anpasen, Dienst starten und überprüfen zum Beispiel im Nextcloud.

## 1. Coturn Konfigurationsdatei
## Folgende Zeilen einfügen. Einige gibt es schon und muss nur das Symbol # davor entfernt werden
#
@nano /etc/turnserver.conf
#
# ################################### Datei Inhalt ###############
#
listening-port=3478
tls-listening-port=5349
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=meinenToken
realm=hostname.meineDomäne.ch
total-quota=100
stale-nonce=600
cert=/etc/ssl/sslcert-Hostname.crt
pkey=/etc/ssl/sslcert-Hostname.key
dh-file=/etc/ssl/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-sslv3
no-tlsv1
no-tlsv1_1
#no-tlsv1_2
dh2066
no-stdout-log
log-file=/var/tmp/turn.log
#log-file=/dev/null
no-loopback-peers
no-multicast-peers
proc-user=turnserver
proc-group=turnserver
#
# #################################### Datei Inhalt ENDE###########
#
#### 2. Coturn Konfigurationsdatei
@nano /etc/default/coturn
#### Symbol # davor entfernen um zu aktivieren
TURNSERVER_ENABLED=1
#
#### Dienst aktiviere nund starten
#### evtl. vorher systemctl installieren
@systemctl start coturn
@systemctl status coturn
#
#### Im Nextcloud testen..
#

DNS Eintragen beim Domänhostanbieter

Für diesen Coturn Container werden DNS (A & SRV) und Firewall Einträge benötigt.

DNS Einträge beim IPV

Firewall Einträge.

Damit ich im LAN Zugriff auf Dienst habe über öffentliche DNS Name ohne weiter als der Router zu gehen also vom Ziel wieder zurück verwende ich zusätzlich Hairpinning (NAT Loopback).