Activación automática de cuentas Nauta desde Debian GNU/Linux

Leinier Cruz Salfran
Debian GNU/Linux, Shell, Tutoriales
27-jul-2020

Tabla de contenidos

Introducción

En algunos escenarios se hace necesario la activación de una cuenta Nauta de forma automática para, así, automatizar una infraestrucutra que se ha implementado en nuestra red. Dada la cruda realidad de que RouterOS carece de una funcionalidad efectiva para ejecutar esta tarea, nace la alternativa en los sistemas operativos tipo UNIX, los cuales si poseen todo el arsenal, ligero y pesado, para cumplir dicho objetivo.

Este tutorial trata de como implementar un guión de consola en Debian GNU/Linux (puede funcionar en otros sistemas operativos, incluyendo FreeBSD) para invocar, de forma automática, la activación de una cuenta Nauta.

Preparación del sistema

Lo primero a realizar es preparar al sistema para la correcta ejecución del guión y, para ello, debemos garantizar que esté instalado el programa CURL.

Debian GNU/Linux

# apt install curl

Guión

El guión debe guardarse en alguna ubicación de su preferencia, pero en este tutorial utilizaremos la ruta /opt/leiniercs-activacionNauta-0.1.sh. A continuación podrá visualizar el texto del guión:

#!/bin/sh
# Fecha: 27-jul-2020 4:30 pm
# Autor: Leinier Cruz Salfran <leiniercs@gmail.com>
# Nombre: leiniercs-activacionNauta-0.1.sh
# Version: 0.1
# Licencia: GPLv3
# Grupo en Telegram: https://t.me/ccari_cuba

USUARIO="usuario@nauta.com.cu"
CONTRASENA="contrasena"
IPMONITORIZACION_INTERNACIONAL="172.31.252.153"
IPMONITORIZACION_NACIONAL="190.92.127.91"

realizarPruebaICMP() {
    ping -q -c 3 $1 2>&1 > /dev/null

    if [ "$?" = "0" ]; then
        return 0
    fi

    return 1
}

if ! realizarPruebaICMP ${IPMONITORIZACION_INTERNACIONAL} ; then
    if ! realizarPruebaICMP ${IPMONITORIZACION_NACIONAL} ; then
        curl -d "username=${USUARIO}&password=${CONTRASENA}" -X POST "https://secure.etecsa.net:8443/LoginServlet"
    fi
fi

exit 0

Se destaca que dentro del guión existen 2 variables definidas al inicio, las que definen el usuario (USUARIO) y contraseña (CONTRASENA) de la cuenta Nauta, los cuales deben ser cambiados por los valores apropiados. Por último debemos establecerles permisos de ejecución al archivo del guión:

# chmod +x /opt/leiniercs-activacionNauta-0.1.sh

Ejecución automática

En aras de impregarle la automatización a este proceso, utilizaremos el administrador de procesos en 2do plano Cron. Para ello, guardaremos el texto que aparece a continuación en un archivo en la siguiente ubicación /etc/cron.d/leiniercs-activacionNauta

* *  * * *  nobody  /opt/leiniercs-activacionNauta-0.1.sh

Conclusiones

Luego de ejecutar satisfactoriamente las operaciones descritas en los pasos anteriores, se ejecutará de forma automática cada 1 minuto el archivo /opt/leiniercs-activacionNauta-0.1.sh, el cual verificará si existe conexión a la red metropolitana cubana o Internet y, en caso que no exista acceso a ninguna de las 2 redes, entonces activará la cuenta Nauta definida en el guión.