1 ene 2018

Cómo conectarme a un servidor remoto en una red protegida - Versión actualizada

En un artículo anterior describí cómo conectarse a un equipo remoto en una red protegida http://diego-k.blogspot.mx/2014/12/como-conectarme-un-servidor-remoto-con.html .

Esta vez vamos a perfeccionar el método, hacerlo más práctico y a la vez más estable.

El objetivo es el mismo:

"Quieres alcanzar un servidor desde tu PC pero estás detrás del firewall de tu modem y el servidor se encuentra detrás del firewall corporativo. Ambos pueden salir a Internet, pero ninguno publica puertos. "


Tenemos diferentes pasos a seguir: 

1) Podemos usar la capa gratuita de Amazon Web Services con un Linux AMI. Hay muchas guías de cómo configurarlo, como la siguiente: How to setup a Linux server on Amazon AWS
En caso de querer hacerlo nosotros mismos necesitaremos una vieja PC, Netbook o Notebook donde instalaremos Linux (puede ser Ubuntu con OpenSSH) y deberemos abrir un puerto para el SSH (recomiendo 443) en el firewall del router. La configuración depende del equipo y el proveedor, pero siempre hay tutoriales. 

2) En el IBM i o un Linux dentro de la infraestructura donde se encuentra el servidor debemos instalar OpenSSH y AUTOSSH. AutoSSH tiene una sintaxis similar a SSH, pero valida si se ha caído la conexión y la restablece. Con eso evitamos estar validando la conexión. Es muy util en conexiones poco estables.

3) Creamos una cuenta en DynU para que el IBM i encuentre nuestro servidor por nombre en lugar de IP. Si llegara a cambiar y la conexión cayera el AUTOSSH volverá a reconectar de forma correcta. 
Instalamos el cliente de DYNU en Linux o podemos agregar un trabajo CRON que ejecute lo siguiente:

* * * * * curl  "http://api.dynu.com/nic/update?hostname=myserver.dynu.com&password=MYPASSWORD">/dev/null 2>&1

Este ejemplo refrescará cada minuto la IP pública del servidor myserver.dynu.com . Recuerden, este es el servidor de Amazon o la PC/N*tbook que rehabilitamos para hacer de puente.

4) En el servidor IBM i o Linux creamos un tunnel reverso que publique el puerto de SSH (debe estar encendido el *SSHD)  en el puerto 8022 usando AutoSSH.
El script puede ser algo así:

autossh -M 10988 -f -N  -R 8022:127.0.0.1:22  -p 443 USUARIO@myserver.dynu.com -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3"  

NOTA: Es importante que contemos con una llave de SSH para que nos podamos conectar SIN password al servidor Linux en Amazon/Casa/Oficina, como se indica en el artículo que publiqué con anterioridad.


5) En nuestra PC nos conectamos al mismo equipo, redirigiendo el puerto 8022 a nuestra PC:

autossh -M 10986 -f -N  -L 8022:127.0.0.1:8022  -p 443 USUARIO@myserver.dynu.com -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3"  


(en caso de usar Linux)

o bien con PuTTY:



5) Ahora creamos una 2da conexión, pero esta vez a LOCALHOST, en el puerto 8022, para crear el tunel dinámico:

autossh -M 10984 -f -N  -D 3128  -p 8022 USUARIO@myserver.dynu.com -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3"  

(Linux)

o bien en PuTTY:



Listo, ya tenemos una conexión a través de un equipo que nos hace de puente:




Ahora podemos usar el puerto 3128 en Localhost como un proxy SOCKS 5 en nuestro navegador, en PuTTY, en TN5250j o incluso con Proxychains/TSOCKS o ProxyFier








Necesitas saber que usuarios NO se han conectado en los últimos 3 meses a tu IBM i / AS/400?

Usando la UDTF USER_INFO ya no necesitamos enviar la lista de usuarios a un *OUTFILE, simplemente ejecutamos lo siguiente en nuestro equipo (siempre que tengamos las PTFs adecuadas ) SELECT AUTHORIZATION_NAME,PREVIOUS_SIGNON, STATUS, PASSWORD_CHANGE_DATE,USER_CLASS_NAME,SPECIAL_AUTHORITIES, TEXT_DESCRIPTION FROM QSYS2.USER_INFO WHERE CURRENT TIMESTAMP - 3 MONTHS > PREVIOUS_SIGNON AND STATUS = '*ENABLED' ORDER by PREVIOUS_SIGNON ASC Si usamos SQUIRRELSQL o DBVisualizer podemos exportar la salida a Excel sin mayor dificultad


