Introducción
En la implementación de redes con EasyTier para Windows, es común enfrentar problemas como la no creación de interfaces TUN, la ausencia de IP virtuales en nodos conectados, o la dificultad para controlar procesos en segundo plano. Para solucionar esto, se desarrollaron scripts de automatización que facilitan el manejo del software.
Estructura de Directorios
La organización de archivos se estructura de la siguiente manera:
directorio_actual/
├─ EasyTier/
│ ├─ easytier-core.exe
│ └─ easytier-cli.exe
├─ configuracion.ini
├─ Iniciar.bat
├─ Ejecutar.bat
├─ Estado.bat
└─ Detener.bat
| Archivo/Directorio | Descripción |
|---|---|
| EasyTier/ | Contiene los ejecutables de EasyTier. |
| configuracion.ini | Archivo de configuración con parámetros de red y IP virtual. |
| Iniciar.bat | Script principal para iniciar el servicio. |
| Ejecutar.bat | Script interno que lanza EasyTier con los parámetros necesarios. |
| Estado.bat | Verifica el estado de ejecución y muestra información de nodos. |
| Detener.bat | Detiene el proceso de EasyTier. |
Problemas Inciiales
Al ejecutar easytier-cli.exe peer, se observó que los nodos estaban conectados pero sin asignación de IP virtuales, lo que impedía el funcionamiento de la red virtual. Esto se manifestaba en la tabla de peers con la columna de IPv4 vacía.
Solución Implementada
La asignación manual de IP virtuales resolvió el problema. Se asignaron direcciones únicas a cada nodo, por ejemplo:
Servidor-Cloud 192.168.100.1
PC-Oficina 192.168.100.2
PC-Casa 192.168.100.3
Al iniciar EasyTier, se incluye el parámetro --ipv4 192.168.100.2 para configurar la IP estática del nodo local.
Archivo de Configuración
Para evitar la entrada manual de parámetros, se utilizó el archivo configuracion.ini:
red_nombre=mi-red-easytier
red_clave=clave-segura-ejemplo
servidor_host=203.0.113.20
servidor_puerto=11010
ip_virtual_local=192.168.100.2
mostrar_ventana=1
| Parámetro | Descripción |
|---|---|
| red_nombre | Nombre de la red EasyTier. |
| red_clave | Clave de autenticación para la red. |
| servidor_host | Dirección del servidor intermediario. |
| servidor_puerto | Puerto de escucha del servidor. |
| ip_virtual_local | IP virtual asignada a este nodo. |
| mostrar_ventana | Controla la visibilidad de la ventana de EasyTier (1 para mostrar, 0 para ocultar). |
Diseño de Scripts
1. Iniciar.bat
Este script verifica permisos de administrador, lee la configuración de configuracion.ini, y si no existe, solicita los valores al usuario. Luego guarda la configuración y ejecuta Ejecutar.bat para iniciar EasyTier, mostrando al final el estado de los nodos.
2. Ejecutar.bat
Script interno que recibe parámetros como nombre de red, clave, servidor, IP local y modo de ventana. No se recomienda ejecutarlo directamente; si se hace, redirige a Iniciar.bat.
3. Estado.bat
Utiliza comandos como tasklist /FI "IMAGENAME eq easytier-core.exe" y easytier-cli.exe node para verificar si EasyTier está activo y mostrar información de nodos.
4. Detener.bat
Finaliza el proceso de EasyTier mediante taskkill /IM easytier-core.exe /F, útil cuando hay una sola instancia en ejecución.
Parámetros de Inicio
La línea de comandos para EasyTier se estructura así:
easytier-core.exe ^
--network-name mi-red-easytier ^
--network-secret clave-segura-ejemplo ^
--ipv4 192.168.100.2 ^
--peers tcp://203.0.113.20:11010 udp://203.0.113.20:11010 ^
--dev-name adaptador-virtual0
| Parámetro | Descripción |
|---|---|
| --network-name | Nombre de la red EasyTier. |
| --network-secret | Clave de la red. |
| --ipv4 | IP virtual del nodo local. |
| --peers | Direcciones del servidor intermediario. |
| --dev-name | Nombre de la interfaz virtual TUN. |
Modo Visible y Oculto
El parámetro mostrar_ventana controla la visibilidad. Con mostrar_ventana=1, la ventana de EasyTier es visible; con mostrar_ventana=0, se ejecuta en segundo plano. En este último caso, se puede usar Estado.bat para comprobar su funcionamiento y Detener.bat para finalizarlo.
Manejo de Registros
Para facilitar la depuración en modo oculto, se redirigen los registros a archivos con nombres basados en la fecha y hora:
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "HORA_LOG=%%i"
set "ARCHIVO_LOG=registros/%HORA_LOG%.log"
Al iniciar EasyTier, se redirige la salida con > "%ARCHIVO_LOG%" 2>&1 para capturar tanto la salida estándar como los errores.
Efecto Tras el Inicio
Después de iniciar, ejecutar easytier-cli.exe node muestra la IP virtual local y otros detalles. Con easytier-cli.exe peer se visualizan todos los nodos con sus IP asignadas, permitiendo pruebas de conectividad como ping 192.168.100.1.
Problemas Comunes
1. Nodos sin IP Virtual
Si un nodo no tiene IP asignada, revise la configuración de ip_virtual_local o el parámetro --ipv4. Cada nodo debe tener una IP única.
2. Creación Fallida de Interfaz Virtual
Verifique que el script se ejecute con permisos de administrador, que no se use --no-tun por error, y revise los registros para errores relacionados con TUN.
3. Conexión Fallida al Servidor
Confirme que los parámetros servidor_host y servidor_puerto sean correctos, y que el firewall permita tráfico en TCP y UDP en el puerto especificado.
4. Comandos de EasyTier No Disponibles
En algunas versiones, easytier-cli status puede no existir; utilice alternativas como easytier-cli stats o easytier-cli stun.
Flujo de Uso Recomendado
- Preparar el directorio de EasyTier con los ejecutables.
- Ejecutar
Iniciar.baty configurar los parámetros si es necesario. - Asignar la IP virtual local en
configuracion.ini. - Esperar a que EasyTermine se inicie y verificar los peers.
- Confirmar que todos los nodos tengan IP virtuales asignadas.
- Probar la conectividad con ping.
- Usar
Estado.batpara monitorización regular. - Detener el servicio con
Detener.batcuando sea necesario.