Sì, puoi utilizzare un server TURN self-hosted per aggirare i problemi del firewall. Un server TURN è progettato per inoltrare il traffico multimediale attraverso un servizio quando una connessione diretta tra due endpoint non è possibile a causa di regole firewall restrittive. Ecco alcuni punti chiave sui server TURN:
1. Configurazione del server TURN: puoi distribuire il tuo server TURN su un server come Ubuntu. Ciò consente di avere un migliore controllo sul server e sulla sua configurazione, il che può essere vantaggioso per l'affidabilità e la sicurezza[1].
2. Vantaggi: l'utilizzo di un server TURN può migliorare la sicurezza riducendo la possibilità di perdite di IP e migliorando la compatibilità di rete. Può essere utile anche nei casi in cui circa il 10% degli ospiti remoti non sarebbe in grado di connettersi senza un server TURN. Inoltre, può fornire una migliore qualità video forzando il trasferimento dei dati TCP, il che può essere vantaggioso in determinati ambienti di rete[1].
3. Opzioni di distribuzione: puoi utilizzare servizi cloud come Google Cloud, che offre un piccolo server gratuito a vita. Questa può essere un'opzione conveniente, soprattutto se mantieni il server privato. Google Cloud fornisce anche un livello di credito gratuito di 300 dollari, sebbene non supporti IPv6 e abbia un costo del backbone di rete di circa 0,20 dollari per gig[1].
4. Soluzioni alternative: se non desideri configurare il tuo server TURN, puoi utilizzare una VPN come Speedify, che può aggirare i firewall e altri problemi che potrebbero richiedere un server TURN. Ciò può anche aiutare a proteggere la tua privacy e il tuo indirizzo IP in modo più sicuro[1].
5. Considerazioni sulla sicurezza: quando si configura un server TURN, la sicurezza è fondamentale. Dovresti assicurarti che il server sia adeguatamente protetto, ad esempio utilizzando un proxy inverso come Nginx e uno strumento di sicurezza come Crowdsec[5].
6. TURN over TCP/TLS: se la rete è estremamente restrittiva, è possibile utilizzare TURN over TCP/TLS. Ciò comporta il confezionamento dei dati TCP in un socket TCP sicuro, avviando la connessione con un handshake HTTPS, in modo che il firewall non possa distinguere questo traffico da qualsiasi altro traffico web[2].
7. ICE e TURN: Interactive Connectivity Constitutionment (ICE) è un protocollo utilizzato per gestire STUN, TURN e TURNS. Aiuta a raccogliere i candidati e a dare loro la priorità per stabilire una connessione multimediale di successo con il peer remoto. Ciò è particolarmente importante nei casi in cui sono presenti restrizioni di rete e firewall[4].
In sintesi, un server TURN self-hosted può essere una soluzione affidabile e sicura per aggirare i problemi del firewall, soprattutto se si ha il controllo sul server e sulla sua configurazione. Tuttavia, è essenziale garantire che siano adottate misure di sicurezza adeguate per proteggere il server e i suoi dati.
Citazioni:[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