NetBox と NetBox-Scanner のデプロイ

今日、皆さんの多くが、インフラストラクチャを正しく整然とした方法で文書化していると思います, まぁ, あとは, この投稿は. NetBoxが表示される場所, 知らない人のために説明すると、これはネットワークインフラストラクチャとデータセンターの管理に使用されるオープンソースソリューションです. NetBox ScannerによるIPAM部分の自動化だけでなく.

私が言ったこと, 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 conectadohasta 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, いつも通り, 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

サービス:
  netbox:
    ポート:
      - 8080:8080
    container_name: netbox
    restart: ネットワークが停止しない限り:
      netbox_default:
  netbox-worker:
    container_name: netbox-worker
    restart: ネットワークが停止しない限り:
      netbox_default:
  netbox-housekeeping:
    container_name: netbox-housekeeping
    restart: ネットワークが停止しない限り:
      netbox_default:
  ポストグレス:
    container_name: netbox-postgres
    restart: ネットワークが停止しない限り:
      netbox_default:
  redis:
    container_name: netbox-redis
    restart: ネットワークが停止しない限り:
      netbox_default:
  redis-cache:
    container_name: netbox-redis-cache
    restart: ネットワークが停止しない限り:
      netbox_default:
ネットワーク:
  netbox_default:
    運転手: 橋

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, 走る:

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, デバイス (サーバー, スイッチ, ルーター, modelos, メーカー…), gestión de cables, conexionesdocumentación de redes, VLAN, VRF, gestión de direcciones IP con su IPAM, VPNについて, circuitos.. Y un montón de cosas más!

Una cosa que os recomiendo, es que le echéis un vistazo a このビデオEduardo Taboada そして 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 descubrany por tanto evitando que tengamos que dar de alta manualmente cada dirección IP de nuestra organizaciónPues para ello podremos usar NetBox-Scanner!

はじめに, en NetBox tenemos que crear un tag (o etiqueta) llamado ‘nmap’, こちらは, 私たちは、 “Personalizacion” > “Tagsy creamos uno nuevo.

Losegundo, tenemos que crear un Token de API para permitir el acceso de NetBox-Scanner a NetBox, par ello, 私たちは、 “管理者” > “Tokens de APIy 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.

悪くありません, 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.txtcon 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, で:

sudo docker compose up -d

Una vez que arranque el contenedor, 私たちが望むなら, podremos escanear inmediatamente, こちらは, 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, 例:

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: 完全なダイジェストをプルする: 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 ) で 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アドレス” 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 時, 1 vez al día

# m h  dom mon dow   command
0 * * * * /home/lab/docker-netbox-scanner/scan.sh --dns 192.168.5.100

だから…. ¡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. いつも通り, os cuidáis y os portáis bien, 休む, que sea el destino, os mando un abracito!

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!