
Deployment von NetBox und NetBox-Scanner
Ich nehme an, dass viele von Ihnen heute Ihre Infrastrukturen korrekt und geordnet dokumentiert haben, Brunnen, für den Rest, Ist dieser Beitrag. Wo wir NetBox sehen werden, Für diejenigen, die es nicht wissen, handelt es sich um eine Open-Source-Lösung, die für die Verwaltung von Netzwerkinfrastrukturen und Rechenzentren verwendet wird. Neben der Automatisierung des IPAM-Teils mit NetBox Scanner.
Was ich gesagt habe, en este post veremos cómo desplegar de una manera rápida, On-premise o Self-Hosted, como te guste mejor decirlo 😉 la solución de NetBox. Una solución MUY completa que te permitirá documentar desde un cable, para qué es, a donde va conectado… hasta las funciones que puedan tener tus máquinas; un inventario completo de la parte física de tu infraestructura…
Desplegando NetBox
Empezamos y luego nos metemos un poquito en barro, para desplegarlo rápidamente, wie gewöhnlich, 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’
Dienste: netbox: Häfen: - 8080:8080 container_name: netbox restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: netbox-worker: container_name: netbox-worker restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: netbox-housekeeping: container_name: netbox-housekeeping restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: Postgres: container_name: netbox-postgres restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: redis: container_name: netbox-redis restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: redis-cache: container_name: netbox-redis-cache restart: Es sei denn, Netzwerke werden gestoppt: netbox_default: Netzwerke: netbox_default: Fahrer: Brücke
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 contraseña, así como su dirección de correo electrónico, Laufen:
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 necesidades, no hay que definir todo, pero te da la posibilidad de definir tus bastidores o armarios racks, Geräte (Diener, Schalter, Router, modelos, fabricantes…), gestión de cables, Verbindungen… documentación de redes, VLAN, VRF, gestión de direcciones IP con su IPAM, VPNs, circuitos.. Y un montón de cosas más!
Una cosa que os recomiendo, es que le echéis un vistazo a Dieses Video von Eduardo Taboada und Eduardo Collado, que son unos cracks (y majísimos) en Tecnocrática, es un video donde con todo lujo de detalle repasan la herramienta explicando sus funcionalidades. Ya que será necesario configurarlo mínimamente, cómo tener una organización y, así poder comenzar a trabajar con la parte que más te interese.
Desplegando NetBox-Scanner
Si queremos automatizar la parte de IPAM, esto es que el inventario de nuestras direcciones IP se pueda actualizar de manera automática, dándose de alta nuevas IPs que se descubran… y por tanto evitando que tengamos que dar de alta manualmente cada dirección IP de nuestra organización… Pues para ello podremos usar NetBox-Scanner!
Das Wichtigste, en NetBox tenemos que crear un tag (o etiqueta) llamado ‘nmap’, hierfür, Wir werden “Personalizacion” > “Tags” y creamos uno nuevo.
Losegundo, tenemos que crear un Token de API para permitir el acceso de NetBox-Scanner a NetBox, par ello, Wir werden “Administrator” > “Tokens de API” y le damos a crear un nuevo Token de API, seleccionamos el usuario, copiamos el Token y podremos en la descripción indicarle que es el token de acceso para NetBox Scanner.
Nicht schlecht, ahora sí ha llegado la hora de desplegar NetBox-Scanner, con otro contenedor 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 = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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, mit:
sudo docker compose up -d
Una vez que arranque el contenedor, Wenn wir wollen, podremos escanear inmediatamente, hierfür, tan sólo tendremos que ejecutar un script que trae, indicando como argumento el servidor DNS contra el que queramos que resuelva las direcciones IP, Beispiel:
sudo ./scan.sh --dns 192.168.5.100 Starting Netbox-Scanner.. Unable to find image 'casperklein/netbox-scanner:latest' locally latest: Pulling from casperklein/netbox-scanner 1aca2419c7eb: Pull complete 4f4fb700ef54: Vollständigen Digest abrufen: SHA256:8b4cbd577af9d96b7cd5057d871000e1619b8cc51058e2ea7e42a991292856fc Status: Downloaded newer image for casperklein/netbox-scanner:latest Scan network 192.168.5.0/24 Starting Nmap 7.93 ( https://nmap.org ) Bei 2024-11-25 22:59 UTC Nmap scan report for FORTIGATE.lab.local (192.168.5.1) Host is up (0.00034s latency). Nmap scan report for 192.168.5.6 Host is up (0.00054s latency). Nmap scan report for OS-LAB-01.lab.local (192.168.5.41) Host is up (0.00036s latency). Nmap scan report for remarkable2.lab.local (192.168.5.47) Host is up (0.15s latency). Nmap scan report for sonoff04.lab.local (192.168.5.74) Host is up (0.17s latency). Nmap scan report for telefono-rojo.lab.local (192.168.5.91) Host is up (0.00079s latency). Nmap scan report for OS-ESXi-002.lab.local (192.168.5.92) Host is up (0.0075s latency). Nmap scan report for OS-ESXi-004.lab.local (192.168.5.94) Host is up (0.00018s latency). ...
Y si vamos a NetBox a la zona de IPAM > “IP-Adressen” ya veremos que tenemos añadidas las direcciones IP de los rangos recién escaneados, así como con su resolución DNS correcta.
Para programar las actualizaciones de las direcciones en el IPAM, podremos programar en cron que se ejecute automáticamente el script cada media hora, 1 Stunde, 1 vez al día…
# m h dom mon dow command 0 * * * * /home/lab/docker-netbox-scanner/scan.sh --dns 192.168.5.100
Also…. ¡Pim Pam Toma Lacasitos! Pues hasta aquí por hoy, esto es todo 🥸, espero que os haya resultado interesante y que podáis aplicarlo en vuestras organizaciones para mejorar la gestión diaria, sobre todo con estos temas, tener mínimamente documentado y automatizados estos procesos. Seguiremos con alguna cosita más interesante en otros posts de esta magnifica solución. Wie gewöhnlich, os cuidáis y os portáis bien, lo demás, que sea el destino, os mando un abracito!