viernes, mayo 05, 2023

API de Geo IP en Python

import pandas as pd
import requests

#IPs a revisar

ips = ["54.86.50.139","191.113.136.20"]

#Consulta a ip-api y la salida se  guarda en Pandas

response = requests.post("http://ip-api.com/batch", json=ips).json()    response = pd.DataFrame(response)

#Imprimimos la salida

print(response)

#y tambien la guardamos en CSV

response.to_csv('IPS.csv')

domingo, marzo 19, 2023

Implementar GLPI en Docker

 Asumiendo que ya tienes docker-compose instalado, el archivo compose es el siguiente:


version: '3'

services:
  db:
    image: mariadb:10.5
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: glpidb
      MYSQL_USER: glpi
      MYSQL_PASSWORD: example
    volumes:
      - db-data:/var/lib/mysql

  glpi:
    image: glpi/glpi:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      GLPI_DB_HOST: db
      GLPI_DB_NAME: glpidb
      GLPI_DB_USER: glpi
      GLPI_DB_PASSWORD: example
    volumes:
      - glpi-data:/var/www/html/glpi

volumes:
  db-data:
  glpi-data:


Este archivo de Docker Compose crea dos servicios: uno para la base de datos y otro para GLPI. El servicio de la base de datos utiliza la imagen de MariaDB y define las variables de entorno necesarias para crear la base de datos y el usuario.

El servicio GLPI utiliza la imagen oficial de GLPI y expone el puerto 8080 en el host para acceder a la aplicación. Además, utiliza las variables de entorno definidas para conectarse a la base de datos y monta un volumen para almacenar los datos persistentes de GLPI.

Para ejecutar este archivo de Docker Compose, asegúrate de tener Docker y Docker Compose instalados y luego ejecuta el siguiente comando en el directorio donde se encuentra el archivo docker-compose.yml:

 

docker-compose up -d

 

 Esto iniciará los servicios en segundo plano. Puedes acceder a GLPI en tu navegador web en http://localhost:8080

 

sábado, marzo 18, 2023

Spanning Tree

 

¿Qué es Spanning Tree?

Spanning Tree es un protocolo de red que se utiliza para evitar la formación de bucles de red en topologías de red redundantes. La redundancia es importante en las redes, ya que proporciona tolerancia a fallos y aumenta la disponibilidad de la red. Sin embargo, la redundancia también puede causar problemas, como la formación de bucles de red que pueden afectar negativamente al rendimiento de la red. Spanning Tree es una solución para estos problemas de bucles de red.

¿Cómo funciona Spanning Tree?

Spanning Tree se basa en un algoritmo que selecciona un camino principal entre los dispositivos de red, y bloquea todos los demás caminos redundantes. Este camino principal se llama "árbol de expansión". El algoritmo de Spanning Tree selecciona el camino principal en función de una serie de factores, como la velocidad de la conexión y la distancia. Una vez que se ha seleccionado el camino principal, todos los demás caminos redundantes se bloquean, lo que impide la formación de bucles de red.

Para seleccionar el camino principal y bloquear los caminos redundantes, Spanning Tree utiliza varios mensajes de control de red. Estos mensajes se envían entre los dispositivos de red y se utilizan para detectar y eliminar bucles de red. El algoritmo de Spanning Tree utiliza estos mensajes para construir un árbol de expansión que cubre toda la topología de la red. Una vez que se ha construido el árbol de expansión, se utilizan los mensajes de control para bloquear los caminos redundantes.

¿Por qué es importante Spanning Tree?

Spanning Tree es importante porque evita la formación de bucles de red en topologías de red redundantes. Los bucles de red pueden afectar negativamente al rendimiento de la red, lo que puede causar problemas en el funcionamiento de la red. Spanning Tree asegura que haya un camino principal claro en la red, lo que garantiza que los paquetes de red se transmitan de forma eficiente y segura.

Además, Spanning Tree también proporciona tolerancia a fallos en la red. Si un enlace de red falla, Spanning Tree automáticamente selecciona un nuevo camino principal y desbloquea los caminos redundantes necesarios para garantizar que la red siga funcionando correctamente. Esto significa que si un enlace de red falla, la red puede seguir funcionando sin interrupciones.

En resumen, Spanning Tree es un protocolo de red que evita la formación de bucles de red en topologías de red redundantes. Utiliza un algoritmo que selecciona un camino principal entre los dispositivos de red y bloquea todos los demás caminos redundantes. Spanning Tree es importante porque asegura que haya un camino claro en la red y proporciona tolerancia a fallos.

 

Configuracion basica en Cisco

 

Switch(config)# spanning-tree mode rapid-pvst
Switch(config)# spanning-tree vlan 1-1000 priority 4096
Switch(config)# spanning-tree portfast default
 

 

La primera línea configura el modo de Spanning Tree como "rapid-pvst". Este es un modo de Spanning Tree rápido  por VLAN.

La segunda línea establece la prioridad de Spanning Tree para las VLAN del 1 al 1000 en 4096. Esta es una prioridad baja, lo que significa que este switch  será el puente raíz para esas VLAN, a menos que no haya ningún otro switch con una prioridad aún más baja.

La tercera línea configura el modo "portfast" por defecto en todos los puertos del switch. "Portfast" es una característica que permite que los puertos del switch se conviertan rápidamente en puertos de acceso y eviten los tiempos de espera de Spanning Tree al conectar un dispositivo final a un puerto. Es importante tener en cuenta que no se debe habilitar "portfast" en puertos que se conectan a otros switches o dispositivos que puedan generar bucles en la red.

Es importante tener en cuenta que esta es solo una configuración básica de Spanning Tree y que hay muchas opciones y características adicionales que se pueden configurar para ajustar el comportamiento de Spanning Tree en una red. Se recomienda consultar la documentación de Cisco y trabajar con un profesional de red experimentado para diseñar y configurar una red de Spanning Tree adecuada para sus necesidades.

domingo, marzo 12, 2023

Servidor web simple para compartir archivos

 Muchas veces necesitamos compartir archivos en dispositivos en la red de manera rapida por http, ejemplo al querer actualizar un dispositivo como telefono o switch. La manera mas rapida, si ya tiene Python, utilizar el siguiente comando:


python3 -m http.server 8080


Con esto ya estaras compartiendo el directorio donde estas ubicado al momento de ejecutar este comando.

martes, noviembre 01, 2022

Crear ISO de Vyos

 Para crear una ISO de Vyos se dben seguir los siguientes pasos:


Descargar contenedor

Debemos descargar el siguiente contenedor para la version 1.3 de Vyos:

docker pull vyos/vyos-build:equuleus   # For VyOS 1.3

Clonar repositorio

Debemos bajar el siguiente respositorio

git clone -b equuleus --single-branch https://github.com/vyos/vyos-build


Crear contenedor y compilar

Debebos crear el contenedor, ingresar al el y ejecutar la compilacion:

cd vyos-build
docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
#dentro del contenedor ejecutat la compilacion
vyos_bld@d4220bb519a0:/vyos# ./configure --architecture amd64 --build-by "cabildo@gmail.com"
vyos_bld@d4220bb519a0:/vyos# sudo make iso

Ya esta creada la imagen

mas informacion Aqui