Desplegant NetBox i NetBox-Scanner
Suposo que molts a dia d'avui teniu documentades les vostres infraestructures d'una manera correcta i ordenada, doncs bé, per a la resta, és aquest post. On veurem NetBox, que per al que no el conegui és una solució open source utilitzada per a la gestió d'infraestructura de xarxes i centres de dades. Així com automatitzarem la part IPAM amb NetBox Scanner.
El que s'ha dit, en este post veremos cómo desplegar d'una manera ràpida, On-premise o Self-Hosted, com et gusta millor dir la 😉 solució de NetBox. Una solució MOLT completa que et permetrà documentar des d'un cable, para què es, a on va connectat… fins a les funcions que puguin tenir les teves màquines; un inventari complet de la part física de la teva infraestructura…
Desplegando NetBox
Empezamos i després ens metemos un poquito en barro, para desplegarlo rápidamente, com sempre, nos basaremos en contenedores de Docker que desplegaremos en un periquete, necesitaremos por tanto tener Docker y Docker Compose instalados previamente. Nos descargamos del repositorio NetBox Community:
git clone -b release https://github.com/netbox-community/netbox-docker.git cd netbox-docker
Creamos el fichero 'docker-compose.override.yml’
services:
netbox:
ports:
- 8080:8080
container_name: netbox
restart: unless-stopped networks:
netbox_default:
netbox-worker:
container_name: netbox-worker
restart: unless-stopped networks:
netbox_default:
netbox-housekeeping:
container_name: netbox-housekeeping
restart: unless-stopped networks:
netbox_default:
postgres:
container_name: netbox-postgres
restart: unless-stopped networks:
netbox_default:
redis:
container_name: netbox-redis
restart: unless-stopped networks:
netbox_default:
redis-cache:
container_name: netbox-redis-cache
restart: unless-stopped networks:
netbox_default:
networks:
netbox_default:
driver: bridge
Y desplegamos los contenedores, se descargarán y se arrancarán automáticamente, ejecutamos pues:
sudo docker compose up -d
Crearemos un usuario nuevo para administrar NetBox, nos solicitará que demos de alta un username y su password, así como su dirección de correo electrónico, executem:
sudo docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
Accedemos con un navegador, mediante HTTP y al puerto que indicamos, que por defecto es el 8080tcp. Nos logueamos con el usuario recién creado.
Y aquí tenemos el monstruo de NetBox, , veis que es MUY MUY completo, podràs alimentarlo en base a tus necessitats, no hay que definir todo, però tu da la possibilitat de definir tus bastidores o armarios racks, dispositius (servidors, switches, routers, modelos, fabricantes…), gestión de cables, conexiones… documentación de redes, VLAN, VRF, gestión de direcciones IP con su IPAM, VPNs, circuitos.. Y un montón de coses más!
Una cosa que os recomiendo, es que le echéis un vistazo a este video de Eduardo Taboada y Eduardo Collado, que son unos cracks (y majísimos) en Tecnocrática, es un video on amb tot lujo de detalle repasan la eina explicando les seves funcionalitats. Ya que serà necessari configurarlo mínimamente, com tenir una organització i, així poder començar a treballar amb la part que més interessat.
Desplegando NetBox-Scanner
Si volem automatitzar la part de l'IPAM, això és que l'inventari de les nostres direccions IP se pugui actualitzar de manera automàtica, dándose de alta noves IPs que es descobreixen… i per tant evitando que tengamos que dar d'alta manualment cada direcció IP de la nostra organització… Pues para ello podremos usar NetBox-Scanner!
El primer, en NetBox hem de crear una etiqueta (o etiqueta) anomenat 'nmap', per a això, anem a “Personalització” > “Tags” i creem un nou.
Losegundo, hem de crear un Token de API per permetre l'accés de NetBox-Scanner a NetBox, par ello, anem a “Admin” > “Tokens de API” i les dades a crear un nou Token de API, seleccionamos el usuario, copiamos el Token i podremos en la descripció indicarle que és el token d'accés per a NetBox Scanner.
Bé, ara sí ha llegado la hora de desplegar NetBox-Scanner, amb un altre contingut de docker!
git clone https://github.com/casperklein/docker-netbox-scanner.git cd docker-netbox-scanner/
Editamos el fichero 'netbox-scanner.conf'indicando la direción de NetBox y el token:
[NETBOX] address = http://DIRECCION_IP_NETBOX:8080 token = xxxxxxxxxxxxx
Creamos el fichero 'networks.txt’ con el contenido de los rangos de direcciones IP a escanear, a los que queremos que tire ping:
192.168.1.0/24 192.168.2.0/24 ...
Y ya podremos arrancar el contenedor como siempre, amb:
sudo docker compose up -d
Una vez que arranque el contenedor, si volem, podremos escanear inmediatamente, per a això, tan sólo tendremos que ejecutar un script que trae, indicando com argumento el servidor DNS contra el que queramos que resuelva las direcciones IP, exemple:
sudo ./scan.sh --dns 192.168.5.100 Inici de Netbox-Scanner.. No es pot trobar la imatge 'casperklein/netbox-scanner:latest' locally latest: S'està extraient de casperklein/netbox-scanner 1aca2419c7eb: Extracció completa 4f4fb700ef54: Extreu el resum complet: sha256:8b4cbd577af9d96b7cd5057d871000e1619b8cc51058e2ea7e42a991292856fc Estat: S'ha descarregat una imatge més recent per a casperklein/netbox-scanner:últim Escanejant la xarxa 192.168.5.0/24 Iniciant Nmap 7.93 ( https://nmap.org ) at 2024-11-25 22:59 UTC Informe d'escaneig Nmap per a FORTIGATE.lab.local (192.168.5.1) L'host està actiu (0.00034s latència). Informe d'escaneig Nmap per a 192.168.5.6 L'host està actiu (0.00054s latència). Informe d'escaneig Nmap per a OS-LAB-01.lab.local (192.168.5.41) L'host està actiu (0.00036s latència). Informe d'escaneig Nmap per a remarkable2.lab.local (192.168.5.47) L'host està actiu (0.15s latència). Informe d'escaneig Nmap per a sonoff04.lab.local (192.168.5.74) L'host està actiu (0.17s latència). Informe d'escaneig Nmap per a telefono-rojo.lab.local (192.168.5.91) L'host està actiu (0.00079s latència). Informe d'escaneig Nmap per a OS-ESXi-002.lab.local (192.168.5.92) L'host està actiu (0.0075s latència). Informe d'escaneig Nmap per a OS-ESXi-004.lab.local (192.168.5.94) L'host està actiu (0.00018s latència). ...
I si anem a NetBox a la zona d'IPAM > “Adreces IP” ja veurem que tenim afegides les adreces IP dels rangs recentment escanejats, així com amb la seva resolució DNS correcta.
Per programar les actualitzacions de les adreces a l'IPAM, podrem programar amb cron que s'executi automàticament l'script cada mitja hora, 1 hora, 1 un cop al dia…
# m h dom mon dow command 0 * * * * /home/lab/docker-netbox-scanner/scan.sh --dns 192.168.5.100
Així que…. ¡Pim Pam Toma Lacasitos! Pues hasta aquí por hoy, esto es todo 🥸 , espero que os haya resultat interessant i que podàis aplicarlo en vuestras organizaciones para millorar la gestió diària, sobre todo con estos temas, tener mínimamente documentado i automatitzats aquests processos. Seguiremos amb alguna cosa més interessant en altres llocs d'aquesta magnífica solució. Com sempre, os cuidáis y os portáis bien, la resta, que sea el destino, os mando un abracito!













































