Taip, galite naudoti savarankiškai priglobtą TURN serverį, kad išvengtumėte ugniasienės problemų. TURN serveris skirtas perduoti medijos srautą per paslaugą, kai tiesioginis ryšys tarp dviejų galinių taškų neįmanomas dėl ribojančių ugniasienės taisyklių. Štai keletas pagrindinių dalykų apie TURN serverius:
1. TURN Server Setup: galite įdiegti savo TURN serverį tokiame serveryje kaip Ubuntu. Tai leidžia geriau valdyti serverį ir jo konfigūraciją, o tai gali būti naudinga patikimumui ir saugumui[1].
2. Privalumai: TURN serverio naudojimas gali pagerinti saugumą, nes sumažina IP nutekėjimo galimybę ir pagerina tinklo suderinamumą. Tai taip pat gali padėti tais atvejais, kai apie 10% nutolusių svečių negalėtų prisijungti be TURN serverio. Be to, jis gali užtikrinti geresnę vaizdo kokybę, priverstinai perduodamas TCP duomenis, o tai gali būti naudinga tam tikrose tinklo aplinkose[1].
3. Įdiegimo parinktys: galite naudoti debesies paslaugas, pvz., „Google Cloud“, kuri siūlo nemokamą mažą serverį visam gyvenimui. Tai gali būti ekonomiškas pasirinkimas, ypač jei serveris yra privatus. „Google Cloud“ taip pat suteikia nemokamą 300 USD kredito lygį, nors nepalaiko IPv6, o tinklo pagrindinė kaina yra apie 0,20 USD už koncertą[1].
4. Alternatyvūs sprendimai: jei nenorite nustatyti savo TURN serverio, galite naudoti VPN, pvz., Speedify, kuris gali apeiti užkardas ir kitas problemas, kurioms gali prireikti TURN serverio. Tai taip pat gali padėti saugiau apsaugoti jūsų privatumą ir IP adresą[1].
5. Saugumo svarstymai: nustatant TURN serverį saugumas yra labai svarbus. Turėtumėte užtikrinti, kad serveris būtų tinkamai apsaugotas, pvz., naudodami atvirkštinį tarpinį serverį, pvz., Nginx, ir saugos įrankį, pvz., Crowdsec[5].
6. Perjungti TCP/TLS: jei tinklas itin ribojantis, galite naudoti TURN over TCP/TLS. Tai apima TCP duomenų įvyniojimą į saugų TCP lizdą, ryšio inicijavimą HTTPS rankos paspaudimu, todėl ugniasienė negali atskirti šio srauto nuo kito žiniatinklio srauto[2].
7. ICE and TURN: Interactive Connectivity Establishment (ICE) yra protokolas, naudojamas apsvaiginimui, POSUKIMUI ir PASUKIMUI valdyti. Tai padeda surinkti kandidatus ir nustatyti jiems prioritetus, kad užmegztų sėkmingą žiniasklaidos ryšį su nuotoliniu lygiu. Tai ypač svarbu tais atvejais, kai yra tinklo apribojimų ir užkardos[4].
Apibendrinant galima pasakyti, kad savarankiškas TURN serveris gali būti patikimas ir saugus sprendimas apeiti ugniasienės problemas, ypač jei valdote serverį ir jo konfigūraciją. Tačiau, norint apsaugoti serverį ir jo duomenis, būtina užtikrinti tinkamas saugumo priemones.
Citatos:[1] https://docs.vdo.ninja/common-errors-and-known-issues/hosted-your-own-turn-server
[2] https://developer.liveswitch.io/liveswitch-server/guides/what-are-stun-turn-and-ice.html
[3] https://stackoverflow.com/questions/35506493/bypass-firewall-for-webrtc
[4] https://webrtc.ventures/2022/04/ice-in-webrtc/
[5] https://github.com/coturn/coturn/discussions/1100