etbox ist ein Tool zur Modellierung von Infrastrukturressourcen (IRM), das die Netzwerkautomatisierung unterstützt und von vielen Unternehmen auf der ganzen Welt genutzt wird. NetBox
wurde ursprünglich vom Netzwerk-Engineering-Team bei DigitalOcean konzipiert und speziell für die Bedürfnisse von Netzwerk- und Infrastrukturingenieuren entwickelt. Es soll als domänenspezifische Quelle der Wahrheit für den Netzwerkbetrieb dienen.
Systemvoraussetzungen installieren
Postgresql
sudo apt update
sudo apt install -y postgresql
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo -u postgres psql
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'dein-passwort';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Verlasse den Bereich mit Q Exit
psql --username netbox --password --host localhost netbox
Verlasse den Bereich mit Q Exit
Redis
sudo apt install -y redis-server
redis-cli
Netbox
sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev
sudo pip3 install --upgrade pip
Weitere Informationen findest Du auf Github:
https://github.com/netbox-community/netbox/releases
Repository herunterladen
sudo wget https://github.com/netbox-community/netbox/archive/vX.Y.Z.tar.gz
sudo tar -xzf vX.Y.Z.tar.gz -C /opt
sudo ln -s /opt/netbox-X.Y.Z/ /opt/netbox
User anlegen und Rechte setzen
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/
Konfiguration
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
ALLOWED_HOSTS = [’netbox.example.com‘, ‚192.0.2.123‘]
DATABASE = { ‚NAME‘: ’netbox‘, # Database name ‚USER‘: ’netbox‘, # PostgreSQL username ‚PASSWORD‘: ‚dein-passwort‘, # PostgreSQL password ‚HOST‘: ‚localhost‘, # Database server ‚PORT‘: “, # Database port (leave blank for default) ‚CONN_MAX_AGE‘: 300, # Max database connection age (seconds) }
Folge den einzelnen Konfigurationsschritten in der Konsole.
Gunicorn
sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/ sudo systemctl daemon-reload
sudo systemctl start netbox netbox-rq sudo systemctl enable netbox netbox-rq
Servicestatus überprüfen
systemctl status netbox.service
Nginx
sudo apt install -y nginx
sudo cp /opt/netbox/contrib/nginx.conf /etc/nginx/sites-available/netbox
sudo rm /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/netbox /etc/nginx/sites-enabled/netbox
Nginx Webserver neu starten
sudo systemctl restart nginx
Konfigurationsdatei netbox.conf
anpassen
nano /etc/nginx/sites-available/netbox
server_name: Deine IP-Adresse der NetBox-Installation (Server)
server { listen 80; server_name 192.168.178.184; proxy_set_header X-Forwarded-For $remote_addr; client_max_body_size 25m; location / { proxy_pass http://127.0.0.1:8001; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; } location /static/ { alias /opt/netbox/netbox/static/; } }
Nginx Webserver neustarten
sudo systemctl restart nginx
Browseraufruf: http://IP-Adresse 😉
Weitere Informationen zu NetBox
findest Du in der Dokumentation:
https://netbox.readthedocs.io/en/stable/