Implementando VPNs ultra simples con ZeroTier


4 min de lectura
Implementando VPNs ultra simples con ZeroTier

ZeroTier es una aplicación gratuita que permite levantar VPNs de forma extremadamente sencilla sin tener que lidiar con redirección de puertos, configuración de reglas de NAT, Port Forwarding y un montón de cosas que siempre complican a quienes tenemos que instalar estas soluciones.

El concepto detrás de ZeroTier es muy simple. Se trata de una red VPN encriptada de tipo Overlay que corre por sobre cualquier conexión a Internet y que se puede poner a funcionar en menos de 5 minutos gracias a la red Peer-to-Peer que conforman los nodos conectados a la red VPN. Esta idea no es nada nueva y ya se podía ejecutar antes desde los tiempos de Hamachi, pero luego se pusieron un poco restrictivos cuando fue adquirido por LogMeIn y muchas personas dejaron de utilizarlo.

Pues bien, ZeroTier funciona sin problemas para crear una red completamente privada entre dispositivos Mac, Windows, Linux/Unix, Android y iPhone emulando un switch Ethernet estándar por sobre cualquier red de Internet.

Topología de VPN Overlay de ZeroTier sobre Internet

En la imagen superior se puede entender mejor el concepto de esta VPN e inmediatamente podemos ver los beneficios que trae. La red ZeroTier permite incluso intercambiar tráfico Multicast y Broadcast entre los peers de la VPN igual como si fuera un switch real.

Lo novedoso de esta aplicación, es que el nodo principal puede ser la misma nube de ZeroTier, la cual permite hasta 50 dispositivos gratuitos o bien puede ser un controlador privado que puede descargarse e instalarse en cualquier Cloud, sin límites de usuarios.

INSTALACIÓN

  1. El primer paso es crear una cuenta en https://my.zerotier.com para organizar la red que queremos crear. Este paso no es realmente necesario si ustedes van a montar su propio nodo principal, pero para simplificar las cosas vamos a usar el panel que nos ofrecen gratuitamente.
Menú de creación de las redes

Cuando crean una red, se asignan nombres automáticos como "fancy_coyote" o cosas así. Lo importante es que guarden el valor del campo Network ID ya que este número será el que utilicemos en los clientes para conectarnos a la VPN. En este caso usaré el número 8300aaaabbbbcccc.

2. Una vez creada la red, ya podemos agregar los nodos remotos, pero podemos configurar algunas opciones interesantes, como por ejemplo el rango de direcciones IP que tendremos dentro de la red virtual. Este bloque puede ser elegido automática o manualmente (en caso de que los propuestos hagan conflicto con otras subredes ya existentes en la infraestructura física). De todos modos las IP remotas se autoasignarán en el rango que escojamos.

Opción para definir el bloque IP interno

Adicionalmente se pueden seleccionar opciones de IPv6 o DNS.

3. La parte importante corresponde a los nodos finales. Es en este lugar donde podemos agregar manualmente los nodos o bien, esperar que ellos se conecten y autorizarlos  con su respectivo ID. Este ID es autogenerado cuando se instala la aplicación ZeroTier en los dispositivos finales. Por ejemplo, acá podemos ver que he agregado un iPhone, un servidor DNS y un Macbook, cada uno con su respectiva dirección IP privada del rango que ya definimos.

Listado de los nodos remotos

4. Instalación de los nodos remotos.

Para poder agregar un nodo a la red VPN, es tan simple como descargar la aplicación respectiva desde https://www.zerotier.com/download/

En el caso de Windows, Mac, Android y IPhone, la instalación es extremadamente sencilla (básicamente "siguiente, siguiente, siguiente") así que no lo detallaré aquí. En el caso de una máquina Linux, los pasos son los siguientes:

  1. Descargar el instalador:

curl -s https://install.zerotier.com | sudo bash

2. Una vez realizada la instalación, simplemente nos unimos a la red con

sudo zerotier-cli join 8300aaaabbbbcccc

Instalación de ZeroTier en Linux

Pueden ver que automáticamente se generó el ID de 10 dígitos que identifica al nodo remoto.
Finalmente pueden revisar el status con

sudo zerotier-cli status

El cual nos devolverá un mensaje ONLINE, si el nodo está correctamente configurado y conectado a la red P2P de ZeroTier.

Eso es todo. Ahora pueden conectarse directamente entre los nodos remotos con las IP asignadas por ZeroTier ¿Puede ser más simple?

En caso de requerir más información, pueden dirigirse a la documentación del proyecto en https://zerotier.atlassian.net/wiki/spaces/SD/overview?homepageId=163911

Artículos Relacionados

Capturar tráfico por MAC en TCPDUMP
1 min de lectura
Crear VRFs en Linux (Debian)
2 min de lectura

SUBIR

🎉 Te has suscrito con éxito a NETLAYER.CL!
OK