In diesem Tutorial werden wir uns ansehen, wie man den ISC Kea DHCP-Server und das Stork-Dashboard installiert, das eine Weboberfläche zur Anzeige und Verwaltung der DHCP- und Bind9-Dienste bietet.
Im Tutorial: Ubuntu: Installation und Konfiguration eines DHCP-Servers mit KEA – isc-kea habe ich mich mit der Installation und Konfiguration eines DHCP-Servers befasst; daher werde ich mich in diesem Tutorial hauptsächlich mit der Installation und Konfiguration von Stork beschäftigen.
Vorstellung von Stork
Stork ist ein Webdienst, der über eine Website ein Dashboard zur Überwachung und Verwaltung (in der kostenpflichtigen Version) der Dienste DHCP Kea und DNS Bind9 bereitstellt.
Es gibt zwei Versionen:
- Kostenlos: Bietet lediglich einen Überwachungszugriff auf den oder die DHCP- und Bind9-Server sowie die Möglichkeit, nach Adresszuweisungen zu suchen.
- Kostenpflichtig: Ermöglicht die Konfiguration des oder der DHCP-Server über die Weboberfläche.
Stork kann auf dem DHCP-Server oder auf einem Remote-Server installiert werden; die Kommunikation erfolgt über einen Agenten.
Installation von ICS-KEA
Bevor wir Stork installieren, werden wir zunächst die KEA-DHCP-Dienste installieren. In dieser Anleitung werde ich die offiziellen Repositories verwenden, um eine aktuelle Version zu erhalten.
Zunächst fügen wir die KEA-Repositories hinzu:
curl -1sLf 'https://dl.cloudsmith.io/public/isc/kea-2-4/setup.deb.sh' | sudo -E bash
Die Paketliste aktualisieren:
sudo apt update
Installieren der ICS-KEA-DHCP-Dienste:
sudo apt-get install isc-kea -y
Für die Grundkonfiguration des DHCP-Dienstes verweise ich Sie auf die Anleitung: Ubuntu: Installation und Konfiguration eines DHCP-Servers mit KEA – isc-kea
Für die Integration mit Stork müssen einige Änderungen vorgenommen werden, auf die wir im Folgenden eingehen werden.
Stork-Installation
Damit Stork funktioniert, benötigt es eine Datenbank; ich habe mich hier für PostgreSQL entschieden.
Zunächst installieren wir PostgreSQL:
sudo apt-get install postgresql -y
Überprüfen Sie, ob PostgreSQL gestartet ist:
sudo systemctl status postgresql
Stork-Repos hinzufügen:
curl -1sLf 'https://dl.cloudsmith.io/public/isc/stork/cfg/setup/bash.deb.sh' | sudo bash
Den Stork-Server installieren:
sudo apt-get install isc-stork-server -y
Wir werden nun die Datenbank für Stork anlegen und dazu ein Dienstprogramm unter dem Benutzer „postgres“ verwenden.
Benutzer wechseln:
sudo su - postgres
Die Erstellung der Datenbank starten:
stork-tool db-create --db-name stork --db-user stork-server
Im Gegenzug liefert Ihnen der Befehl die Konfigurationsdaten der Datenbank. Notieren Sie sich diese, da wir sie zur Konfiguration des Stork-Servers benötigen.
Zurück zum aktuellen Benutzer.
Bearbeiten Sie die Datei /etc/stork/server.env, um die Verbindungsdaten zur PostgreSQL-Datenbank zu konfigurieren.
sudo nano /etc/stork/server.env
Ändern Sie die Variablen STORK_DATABASE_NAME, STORK_DATABASE_USER_NAME und STORK_DATABASE_PASSWORD mit den Angaben, die bei der Erstellung der Datenbank zurückgegeben wurden.
Die Konfiguration des Stork-Servers ist abgeschlossen.
Den Dienst aktivieren, damit er automatisch gestartet wird:
sudo systemctl enable isc-stork-server
Den Dienst starten;
sudo systemctl start isc-stork-server
Überprüfen Sie, ob der Stork-Server läuft:
sudo systemctl status isc-stork-server
Rufen Sie in einem Internetbrowser die folgende Adresse auf: http://ip-server:8080
Die Standard-Anmeldedaten lauten admin/admin
Wir gelangen zum Dashboard, das derzeit leer ist, da noch keine DHCP- und DNS-Server konfiguriert sind.
Machen Sie sich zunächst mit der Benutzeroberfläche vertraut – hier sind ein paar Screenshots.
Installation des Stork-Agenten
Nun werden wir den Stork-Agenten installieren, der die Kommunikation zwischen dem Stork-Server und den DHCP- und DNS-Servern ermöglicht.
Auch wenn Stork und der DHCP-Server auf demselben Server installiert sind, muss der Agent installiert werden.
Standardmäßig verwendet der Agent den Port 8080, der mit dem des Stork-Servers übereinstimmt. Daher muss der Port des Agenten geändert werden.
Stork-Agent installieren:
sudo apt-get install isc-stork-agent -y
Befinden sich der Agent und der Stork-Server auf demselben Rechner, ändern wir den Port des Agenten. Bearbeiten Sie dazu die Datei /etc/stork/agent.env.
sudo nano /etc/stork/agent.env
Die Variable STORK_AGENT_PORT ändern:
Automatischen Start des Agenten aktivieren:
sudo systemctl enable isc-stork-agent
Agent starten:
sudo systemctl start isc-stork-agent
Überprüfen Sie, ob der Dienst des Agenten ordnungsgemäß gestartet wurde:
sudo systemctl status isc-stork-agent
Den Stork-Agenten auf dem Stork-Server registrieren
Um den Agenten zu registrieren, verwenden Sie den folgenden Befehl:
sudo su stork-agent -s /bin/sh -c 'stork-agent register --server-url http://ip-stork-server:8080'
Wenn der Agent auf demselben Server installiert ist, geben Sie die Portnummer ein, sobald Sie dazu aufgefordert werden.
Rufen Sie die Weboberfläche des Stork-Servers unter „Services / Machines“ auf, zeigen Sie die nicht autorisierten Agenten an, indem Sie auf „Unauthorized“ 1 klicken, klicken Sie auf das Aktions-Menü 2 und anschließend auf „Autorize“ 3 .
Bitte warten Sie einige Minuten, bis die Informationen vorliegen.
Nach dem Aktualisieren der Seite sollte das DHCP-Menü angezeigt werden und das Dashboard sollte die Informationen zum DHCP-Server anzeigen.
Hier sind einige Screenshots:
Wenn Sie Ausdehnungen konfiguriert haben, sollten die entsprechenden Informationen in Stork angezeigt werden.
Konfiguration des DHCP-Servers für Stork
Zum Abschluss dieses Tutorials werden wir uns ansehen, wie der DHCP-Server so konfiguriert wird, dass sowohl die statistischen Daten als auch die DHCP-Leases an Stork übermittelt werden.
Der Einfachheit halber hier die in diesem Tutorial verwendete Konfiguration:
{
"Dhcp4": {
"hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
}
],
"interfaces-config": {
"interfaces": [ "ens18" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/var/lib/kea/kea-leases4.csv",
"lfc-interval": 3600
},
"valid-lifetime": 600,
"max-valid-lifetime": 7200,
"subnet4": [
{
"id": 1,
"subnet": "10.99.99.0/24",
"pools": [
{
"pool": "10.99.99.120 - 10.99.99.130"
}
],
"option-data": [
{
"name": "routers",
"data": "10.99.99.250"
},
{
"name": "domain-name-servers",
"data": "1.1.1.1, 8.8.8.8"
},
{
"name": "domain-name",
"data": "rdr-it.io"
}
]
}
]
}
}
Im Vergleich zum ersten Tutorial müssen die Hooks in den Zeilen 4 bis 11 und der Abschnitt zu den DHCP-Leases (lease-database) in den Zeilen 23 bis 28 konfiguriert werden.
Sie wissen, wie man Stork mit den KEA-DHCP-Diensten installiert und verwendet.
In einem der nächsten Tutorials werden wir sehen, wie man Bind9 hinzufügt.





