Sí, puede utilizar un servidor TURN autohospedado para evitar problemas de firewall. Un servidor TURN está diseñado para transmitir tráfico de medios a través de un servicio cuando no es posible una conexión directa entre dos puntos finales debido a reglas restrictivas de firewall. Aquí hay algunos puntos clave sobre los servidores TURN:
1. Configuración del servidor TURN: puede implementar su propio servidor TURN en un servidor como Ubuntu. Esto le permite tener un mejor control sobre el servidor y su configuración, lo que puede resultar beneficioso para la confiabilidad y la seguridad[1].
2. Beneficios: El uso de un servidor TURN puede mejorar la seguridad al reducir la posibilidad de fugas de IP y mejorar la compatibilidad de la red. También puede ayudar en casos en los que aproximadamente el 10% de los invitados remotos no podrían conectarse sin un servidor TURN. Además, puede proporcionar una mejor calidad de vídeo al forzar la transferencia de datos TCP, lo que puede resultar beneficioso en determinados entornos de red[1].
3. Opciones de implementación: Puede utilizar servicios en la nube como Google Cloud, que ofrece un pequeño servidor gratuito de por vida. Esta puede ser una opción rentable, especialmente si mantiene el servidor privado. Google Cloud también ofrece un nivel de crédito gratuito de $300, aunque no es compatible con IPv6 y tiene un costo de red troncal de alrededor de $0,20 por gig[1].
4. Soluciones alternativas: si no desea configurar su propio servidor TURN, puede usar una VPN como Speedify, que puede evitar firewalls y otros problemas que puedan requerir un servidor TURN. Esto también puede ayudar a proteger su privacidad y dirección IP de forma más segura[1].
5. Consideraciones de seguridad: Al configurar un servidor TURN, la seguridad es crucial. Debe asegurarse de que el servidor esté correctamente protegido, por ejemplo mediante el uso de un proxy inverso como Nginx y una herramienta de seguridad como Crowdsec[5].
6. TURN over TCP/TLS: Si la red es extremadamente restrictiva, puede usar TURN over TCP/TLS. Esto implica envolver los datos TCP en un socket TCP seguro, iniciando la conexión con un protocolo de enlace HTTPS, de modo que el firewall no pueda distinguir este tráfico de ningún otro tráfico web[2].
7. ICE y TURN: El establecimiento de conectividad interactiva (ICE) es un protocolo utilizado para gestionar STUN, TURN y TURNS. Ayuda a reunir candidatos y priorizarlos para establecer una conexión mediática exitosa con el par remoto. Esto es particularmente importante en los casos en los que existen restricciones de red y firewalls[4].
En resumen, un servidor TURN autohospedado puede ser una solución confiable y segura para evitar problemas de firewall, especialmente si tiene control sobre el servidor y su configuración. Sin embargo, es esencial garantizar que existan medidas de seguridad adecuadas para proteger el servidor y sus datos.
Citas:[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