IP-Adressen in Netzwerken effizient verwalten Opensource IP Adressverwaltung NIPAP
IP-Adressen und Subnetze werden in größeren Netzwerken schnell unübersichtlich, wenn diese nicht korrekt dokumentiert sind. Nicht alle Unternehmen wollen auf teure Zusatzlösungen oder den IPAM-Dienst in Windows Server 2012 R2/2016 setzen. Hier bietet sich das kostenlose Opensource-Tool NIPAP an.
Anbieter zum Thema

Mit NIPAP (Neat IP Address Planer) verwalten Administratoren ihre verschiedenen IP-Adressen, Subnetze und VRF (Virtual Routing and Forwarding) im Netzwerk. Neben IPv4 unterstützt das Tool auch IPv6. Basis des Codes ist Python. Die Daten werden in einer PostgreSQL-Datenbank gespeichert und sind damit zuverlässig gesichert.
Neben der Möglichkeit die komplette Verwaltung über ein Webinterface durchzuführen, bietet NIPAP auch eine Befehlszeile zur Verwaltung an. Über dieses CLI lassen sich Skripte erstellen, die wiederum die Verwaltung der IP-Adressen erleichtern. In der Praxis nutzen aber die meisten Administratoren sicherlich die übersichtliche Weboberfläche (siehe Abbildung 1). Die Installation muss auf einem Linux-Server erfolgen, zum Beispiel Debian. Die generelle Verwendung der Umgebung ist intuitiv, vor allem wenn auf die Weboberfläche gesetzt wird. Für die Verwendung ist kein Linux-Wissen notwendig, auch dann nicht, wenn das Command Line Interface verwendet wird.
IP-Adressen suchen und Statistiken erfassen
Eine Suche ist in NIPAP genauso integriert, wie zuverlässige Statistiken. Dadurch behalten Administratoren immer den Überblick über die Nutzung der vorhandenen IP-Adressen. Generell basiert das Tool auf der Google-Lösung "ipaddr-py", verfügt also neben einer effizienten Verwaltung der IP-Adressen auch über eine hervorragende Google-Suche. Um diese Basis herum haben die Entwickler weitere Funktionen integriert, die die Verwaltung der IP-Adressen erleichtern.
NIPAP beherrscht neben der einfachen Verwaltung von IP-Adressen und VRF (Virtual Routing and Forwarding) auch Reservierungen. Damit lassen sich zusammenhängende IP-Adressbereiche verwalten und den Assignments zuweisen. Diese wiederum liegen in den Reservations. Es handelt sich dabei um einen Adressbereich, der einem bestimmten Zweck zugeordnet ist. Auch Pools lassen sich erstellen, um IP-Adressbereiche zu gruppieren. Über das Webfrontend legen Administratoren schnell und einfach die Prefixe an (siehe Abbildung 2).
Innerhalb der Pools zeigt NIPAP auch die Statistiken an. Dadurch haben Administratoren immer schnell den Überblick, wie die Adressen im jeweiligen Pool verwendet werden (siehe Abbildung 3). Das Gleiche gilt für die VRFs. Auch hierfür steht ein eigener Menüpunkt zur Verfügung, mit dem sich diese verwalten lassen. Innerhalb der VRFs gibt es ebenfalls Statistiken (siehe Abbildung 4).
Alle Prefixe lassen sich jederzeit anpassen. Dazu stehen entsprechende Schaltflächen zur Verfügung, wenn die Weboberfläche genutzt wird. Über das Zahnradsymbol des jeweiligen Bereiches lassen sich die Aufgaben anzeigen, zum Beispiel die mögliche Bearbeitung von Prefixes (siehe Abbildung 5).
NIPAP auf Debian installieren
Um NIPAP in der Praxis zu nutzen, bietet sich ein Linux-Server mit Debian an. Die Installation erfolgt zunächst über das Hinzufügen der Paketquellen. Die Befehle dazu sind:
echo "deb http://spritelink.github.io/NIPAP/repos/apt stable main extra" > /etc/apt/sources.list.d/nipap.list
wget -O - https://spritelink.github.io/NIPAP/nipap.gpg.key | apt-key add -
apt-get update
NIPAP besteht aus mehreren Paketen. Diese lassen sich mit "apt-cache search nipap" anzeigen. Für den optimalen Betrieb werden alle Pakete benötigt. Insgesamt gibt es Pakete für die Weboberfläche, die CLI, die generellen Komponenten, und die Python-Erweiterung. Die Installation des kompletten Paketes erfolgt mit "apt-get install nipapd". Die Weboberfläche muss mit "apt-get install nipap-www" gesondert installiert werden.
Die Einrichtung der Weboberfläche erfolgt nach der erfolgreichen Installation. Im Rahmen der Einrichtung muss auch die PostgreSQL-Datenbank von NIPAP konfiguriert werden. Dazu blendet der Installationsassistent die entsprechenden Anleitungen ein.
Zunächst muss ein Benutzerkonto für die Weboberfläche erstellt werden, das über entsprechende Rechte verfügt. Dies erfolgt zum Beispiel über den Befehl:
nipap-passwd add --username nipap-www --password <sicheres Kennwort> --name "<Benutzername für den Webdienst>" –trusted
Dieser Benutzer wird nicht durch Administratoren verwendet, sondern nur intern durch NIPAP selbst. Im Anschluss daran wird die Weboberfläche konfiguriert, zum Beispiel mit:
xmlrpc_uri = http://<Benutzername von oben>@local:<Kennwort von oben>@127.0.0.1:1337
Anschließend wird ein Benutzer angelegt, mit dem die Weboberfläche und NIPAP verwendet werden kann:
nipap-passwd add --username <Benutzername> --password <Kennwort> --name "<Bezeichnung des Benutzer>s"
Wenn Änderungen an der Konfiguration des Programmes vorgenommen wurden, muss der Daemon mit "/etc/init.d/nipapd restart" neu gestartet werden.
Webserver für NIPAP installieren und einrichten
In einer produktiven Umgebung sollte die Weboberfläche professionell in den Webserver eingebunden werden. Für einen schnellen Test kann aber auch paster verwendet werden, um die Weboberfläche zur Verfügung zu stellen. Der Befehl dazu ist lautet "paster serve /etc/nipap/nipap-www.ini".
Standardmäßig verwendet NIPAP den Port 5000. In der Ini-Datei lässt sich dieser aber anpassen. Die Weboberfläche kann von jedem Webserver zur Verfügung gestellt werden, der WGSI unterstützt, zum Beispiel auch Apache httpd mit mod_wsgi. Die Installation erfolgt in diesem Fall mit der Befehlsfolge:
apt-get install libapache2-mod-wsgi
WSGIScriptAlias / /etc/nipap/nipap-www.wsgi
chown -R www-data:www-data /var/cache/nipap-www
chmod -R u=rwX /var/cache/nipap-www
Soll zwischen der Weboberfläche und mehreren NIPAP-Servern über das Netzwerk kommuniziert werden oder wird das Webinterface auf einem anderen Server als die anderen Komponenten von NIPAP installiert, ist es notwendig, die IP-Adressen einzutragen, auf die NIPAP zur Kommunikation wartet. Das erfolgt normalerweise in der Datei nipap.conf.
Webserver und CLI zur Verwaltung nutzen
In der täglichen Praxis werden die meisten Administratoren mit der Weboberfläche arbeiten. Zur Anmeldung muss lediglich der Benutzername und das Kennwort des Administrators eingegeben werden. Die einzelnen Funktionen von NIPAP sind über die Weboberfläche leicht zu erreichen. Im Suchfeld lassen sich über verschiedene Suchbegriffe schnell die gewünschten IP-Adressen zuordnen und andere Informationen finden. Neben der Möglichkeit nach einzelnen IP-Adressen zu suchen, lassen sich auch alle IP-Adressen in einem Subnetz anzeigen, zum Beispiel mit "172.16.0.0/24".
Soll nach Beschreibungen oder Kommentaren in einem festgelegten Subnetz gesucht werden, ist zum Beispiel der Suchbegriff "10.0.0.0/8 Berlin-ROUTER-1" sinnvoll. Auch nach Markierungen kann gesucht werden, genauso wie nach bestimmten Kommentaren und einer Kombination davon: "#core router".
Nach der Installation der CLI steht im Terminal von Linux der Befehl "nipap" zur Verfügung. Im Home-Verzeichnis gibt es eine Datei mit der Bezeichnung ".nipaprc". In dieser sind Hostadressen und Anmeldeinformationen abgelegt. In der Datei müssen die Anmeldedaten ebenfalls hinterlegt werden. Mit der CLI lassen sich auch Verbindungen zu anderen NIPAP-Servern im Netzwerk aufbauen.
Über die CLI lassen sich nahezu alle Aufgaben in Skripten oder der Befehlszeile durchführen, die auch in der Weboberfläche zur Verfügung stehen. Um die CLI zu nutzen, ist es notwendig, zuerst einen Benutzer anzulegen, der sich mit der CLI verbinden darf. Das erfolgt auf dem Debian-Server, auf dem NIPAP installiert ist:
nipap-passwd -a <Benutzername> -p <Kennwort> -n "<Bezeichnung>"
Funktioniert der Verbindungsaufbau, lässt sich in der Befehlszeile zum Beispiel schnell und einfach ein neues Prefix anlegen:
nipap address add prefix 10.0.0.0/24 type assignment description "Prefix Berlin"
Um alle Adressen mit 0.0.0.0/0 anzuzeigen wird folgender Befehl verwendet:
nipap address list 0/0
(ID:44180554)