Hoy les traigo una linda solucion a la interconexion de equipos (o vpn entre equipos). Zerotier es plataforma de red virtual descentralizada que permite conectar dispositivos de forma segura y sencilla a través de internet, creando una red virtual privada como si estuvieran en la misma red local. Permite la creación de VPN punto a punto (P2PVPN) entre dispositivos con distintos sistemas operativos, ofreciendo funciones de gestión de red como enrutamiento y firewall.
Su web es: https://www.zerotier.com/
La ventaja de #zerotier es que podes crear una vpn o red privada virtual entre varios equipos de manera muy muy simple y estando en redes de internet totalmente distintas. Claro que es multiplataforma lo cual te permite no solo conectarte con una raspberry, con windows, mac y con tu smartphone android sin problemas.
Lo primer es ingresar a la web, registrarte (lo puedes hacer con tu gmail sin drama) y luego presionar el boton de crear red. Es muy intuitivo.

Como pueden apreciar tengo una red creada que puede tener hasta 25 dispositivos! es un monton! y además puedo ponerle distintos nombres a cada red.
Bien la instalación la voy a realizar sobre docker y sobre mi raspberry. Como el tutorial que deje en el blog sobre instalación de docker es un script que detecta sobre que plataforma se esta ejecutando y luego instala, te va a servir para instalar docker en tu raspberry. Te lo dejo aca:
ATENCION: Lo unico que no va del tutorial anterior para una raspberry es la instalación de docker-compose que simplemente lo vas a poder hacer asi:
sudo apt install docker-compose

Ahora convendria crear una carpeta que puedas utilizar para ir guardando tus resetas de docker, o bien las puedes apuntar usando #obsidian y asi tendrias todo bien ordenadito para consultar
mkdir misdockers
cd misdockers
mkdir zerotier
cd zerotier
nano docker-compose.yml
con nano estamos creando el archivo que vamos a utilizar para ejecutar docker-compose y que cree nuestro contenedor. El archivo docker-compose.yml debe tener el siguiente contenido:
version: '3.8'
services:
zerotier:
image: zerotier/zerotier:latest
container_name: zerotier
volumes:
- ./config:/var/lib
cap_add:
- net_admin
devices:
- /dev/net/tun
restart: unless-stopped
network_mode: host
Luego lo guardamos y quedaria algo asi:

Ahora ejecutamos el comando:
docker-compose up -d
vas a comenzar ver algo asi:

luego que termine te va a decir que esta creada y podemos ver si corre con el comando:
docker ps

Ahora necesitamos ejecutar un comando que une el contenedor de zerotier a la network id que obtenemos de la web.
docker exec zerotier zerotier-cli join tuiddered

Ahora nos vamos a la web y veremos que un cliente nuevo se quiere sumar a la red:

Tenemos que hacer clic en el lapicito, le ponemos un nombre y tildamos autorizar y guardar y quedará asi:

¿Como probar que verdaderamente anda nuestra red con zerotier sobre docker?
Primero tenemos que saber que ip tiene la raspberry en zerotier (ya no importa la ip local). Para esto en la web nos va a decir:

Entonces con una terminal en otra maquina que tambien tenga zerotier y este agregada a la misma red hacemos:
ssh nombredeusuario@ipdezerotier
con esto ingresamos por zerotier estemos donde estemos! Acá probe todo con una raspberry y docker, pero tranquilamente podrian ser dispositivos windows donde solo basta instalar el ejecutable con siguiente siguiente, vamos a join network ponemos la id y repetimos el procedimiento de autorización.
Es muy sencillo, asi que espero que les sirva!
