Weron una VPN basada en el protocolo WebRTC
Hace pocos dias se dio a conocer la noticia de que se publicó la primera versión de Weron VPN, el cual es un proyecto que tiene como finalidad el permitir crear redes superpuestas que combinan hosts dispersos geográficamente en una red virtual, cuyos nodos interactúan directamente entre sí (P2P).
Se destaca que dentro de las principales características de Weron están el que se pueda utilizar para crear redes de confianza únicas que conectan hosts locales con sistemas que se ejecutan en entornos de nube. La baja sobrecarga de usar WebRTC en redes de baja latencia también hace posible crear redes domésticas seguras basadas en Weron para proteger el tráfico entre hosts dentro de las redes locales.
Otra de las características clave de este proyecto, es que se proporciona una API para que los desarrolladores creen sus propias aplicaciones distribuidas con funciones como la reanudación automática de la conexión y el establecimiento de múltiples canales de comunicación al mismo tiempo.
Ademas de ello, tambien se destaca que se admite la creación de redes IP virtuales (capa 3) y redes Ethernet (capa 2).
En cuanto a la parte de la diferencia clave con otros proyectos similares como lo son Tailscale, WireGuard y ZeroTier, es el uso del protocolo WebRTC para la interacción de nodos en una red virtual.
La principal ventaja que presume el proyecto, es que al usar WebRTC como transporte, es mayor la resistencia al bloqueo del tráfico VPN, ya que este protocolo se usa activamente en programas populares de videoconferencia y audioconferencia como Zoom.
Cabe mencionar que WebRTC también se destaca porque proporciona herramientas listas para usar para acceder a hosts que se ejecutan detrás de NAT y eludir los firewalls corporativos mediante los protocolos STUN y TURN. Como tal, el proyecto Weron es destacable por proporciona todas las herramientas para la creacion de redes superpuestas, sencillas, rápidas y seguras basadas en WebRTC.
De las demás características que se destacan de este proyecto se mencionan las siguientes:
- Permite crear nodos de acceso detrás de NAT: debido a que weron usa WebRTC para establecer conexiones entre nodos, puede atravesar fácilmente firewalls corporativos y NAT usando STUN, o incluso usar un servidor TURN para tunelizar el tráfico. Esto puede ser muy útil, por ejemplo, para SSH en su laboratorio doméstico sin reenviar ningún puerto en su enrutador.
- Ofrece el poder asegurar la red doméstica: debido a la sobrecarga relativamente baja de WebRTC en redes de baja latencia, weron se puede usar para asegurar el tráfico entre nodos en una LAN sin afectar significativamente el rendimiento.
- Permite poder unirse a los nodos locales en una red en la nube: si ejecuta, por ejemplo, un clúster de Kubernetes con nodos basados en instancias en la nube pero también desea unir sus nodos locales, puede usar weron para crear una red confiable.
- Eludir la censura: la suite WebRTC subyacente, en la que se basan las herramientas de videoconferencia populares como Zoom, Teams y Meet, es difícil de bloquear a nivel de red, lo que lo convierte en una valiosa adición a su caja de herramientas para eludir la censura estatal o corporativa.
- Escribir sus propios protocolos punto a punto: la API simple facilita la escritura de aplicaciones distribuidas con reconexiones automáticas, múltiples canales de datos, etc.
Finalmente si estás interesado en poder conocer más al respecto sobre el proyecto, debes saber que el código del proyecto está escrito en Go y se distribuye bajo la licencia AGPLv3. Las compilaciones listas están preparadas para Linux, FreeBSD, OpenBSD, NetBSD, Solaris, macOS y Windows.
¿Como instalar Weron en Linux?
Para quienes estén interesados en poder instalar Weron en sus sistemas, pueden hacerlo de una forma super sencilla y que se puede realizar desde casi cualquier distribucion de Linux actual.
Para poder realizar la instalación, basta con abrir una terminal y en ella vamos a teclear los siguientes comandos:
curl -L -o /tmp/weron "https://github.com/pojntfx/weron/releases/latest/download/weron.linux-$(uname -m)" sudo install /tmp/weron /usr/local/bin sudo setcap cap_net_admin+ep /usr/local/bin/weron
Para conocer más al respecto sobre el uso de Weron, puedes consultar el siguiente enlace.