Netbox – Netzwerk Dokumentation in einfach


Was Netbox ist und was es kann


Netbox ist ein Dokumentationstool für Netzwerke, welches auf Browserbasis läuft. Neben der Verwaltung von Regionen bietet Netbox auch die Möglichkeit eines IP Address Managments (IPAM), Rack Verwaltung und Visualisierung von Netzwerken.

Außerdem bietet Netbox die Möglichkeit, Cluster und Virtuelle Maschienen zu verwalten sowie genau anzugeben, welcher Server mit welchem Switch über welches Kabel und dessen Typen diese Miteinander verbunden ist und welcher Powerfeed genutzt wird, um einen Überblick über seine Infrastruktur zu behalten.

Das und viel mehr bietet Netbox. Eine von der Community bereitgestellte Demo, welche aber manchmal leider nicht erreichbar ist, ist unter folgender Adresse mit folgenden Daten zu erreichen:

URL: https://netboxdemo.com
Username: netbox
Password: netbox


Installation in Docker


Die folgende Anleitung benötigt Root-Rechte. Das in dieser Anleitung verwendete Betriebssystem ist Ubuntu 21.04. Die Installation von Docker kann sich je nach Distribution Unterscheiden.

Die Installation von Netbox in Docker ist recht Simpel. Im ersten Schritt updaten wir unser System und die Paketdatenbank. Hierzu nutzen wir folgende Befehle:

apt update
apt full-upgrade -y 

Im nächsten Schritt installieren wir Docker sowie die dazugehörenden Registries und Tools. Außerdem installieren wir Git, um die Vorkonfigurierte Docker-Version von Netbox zu laden. Dazu nutzen wir folgendem Befehl:

apt install docker docker-compose docker.io

Nachdem die beiden Vorhergehenden Schritte erfolgreich ausgeführt wurden, können wir nun mit der Installation von Netbox fortfahren. Dazu werfen wir mal einen Blick auf die Readme.md der Github Repository netbox-community/netbox-docker

Dort findet sich, wenn wir etwas weiter nach unten Scrollen, den Punkt Quickstart, welcher alle wichtigen Informationen zum Start mit Netbox für Docker beinhaltet. Wir ziehen uns aber nur folgenden Bereich aus dem Quickstart und fügen diesen in die Konsole ein, danach drücken wir die Eingabetaste.

git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
tee docker-compose.override.yml <<EOF
version: '3.4'
services:
  netbox:
    ports:
      - 8000:8080
EOF
docker-compose pull
docker-compose up

Der Server zieht sich nun aus der docker.io Registry, den Container netboxcommunity/netbox, entpackt dieses und führt uns diesen direkt aus. Das herunterladen des Containers kann je nach Internetanbindung eine Weile dauern, ebenso der Start des Containers, welche von der Rechenleistung des Host-Systems abhängig ist.

Sobald der Container erfolgreich Online ist, stoppen wir diesen mit der Tastenkombination CTRL+C wieder, um diesen jetzt im Hintergrund starten zu lassen. Dazu führen wir folgenden Befehl aus:

docker-compose up -d

Dieser Befehl startet den Container zwar wie vorher auch, nur dass wir den Parameter -d übergeben, welcher nichts anderes bedeutet als „Detached“, sprich man bekommt den Log-Output ausgegeben, sollte man diesen mit folgendem Befehl anfordern:

docker logs netbox-docker_netbox_1

Sollten mehrere Instanzen bei euch laufen, kann es sein, dass ihr die hintere Zahl dementsprechend anpassen müsst. Da wir hier aber von einem frischen System ausgehen, sollte das nicht der Fall sein.


Die erste Nutzung


Nachdem wir nun die Installation von Netbox (hoffentlich) erfolgreich abgeschlossen haben, können wir im Browser fortfahren. Dazu rufen wir folgende Adresse auf: http://<netbox-ip>:8000 Dort werden wir dann mit folgender Oberfläche begrüßt:

Aktuell ist noch alles gesperrt, da wir noch nicht Angemeldet sind. Das lässt sich aber ganz einfach ändern. Klicken wir dazu oben Rechts auf den Log In Knopf und melden uns mit den Zugangsdaten an, welche man ebenfalls im Github Repository finden kann an:

  • Username: admin
  • Password: admin
  • API Token: 0123456789abcdef0123456789abcdef01234567

Nach der Anmeldung sieht das ganze dann in etwa so aus. Warum in etwa? Weil ich das schon vorher getestet habe und da noch Logs vom testen sind:

Nun, fangen wir doch mal an mit der Konfiguration einer „Site“. Dazu klicken wir auf dem Dashboard auf den Link „Sites“ und klicken dann oben Rechts auf den dunkelblauen Knopf „Add“. Dort können wir nun einen Namen angeben, wie ich in meinem Beispiel den Namen „Zuhause“ angebe und dann ganz unten auf den Knopf „Create“ klicke. Die anderen Felder lasse ich in diesem Beispiel mal leer. Solltet ihre mehrere Standorte anlegen wollen, könnt ihr das auch machen, indem ihr einfach auf „Create and Add Another“ klickt.

Nachdem wir nun eine Site erstellt haben, können wir mit der Erstellung eines Standorts innerhalb der Site fortfahren. Dafür klicken wir diesmal auf der Startseite den Link „Locations“ an und klicken dann oben Rechts wieder auf den Dunkelblauen Knopf „Add“.

Hier wählen wir nun die zuvor angelegte Site aus und geben den Namen des Standortes an. Da ich zum Zeitpunkt an dem ich das ganze hier schreibe irgendwie das Bedürfnis habe, etwas zu trinken und der Standort allgemein Kühl ist nehme ich hierfür einfach mal den Namen „Lagerraum“. Ihr könnt natürlich Kreativer sein und sowas wie „Serverraum A“ oder so verwenden.

Nachdem ihr also alles notwendige angegeben habt, klicken wir hier wieder auf „Create“. Wie vorher gilt, wenn ihr weitere Standort in einer Region hinzufügen wollt, könnt ihr auch hier „Create and Add Another“ verwenden.

Ja da steht Toilette. Lebt damit.

Damit haben wir schon die erste Region und einen Standort innerhalb dieser angelegt, was schon eine gute Basis für die Netzwerk Dokumentation ist. Da es hier jedoch nur um die ersten Schritte geht, lasse ich euch ab diesem Punkt mal alleine mit Netbox rumspielen. Das Prinzip der Erstellung ist immer das selbe.


Epilog


Netbox ist von der Einrichtung eines Basis-Systems her recht simpel, jedoch ergibt sich viel Vorarbeit, um ein System ordentlich nutzen zu können. So muss man bei jedem neuen Produkt, welches man in sein System integrieren will einen neuen Gerätetypen anlegen. Daher sollte man bei der Nutzung von Netbox möglichst auf Gleiche Hardware setzen, um sich Arbeit zu sparen. Sollte man doch trotzdem unterschiedliche Geräte haben, sind neue Gerätetypen auch sehr simpel und schnell eingerichtet.

Netbox ist für kleine sowie große Infrastrukturen eine gute Anwendung, da man durch die Browseroberfläche immer Zugriff auf die Strukturen hat und auch schnell etwas geändert ist, sollte man ein Kabel oder Server entfernen.

All in All kann ich sagen, dass netbox ein wirklich tolles Projekt ist, welches man auch gut und gerne in seinem Homelab verwenden kann, auch wenn es nur eine kleine Erweiterung sein mag.

Standardbild
Robin

Interessiert irgendwie alles, was die Welt nich braucht. Humorlos ohne Ende.

Artikel: 8