Esta publicación trata sobre la configuración de la red, el sistema y el servidor de documentación del centro de datos.
La gestión de la documentación de su infraestructura no es un trabajo fácil. Una aplicación está diseñada para mantener el 80% de la documentación de la infraestructura llamada NET BOX. Siendo un tipo de System Network, siempre me pregunté acerca de una aplicación/servidor que pudiera administrar la documentación de mi infraestructura. Déjame contarte más sobre esta aplicación.
¿Qué es NETBOX?
Esta aplicación documenta principalmente módulos de centros de datos de red, por ejemplo, bastidores, administración de servidores y fuentes de alimentación. Es una aplicación de código abierto desarrollada específicamente para abordar la necesidad de documentar la infraestructura. Esto facilitó la búsqueda e interacción con los dispositivos, bastidores y sitios en una inmensa infraestructura. Puede ver información completa sobre dispositivos, enlaces, fuentes de alimentación y otra información. Abarca los siguientes aspectos de la gestión de red.
- Administración de direcciones IP (IPAM) :redes y direcciones IP, VRF y VLAN.
- Bastidores de equipos :Organizado por grupo y sitio.
- Dispositivos :servidores, enrutadores, conmutadores y otros dispositivos de red del sistema
- Recursos de energía y cálculos.
- Conexiones :vínculos detallados y conexiones entre dispositivos.
- Virtualización :Máquinas virtuales y clústeres
- Circuitos de datos :Circuitos de comunicación de larga distancia y proveedores.
Netbox no cubre las siguientes funciones/servicios
- Supervisión de red
- servidor DNS
- servidor RADIUS
- Gestión de configuración
- Gestión de instalaciones
Pila de aplicaciones
NetBox se basa en el marco Django Python y utiliza una base de datos PostgreSQL. Se ejecuta como un servicio WSGI detrás de su elección de servidor HTTP.
Función | Componente |
Servicio HTTP | nginx o Apache |
Servicio WSGI | gunicornio o uWSGI |
Solicitud | Django/Python |
Base de datos | PostgreSQL 10+ |
Cola de tareas | Redis/Django-rq |
Acceso a dispositivos en vivo | NAPALM (opcional) |
Requisitos
- Ubuntu 20.04
- PostgresSQL | Versión 10+
- Redis | Versión 4.0 +
- Pitón | versión 3.7 +
Pasos para instalar NETBOX
Paso 1:preparar y actualizar la máquina
Actualizar el sistema operativo
sudo apt-get update
Instalar PostgreSQL
sudo apt install -y postgresql
Inicie PostgreSQL y habilite
systemctl start postgresql
systemctl enable postgresql
verifique la versión ejecutando el siguiente comando
psql -V
Crear base de datos, usuario, establecer privilegios de usuario en la base de datos
iniciar sesión en la terminal de base de datos
sudo -u postgres psql
pase el siguiente comando en la terminal para crear DB y usuario
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'netbox123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Paso 2:Instale el servidor Redis
apt install -y redis-server
verifique el servicio de Redis usando el siguiente comando.
redis-cli ping
Paso 3:Instalar NETBOX
Crear un directorio para netbox
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
Instala git para clonar el repositorio GitHub de netbox
apt install -y git
sudo git clone -b maestro –profundidad 1 https://github.com/netbox-community/netbox.git .
Crear el usuario del sistema NetBox
Cree una cuenta de usuario del sistema llamada netbox
. Configuraremos los servicios WSGI y HTTP para que se ejecuten en esta cuenta. También asignaremos a este usuario la propiedad del directorio multimedia. Esto asegura que NetBox podrá guardar los archivos cargados.
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/
Vaya al directorio de configuración de NetBox y haga una copia de configuration.example.py
llamado configuration.py
. Este archivo contendrá todos sus parámetros de configuración locales.
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
configure los parámetros de PostgreSQL, Redis, clave secreta y hosts permitidos en el archivo configuration.py
ejecuta el siguiente comando para configurar los servicios
sudo apt install python3.8-venv
sudo /opt/netbox/upgrade.sh
sudo PYTHON=/usr/bin/python3.7 /opt/netbox/upgrade.sh
Crear un superusuario
NetBox no viene con ninguna cuenta de usuario predefinida. Deberá crear un superusuario (cuenta administrativa) para poder iniciar sesión en NetBox. Primero, ingrese al entorno virtual de Python creado por el script de actualización:
Comandos
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox python3 manage.py createsuperuser
usuario:caja de red
contraseña:netbox@123 (usar su contraseña)
Programar la tarea de limpieza
NetBox incluye un housekeeping
El comando de administración maneja tareas de limpieza recurrentes, como borrar sesiones antiguas y registros de cambios vencidos. Aunque este comando puede ejecutarse manualmente, se recomienda configurar un trabajo programado utilizando el cron
del sistema. daemon o una utilidad similar.
Se incluye un script de shell que invoca este comando en contrib/netbox-housekeeping.sh. Puede copiarse o vincularse desde el directorio de tareas cron diarias de su sistema o incluirse directamente en el crontab. (Si instala NetBox en una ruta no estándar, actualice primero las rutas del sistema dentro de este script).
ejecuta el siguiente comando
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Probar la aplicación
Ejecute el siguiente comando
python3 manage.py runserver 0.0.0.0:8000 --insecure
allow port in firewall
Ejecute el siguiente comando
ufw allow 8000/tcp
ufw reload
Acceda al panel de control
http://your server IP:8000
iniciar sesión
configure sus sitios y agregue sus dispositivos y otros detalles de acuerdo con su configuración
Hoy recibiste la publicación Configuración de la red, el sistema y el servidor de documentación del centro de datos.