Ako nastaviť server Coturn TURN pre Spreed WebRTC


Coturn je bezplatný a open source server TURN a STUN pre VoIP a WebRTC. V predchádzajúcom návode sme diskutovali o tom, ako nainštalovať server Spreed WebRTC a ako integrovať Spreed WebRTC s NextCloud.

Je tu však problém: WebRTC nebude fungovať, ak sú používatelia za rôznymi zariadeniami NAT. Bude zablokovaný. Aby sme mohli prejsť NAT, musíme nastaviť server TURN ako prenos medzi webovými prehliadačmi. TURN znamená Traversal Using Relays around NAT. Ako to funguje, je nad rámec tohto návodu.

Tento tutoriál vám ukáže, ako nastaviť coturn, open-source implementáciu TURN, na Ubuntu a ako pripojiť Spreed WebRTC k coturn.

Poznámka: Na zníženie latencie by mal byť server TURN blízko používateľov a mal by si uvedomiť, že server TURN spotrebúva veľa šírky pásma, pretože sa spolieha na zvuk aj video. Coturn môže byť na rovnakom počítači so Spreed WebRTC alebo na inom počítači, ktorý nie je za NAT.

Nainštalujte server Coturn na Ubuntu

Coturn je k dispozícii z úložiska Ubuntu, takže ho nainštalujte pomocou nasledujúceho príkazu:

sudo apt install coturn

Po nainštalovaní sa automaticky spustí. Jeho stav môžete skontrolovať pomocou:

systemctl status coturn

Ukážkový výstup:

Ak nie je spustený, spustite ho manuálne pomocou:

sudo systemctl start coturn

A tiež povoliť automatické spustenie pri štarte:

sudo systemctl enable coturn

Nakonfigurujte Coturn pre Spreed WebRTC

Upravte hlavný konfiguračný súbor.

sudo nano /etc/turnserver.conf

Štandardne sú všetky riadky v tomto súbore zakomentované. Nižšie je uvedený príklad konfigurácie, ktorú môžete skopírovať a vložiť do svojho súboru.

  • Nahraďte vaša-domena.com názvom domény vášho NextCloud alebo Spreed WebRTC.
  • Nahraďte 12.34.56.78 verejnou IP adresou servera.
  • Nastavte dlhé a bezpečné overovacie tajomstvo. (Na vygenerovanie náhodného reťazca môžete použiť príkaz openssl rand -base64 20.)
# Run as TURN server only, all STUN requests will be ignored.
no-stun

# Specify listening port. Change to 80 or 443 to go around some strict NATs.
listening-port=8443
tls-listening-port=5349

# Specify listening IP, if not set then Coturn listens on all system IPs. 
listening-ip=12.34.56.78
relay-ip=12.34.56.78

### The following lines enable support for WebRTC ###
# Use fingerprints in the TURN messages.
fingerprint
# Use long-term credentials mechanism
lt-cred-mech
realm=your-domain.com

# Authentication method
use-auth-secret
static-auth-secret=your-auth-secret

total-quota=100

# Total bytes-per-second bandwidth the TURN server is allowed to allocate
# for the sessions, combined (input and output network streams are treated separately).
bps-capacity=0

# This line provides extra security.
stale-nonce

log-file=/var/log/turnserver/turn.log
no-loopback-peers
no-multicast-peers

Uložte a zatvorte súbor. Potom reštartujte server coturn pomocou:

sudo systemctl restart coturn

Coturn beží ako používateľ turnserver. Spustite nasledujúci príkaz a mali by ste vidieť, že počúva na porte 8443.

sudo ss -lnpt | grep turnserver

Teraz upravme konfiguračný súbor Spreed WebRTC.

sudo nano /etc/spreed/server.conf

Do sekcie [aplikácia] pridajte nasledujúce dva riadky. Podľa toho nahraďte červený text.

turnURIs = turn:coturn-server-ip:8443?transport=udp

turnSecret = your-auth-secrect

Uložte a zatvorte súbor. Potom reštartujte kontajner dokovacieho zariadenia Spreed WebRTC pomocou

sudo docker restart my-spreed-webrtc

alebo spustite nasledujúci príkaz, ak ste nainštalovali Spreed cez Ubuntu PPA.

sudo systemctl restart spreed-webrtc

Po spustení Coturn a reštarte Spreed WebRTC by používatelia, ktorí sú za NAT, mali mať možnosť normálne používať audio/video hovory.

Otvorte porty v bráne firewall

Aby Coturn fungoval, mali by ste otvoriť port TCP a UDP 8843 vo firewalle. Ak používate bránu firewall UFW, spustite nasledujúce príkazy.

sudo ufw allow 8443/tcp
sudo ufw allow 8443/udp

Zabaliť sa

To je všetko! Dúfam, že vám tento návod pomohol nainštalovať server coturn pre Spreed WebRTC. Ako vždy, ak ste považovali tento príspevok za užitočný, prihláste sa na odber nášho bezplatného bulletinu. Môžete nás tiež sledovať na Google+, Twitteri alebo našou stránkou na Facebooku.

Súvisiace články