IBM i/AIX/PowerLinux: Acelerando el equipo con OverClocking

En la prehistoria del cómputo personal, cuando teníamos que pedir prestada una computadora de un vecino para poder revisar un documento en un diskette flexible, las computadoras XT contaban con un botón con la leyenda TURBO.
Todo sabíamos que si apretábamos ese botón de TURBO las cosas se harían más rápido. Este botón simplemente permitía que el procesador ejecutara a una mayor frecuencia, lo cual se traducía en una mayor velocidad.
La mayoría de los procesadores cuentan con una velocidad nominal y una velocidad máxima. Esto es para no sobre exigir al procesador empujándolo a los umbrales de su capacidad, ya que mayor frecuencia se traduce en mayor disipación de calor y por consiguiente mayor consumo eléctrico. Si el calor no es disipado correctamente podríamos tener fallas e incluso dañar al procesador.
Pero los años han pasado y los procesadores de Intel finalmente incorporaron la tecnología Turbo Boost y luego Turbo Boost 2 en las versiones de escritorio, que aceleran la frecuencia del procesador de forma temporal cuando se presentan picos en las cargas. Al ser cambios temporales en la velocidad no corremos el riesgo de "freir" nuestro procesador, ya que este cambio lo administra el mismo equipo.
Obviamente también existe el overclocking que hacen los gamers, forzando al procesador a correr en velocidades por arriba de las especificaciones y empleando sistemas de enfriamiento especiales. Definitivamente no es algo que recomiende para trabajar...
En los procesadores Power contamos con características de administración de energía desde hace años, sólo que en versiones anteriores a Power7 necesitábamos software para poder hacer ajustes.
En procesadores Power7 o Power8 contamos con una opción en el ASMI para hacer este tipo de ajustes. Recuerden que para entrar en el ASMI tienen que conectarse desde la HMC o con un cable de red desde una PC al puerto de HMC, según sea el caso. Gracias a los ventiladores vectoriales que cambian de velocidad según la temperatura, no corremos riesgo alguno, salvo de incrementar la cuenta con la compañía de electricidad.Si necesitan detalles de cómo hacerlo pueden consultarme por comment o mensaje.
Debemos ir a System Configuration->Power Management->Power Management Mode Setup
Aquí veremos diferentes opciones. Por defecto la administración de energía está desactivada. Las opciones son:
  • Disable Power Saver Mode: no hay ahorro de energía. Trabajamos a la velocidad nominal del equipo
  • Enable Static Power Saver Mode: Ahorramos energía sin variaciones. El procesador baja la velocidad para ahorrar energía
  • Enable Dynamic Power Saver (favor power) mode: El equipo puede aumentar o disminuir la velocidad del procesador para tratar de ahorrar energía
  • Enable Dynamic Power Saver (favor performance) mode: El equipo puede aumentar o disminuir la velocidad del procesador para tratar de mejorar el rendimiento.
  • Enabled Fixed Maximum Frequency mode (en Power8): este valor mantiene el equipo en la frecuencia más alta posible, lo cual mejora el rendimiento.
Si activamos esta última opción podremos lograr que el equipo eleve los ciclos de CPU incluso por arriba de la velocidad nominal, logrando entre un 7% y un 11% adicional de potencia, a costa de consumir más energía eléctrica.
No tengo noticias de que alguien haya tenido problemas por este ajuste y obviamente el equipo está preparado para esto, gracias a sus dispositivos para medir la temperatura del procesador y ventiladores que reducen o aumentan la velocidad de acuerdo a las condiciones.
Espero les sea útil y si tienen dudas pueden dejarme un comentario

Cómo conectarme a un servidor remoto en una red protegida - Versión actualizada

En un artículo anterior describí cómo conectarse a un equipo remoto en una red protegida http://diego-k.blogspot.mx/2014/12/como-conectarme...