Sunteți pe pagina 1din 2

#ESTE SCRIPT EL CODIGO ORIGINAL ES DE CAIBNETIK, RESPETANDO SU AUTORIA HICE ALGUNOS

AJUSTES PARA KE FUERA COMPATIBLE EN TODAS LAS CONFIGURACIONES


#SALUDOS TERRICOLAS
#KORZO

# ESTE CODIGO SE DIVIDE EN DOS SCRIPT, EL SCRIPT 1 ES PARA CONFIGURACIONES CON


MULTIPLES INTERFACES INALAMBRICAS (multiportales/balanceo).
# EL SCRIPT 2 ES PARA CONFIGURACIONES CON UNA SOLA INTERFAZ INALAMBRCA
# EL SCRIPT (cualquiera de los dos) SE ENCARGA DE RECONECTAR LA CUENTA NAUTA SI NO
SE DETECTA INTERNET
# Paso 1. IDENTIFICAR CUAL SCRIPT SE ADAPTA A SU CONFIGURACION Y EDITAR LAS
VARIABLES SEGUN SE EXPLICA EN CADA CASO (recomiendo editar con el Visual Studio
Code)
# Paso 2. CREAR UN SCRIPT CON EL NOMBRE "recNautaByCaibneTik" Y PEGAR EL SCRIPT CON
LAS VARIABLES YA MODIFICADAS
# Paso 3. PEGAR EN EL TERMINAL DE MIKROTIK EL SIGUIENTE COMANDO Y PRESIONA ENTER
#system scheduler add name=recNautaByCaibneTik interval=5m on-
event=recNautaByCaibneTik

# Visite: https://www.facebook.com/caibnetik
# Visite: https://www.youtube.com/caibnetik

############################# SCRIPT 1 ############ SCRIPT 1 ############## SCRIPT


1 ####################################
# Este script es aplicable para configuraciones con varias interfaces inalambricas
incluyendo interfaces inalambricas virutales (funciona con balanceo)
# Debe escoger la interfaz por la que va a usar la cuenta.
# tablaDeRuta < es el nombre de la tabla de ruta que define la interfaz por la que
desea que la cuenta se reconecte automaticamente >
# iface < es el nombre de la interfaz por la cual se usa la cuenta >
# usuario < usuario de la cuenta Nauta. Ejemplo usuario@nauta.com.cu >
# password < contraseña de la cuenta Nauta >

:local iface "wlan1";


:local usuario "USUARIO@nauta.com.cu";
:local password "PASSWORD";
:local gETECSA "gateway de tu parke";
######## Code by yresquirol ################ NO CAMBIAR NADA DE AQUI PARA ABAJO
######## CaibneTik #####################
:local m true;
log warning "Iniciando coneccion de Nauta";

/ip route add gateway=("$gETECSA%$iface") distance=1 routing-mark="RutaParaNauta"


comment="ActivacionNauta";

while ($m) do {
if ([ping 1.1.1.101 count=10 routing-table="RutaParaNauta"]=0) do {
log warning "Internet no detectada";
/ip firewall mangle add chain=prerouting action=mark-routing new-routing-
mark="RutaParaNauta" dst-address=10.180.0.30 protocol=tcp dst-port=8443 place-
before=0 comment="ActivacionNauta";
/ip firewall nat add action=masquerade chain=srcnat out-interface=$iface
routing-mark="RutaParaNauta" place-before=0 comment="ActivacionNauta";

delay 20;
log warning "Intentando reconectar la cuenta";
do {
:local result [tool fetch mode=https
url="https://secure.etecsa.net:8443/LoginServlet" http-method=post http-
data="username=$usuario&password=$password" output=user as-value];
} on-error={

}
if ([ping 1.1.1.101 count=5 interface=$iface]>0) do {
log warning "Cuenta reconectada con exito";
} else {
log warning "Error. Se intentará reconectar la cuenta en 20 segundos";
delay 20;
log warning "Intentando reconectar la cuenta";
do {
:local result2 [tool fetch mode=https
url="https://secure.etecsa.net:8443/LoginServlet" http-method=post http-
data="username=$usuario&password=$password" output=user as-value];
} on-error={

}
if ([ping 1.1.1.101 count=5 interface=$iface]>0) do {
log warning "Cuenta reconectada con exito";
}
}
ip firewall mangle remove [find comment="ActivacionNauta"];
ip firewall nat remove [find comment="ActivacionNauta"];
ip route remove [find comment="ActivacionNauta"];
set $m false;
} else {
set $m false;
}
}

S-ar putea să vă placă și