Automatización de Gestión para EasyTier en Windows: Inicio, Parada, Estado y Ejecución Oculta

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

  1. Preparar el directorio de EasyTier con los ejecutables.
  2. Ejecutar Iniciar.bat y configurar los parámetros si es necesario.
  3. Asignar la IP virtual local en configuracion.ini.
  4. Esperar a que EasyTermine se inicie y verificar los peers.
  5. Confirmar que todos los nodos tengan IP virtuales asignadas.
  6. Probar la conectividad con ping.
  7. Usar Estado.bat para monitorización regular.
  8. Detener el servicio con Detener.bat cuando sea necesario.

Etiquetas: EasyTier Windows Batch Scripting Network Virtualization TUN Mode

Publicado el 6-27 23:06