Thread: [Reconnect working] Kerio Control 9 Firewall OS
View Single Post
  #1  
Old 18.10.2018, 17:55
JWLLEWELYN JWLLEWELYN is offline
Modem User
 
Join Date: Oct 2018
Posts: 1
Default Kerio Control 9 Firewall OS [Ubuntu/Windows]

Hola este es un script para los que usamos el software comercial, firewall de Kerio Control 9 OS, que esta hecha en en una distro en debian 8 de 64 bits, así como PFSense, SmoothWall, Untangle o Zeroshell, etc...

**External links are only visible to Support Staff**
Para que funcione se debe habilitar el SSH en Kerio Control, accediendo al panel de control haciendo una combinación de teclas "clic + shift" en "Estado --> Sanidad del Sistema" al botón "habilitar SSH".

**External links are only visible to Support Staff**
Luego crean una regla de seguridad que habilite el puerto de comunicación SSH solo en la Interfaces Fiables/Locales o Zona de Confianza.

Script solo para Ubuntu

Este script funciona solo en Ubuntu y requiere los paquetes instalados ssh sshpass y nano para editar texto, damos permisos de ejecución y permisos su para el script funcione. ejemplo:
Code:
sudo apt update
sudo apt install ssh sshpass nano
Editamos el archivo sudoers
Code:
sudo visudo
agregamos un permiso solo para el archivo se ejecute como su:
Code:
root ALL=(ALL:ALL) ALL
<username> ALL=(root) NOPASSWD: /home/<username>/Renewal-IP.sh
salvamos el cambio remplazando el archivo sudoers, advertencia, no guardar en un archivo temporal.

Creamos el archivo:
Code:
sudo nano /home/<username>/Renewal-IP.sh
Copie este código a continuación.
Edite la información requerida para las credenciales de el acceso remoto del firewall de kerio control 9.
Renewal-IP.sh
Code:
#!/bin/bash
# Autor: John Llewelyn
# Description: Script to renew the IP address of the Kerio Control firewall version 9
# Required packages: ssh sshpass

# Connecting to firewalls
USERNAME="root"
HOSTS="firewall.domain.com"
PASSWORD="mypassword"
PORT="22"
SSH_LOGS="-oLogLevel=error"
SSH_HOSTKEY="-oStrictHostKeyChecking=no"
SSH_OPTIONS="-oUserKnownHostsFile=/dev/null"

# executing ip renewal task
sshpass -p ${PASSWORD} ssh ${SSH_HOSTKEY} ${SSH_LOGS} ${SSH_OPTIONS} ${USERNAME}@${HOSTS} -p ${PORT} 'killall -SIGUSR2 udhcpc; sleep 5; killall -SIGUSR1 udhcpc; exit'
exit 0
salvamos el archivo y damos permisos de ejecución.
Code:
sudo chmod +x /home/<username>/Renewal-IP.sh
Ahora en JDownloader 2, nos vamos a opciones --> Reconectar --> Método de reconexión, seleccionar "reconexión con herramientas externas"
presiona botón buscar en la ruta absoluta: /home/<username>/Renewal-IP.sh
presiona botón "Prueba" y veras que en segundos cambiara la IP.

Script para Windows

Tutorial esta pendiente por agregar.

Script Batch para Windows.
Renewal-IP.cmd
Code:
@echo off
title Renews IP address, remote Kerio Control 9 Firewall
rem Autor: John Llewelyn
rem description: Renew the IP address of the Kerio Control 9 firewall remotely.
rem requires the putty program according to its x86 or x64 architecture.

rem Server settings "kerio control firewall" remote ssh
     set username="root"
     set password="mypassword"
     set hostname="firewall.domain.com"
     set port="22"
     set putty="%PROGRAMFILES%\PuTTY\plink.exe"
     set CommandsDir="C:\scripts\ResetInternet\commands.txt"

rem check putty
if exist "%putty%" (
    goto checkcommands
    ) else (
        goto warning
)

rem check commands
:checkcommands
if exist "%CommandsDir%" (
    goto task
    ) else (
        goto createcommands
)

rem Commands
:createcommands
(
	 echo killall -SIGUSR2 udhcpc
	 echo sleep 2
	 echo killall -SIGUSR1 udhcpc
	 echo exit
) >%CommandsDir%

rem Run task to renew IP address
:task
%putty% -ssh %username%@%hostname% -P %port% -pw %password% -m %CommandsDir%
goto finish

rem Warning
:warning
echo "It requires the putty program to work."
timeout 5

:finish
exit /B 0

Last edited by JWLLEWELYN; 11.02.2019 at 23:08. Reason: agregado información para linux.
Reply With Quote