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 coturnUkážkový výstup:
Ak nie je spustený, spustite ho manuálne pomocou:
sudo systemctl start coturnA tiež povoliť automatické spustenie pri štarte:
sudo systemctl enable coturnNakonfigurujte 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.comnázvom domény vášho NextCloud alebo Spreed WebRTC. - Nahraďte
12.34.56.78verejnou 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-peersUložte a zatvorte súbor. Potom reštartujte server coturn pomocou:
sudo systemctl restart coturnCoturn 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.confDo 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-secrectUložte a zatvorte súbor. Potom reštartujte kontajner dokovacieho zariadenia Spreed WebRTC pomocou
sudo docker restart my-spreed-webrtcalebo spustite nasledujúci príkaz, ak ste nainštalovali Spreed cez Ubuntu PPA.
sudo systemctl restart spreed-webrtcPo 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/udpZabaliť 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.

