Soy un gran fan de python y siempre ando trasteando con alguna librería nueva, en vistas a un script para simplificar mi trabajo, o simplemente como un wekeend project. Me es infinitamente útil usar virtualenv, pero genera una carpeta que ocupa demasiado y contiene algo más que solamente las librerías.
Hoy vamos a presentar un patrón de conectividad para acceder a un conjunto de máquinas, exponiendo solamente una de ellas, y aprovechando el protocolo SSH para pasar el tráfico a través, de forma transparente. Eso facilita los casos en los que no podemos tener una VPN o una red dedicada.
Una de las operaciones más rutinarias que podemos tener como administradores de sistemas Linux es la actualización de un servidor. Mecánicamente lanzas apt-get upgrade y te quedas tan tranquilo con la tarea completa. Poco después te encuentras con alguien cabreado porque alguna librería o servicio no va adecuadamente como antes.
¿Alguna vez habéis querido mirar en fichero .tar.gz, pero sin tener que descomprimirlo? Tal vez te gustaría extraer solo unos pocos ficheros; puede que lo que te interese es trabajar con una carpeta a la que le modificamos los archivos, sin tener que archivar esta carpeta cada cierto tiempo.
No siempre tenemos acceso a nuestro terminal SSH favorito para acceder a nuestros entornos en caso de emergencia. De hecho, en muchas redes suelen prohibir el tráfico por otros puertos ajenos a la navegación web. Para estos casos podemos tener un terminal SSH a través de una página web propia.
No suelen haber errores de conexión en los entornos que administro; sin embargo, alguna vez los hay. Esto supone un marrón, porque la red es ese elemento que escapa a mi gestión; la gente que se dedica a eso suele negar estos problemas argumentando cualquier excusa. Para eso está tcpdump.
Tenemos en el trabajo uno de esos enginjerks que lanzan acciones random para justificar su trabajo. Cortó el acceso a Dropbox, en donde tengo cosas útiles para mi trabajo. Harto de encender los datos móviles de mi móvil para ir sincronizando ficheros, me he montado un proxy SOCKS para mí.
Los gurús del terminal ya conocemos muchas de las virtudes de bash. Sin embargo, es una utilidad muy grande y no es raro que cada vez que busquemos encontremos cosas nuevas. Esta vez, y casi por curiosidad, encontré una variable llamada PROMPT_COMMAND, que aunque no es conocida, es muy útil.
A veces tenemos la necesidad de exponer en internet algún puerto TCP de forma temporal, para hacer testing o alguna demo. Ya vimos como podemos hacer esto mediante túneles SSH reversos, aunque no siempre disponemos de un dominio público. En estos casos podemos usar un sistema de túneles llamado ngrok.
Vimos en un artículo anterior como trabajar con herramientas para agregar los logs en un mismo servidor, para su consulta. Algunos formatos de logs necesitan complejas formas de parseado para que puedan servir de base para nuestra consulta, y en el caso de logstash nos conviene un formato JSON válido.