NetBox és una eina de codi obert que serveix per administrar xarxes informàtiques. Està escrita amb el framework Django Python.
Amb Netbox pots monitorar i administrar adreces IP, bastidors, dispositius, xarxes, consoles, connexions de xarxa, màquines virtuals, clústers i secrets des de la interfície web.
En aquest tutorial t'expliquem com instal·lar i configurar NetBox a Debian 10.
Requisits
• Un servidor amb Debian 10 en funcionament.
• Una contrasenya de root establerta al teu servidor.
• Una IP estàtica 192.168.0.2 configurada al teu servidor.
Instal·la les dependències requerides
Abans de començar, hauràs d'instal·lar algunes de les dependències requerides per Netbox. Pots instal·lar-les amb l'ordre següent:
# apt-get install -y nginx git gcc supervisor python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-devDesprés d'instal·lar totes les dependències, pots procedir a instal·lar el servidor PostgreSQL.
Instal·la i configura PostgreSQL
NetBox utilitza PostgreSQL per emmagatzemar les seves dades. Per tant, hauràs d'instal·lar-lo al teu servidor. Pots fer-ho executant l'ordre següent:
# apt-get install postgresql postgresql-contrib -yUn cop instal·lat, entra a l'intèrpret d'ordres de PostgreSQL i crea una base de dades i un usuari per a Netbox:
su - postgres
postgres@debian:~$ psql
postgres=# CREATE DATABASE netboxdb;
postgres=# CREATE USER netboxuser WITH PASSWORD 'password';Després, concedeix tots els privilegis a la base de dades de NetBox i surt de PostgreSQL amb l'ordre següent:
postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
postgres=# exitInstal·la i configura NetBox
Primer, hauràs de descarregar l'última versió de NetBox del repositori de Git.
# cd /opt/
# git clone -b master https://github.com/digitalocean/netbox.git
Un cop descarregat, canvia el directori a Netbox i genera la clau SECRETA de Django amb l'ordre següent:
# cd /opt/netbox/netbox/
# python3 ./generate_secret_key.pyHauries de veure el resultat següent:
YS-&Jt%X6LOkDMhw8IKxpbe(NEjBT5nyUiGF1c0v_u4)saHR29Després, canvia el directori a Netbox i canvia el nom del fitxer d'exemple de configuració:
# cd netbox
# mv configuration.example.py configuration.pyA continuació, obre el fitxer de configuració de Netbox i defineix els detalls de la base de dades:
# nano configuration.pyCanvia les línies següents:
# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['192.168.0.2']
# Configuració de la base de dades PostgreSQL.
DATABASES = {
'NAME': 'netboxdb', # Nom de la base de dades
'USER': 'netboxuser', # Nom d'usuari de PostgreSQL
'PASSWORD': 'password', # Contrasenya de PostgreSQL
'HOST': 'localhost', # Servidor de la base de dades
'PORT': '', # Port de la base de dades (deixa'l en blanc per utilitzar el valor per defecte)
}
SECRET_KEY = 'YS-&Jt%X6LOkDMhw8IKxpbe(NEjBT5nyUiGF1c0v_u4)saHR29'Desa i tanca el fitxer quan hagis acabat. Aleshores, instal·la totes les dependències requerides per NetBox amb l'ordre següent:
# pip3 install -r /opt/netbox/requirements.txtDesprés, migra la base de dades amb l'ordre següent:
# cd /opt/netbox/netbox/
# python3 manage.py migrateDesprés, crea un usuari administrador per a NetBox amb l'ordre següent:
# python3 manage.py createsuperuserProporciona el nom d'usuari i la contrasenya que vulguis per crear un usuari administrador tal com es mostra més avall:
Username (leave blank to use 'root'): netboxuser
Email address: admin@clouding.io
Password:
Password (again):
Superuser created successfully.Després, carrega les dades inicials i mou el fitxer estàtic amb l'ordre següent:
# python3 manage.py collectstatic
# python3 manage.py loaddata initial_dataInstal·la i configura Gunicorn i Supervisor
Primer, instal·la Gunicorn utilitzant l'ordre següent:
# pip3 install gunicornUn cop instal·lat, crea un fitxer de configuració nou per a NetBox:
# nano /opt/netbox/gunicorn_config.pyHi afegirem el codi:
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'Desa i tanca el fitxer. Després crea un fitxer de configuració de Supervisor per gestionar el servei NetBox:
# nano /etc/supervisor/conf.d/netbox.confAfegeix les línies següents:
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-dataDesa el fitxer. Després, reinicia el servei Supervisor amb l'ordre següent:
# systemctl restart supervisorDesprés, habilita el servei Supervisor perquè s'iniciï en arrencar amb l'ordre següent:
# systemctl enable supervisorConfigura Nginx com a servidor intermediari invers per a NetBox
NetBox ja està configurat i actiu al port 8001. Ara hauràs de configurar Nginx com a servidor intermediari invers per passar les peticions que arribin del port 80 al 8001.
Per aconseguir-ho, crea un fitxer d'amfitrió virtual de Nginx amb l'ordre següent:
# nano /etc/nginx/sites-available/netbox.confAfegeix les línies següents:
server {
listen 80;
server_name 192.168.0.2;
client_max_body_size 25m;
location /static/ {
alias /opt/netbox/netbox/static/;
}
location / {
proxy_pass http://192.168.0.2:8001;
}
}Desa el fitxer. Després comprova si hi ha cap error de sintaxi a Nginx amb l'ordre següent:
# nginx -tDesprés habilita el fitxer d'amfitrió virtual de Nginx amb l'ordre següent:
# ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/Després, reinicia Nginx per aplicar tots els canvis de configuració:
# systemctl restart nginxAccedeix a la interfície web de NetBox
Ara, obre el navegador i visita l'URL http://192.168.0.2. Se't redirigirà a la pàgina següent:
Fes clic al botó de “Login”. Hauries de veure la pàgina d'inici de sessió de NetBox:
Proporciona el teu nom d'usuari administrador i la contrasenya de Netbox i, a continuació, fes clic al botó de Login. Hauries de veure la pàgina següent:
Enhorabona! Ja tens NetBox instal·lat i a punt per fer-lo servir 🙂