DHCP sur Debian

Bonjour à tous,

Alors voila je suis à la recherche d’un serveur DHCP sous Debian.

Plus précisément ils me faudrait des (agents tournant sur des Raspberry) faisant remonter à un serveur central les baux DHCP pour pouvoir les gérer, faire des réservation etc… Avec un GUI intéressant. Mais voila appart ISC Kea ou pour visualiser ses baux IPs il faut prendre un abonnement je n’ai aucune idée.

Auriez-vous une idée de ce vers quoi m’orienter ?

Bonjour,

il y a deux choses en fait:

  • Le ser veur DHCP qui gère le DHCP
  • L’interface de gestion

Il n’y a absolument aucun besoin d’avoir un agent en local sur les machines pour connaitres les baux. Le swerveurs les connait puisque que c’est lui qui les attribue, ces informations sont dans le fichier dhcpd.leases.

Pour l’analyse des leases et le reporting: https://dhcpd-pools.sourceforge.net/ qui est disponible dans le repository Debian directement:

~# apt search dhcpd-pools
En train de trier... Fait
Recherche en texte intégral... Fait
dhcpd-pools/stable 2.29-1.1 amd64
  ISC dhcpd lease analysis and reporting tool

Pour le monitoring et l’alerting: https://github.com/Akkadius/glass-isc-dhcp

Sinon tu as aussi Webmin dont le module Serveur DHCP permet de savoir quels sont les baux actifs, les baux en cours et les baux dépassés. C’est le mieux pour avoir toutes les fonctionnalités.

1 J'aime

J’ai déplacé le sujet au bon endroit.

Tu parles de relais DHCP ou ça n’a rien à voir ?

Même avec un relai, c’est le serveur central qui envoie les baux, pas les clients. Les clients prennent ce que le serveur leur envoie.

D’accord je teste ca demains

Donc je viens d’essayer Webmin mais on dirait que le serveur dhcp tourne sur isc-dhcp sachant qu’il est en EOL depuis Décembre 2022, pour avoir été remplacé par isc kea.

Donc mettre un service dhcp qui n’est plus maintenu à jour n’est pas très recommandé, je dois fournir des baux et des réservation pour plus de 600 postes.

Autres choses comme solution ?

Désolé, j’utilise une OPNsense comme box sur lequel il y a isc-dhcp. Mais il y a une interface sur OPNsense.
je n’avais pas fait attention à cet EOL.

Du coup pour KEA, il te faut le dashboard Stork.
Kea est bien packagé dans Debian, mais pas Stork.
Tu le trouveras ici: ISC Open Source Projects / stork · GitLab
A lire le README: README.md · master · ISC Open Source Projects / stork · GitLab
Les screenshots: Screenshots · Wiki · ISC Open Source Projects / stork · GitLab

Il ne me reste plus qu’à modifier mopn, projet d’iso Simple-CDD de BOX Debian (Destiné à remplacer mon OPNSense) avec Kea et Stork :slight_smile:

Pour avoir parcouru il n’y a pas de notion de serveur relai dans le projet KEA, j’ai pas encore trouvé de documentation complète expliquant comment effectuer la mise en relai des requêtes dhcp afin de ne pas devoir exposé un serveur dhcp sur l’ensemble des réseaux :/.

Si je comprends ta question @Clochette, ton serveur n’a pas d’interface dans un réseau qu’il sert? Dans ce cas, les routeurs correspondant vont devoir disposer de la fonctionalité de relai DHCP.
Par contre, si ton DHCp est dans un réseau 192.168.1.0/24 par exemple, qu’il sert ce réseau, tu ne peux pas mettre un relay en les poste client du réseau en question et lui-même.

La fonctionnalité de relai DHCP n’est pas une fonctionnalité d’un serveur DHCP.
Cette fonctionnalité est en fait une fonction de routage spécifique au protocole DHCP. Le relai ajoute son adresse dans les en-têtes de paquets pour indiquer au serveur et au client que c’est à lui qu’il faut envoyer les messages.

J’ai pas mis de point d’interrogation, simplement qu’au passage à kea ISC abandonne la notion de serveur relai (dixit le paquet isc-dhcp-relay).

Pour le reste c’est surtout que pour de petits réseau un simple dnsmasq suffit, mais dès que l’on tape dans un projet compartimenté comme abordé par @GabrielGIL cela me parait compliqué pour l’instant de travailler avec KEA (voir impossible avec l’ancienne approche proposé par ISC).

Je te le déconseille car pour visualiser et modifier tes baux ip sur stork tu dois acheter des hooks premium à intégrer directement à Kea. Là est mon problème avec Kea et stork ca n’est pas full open source ni gratuit. :confused:

La gestion des leases est pourtant par defaut dans les hook de base, de même avec run-script.
La licence de KEA est la MPL 2.0, donc c’est de l’open source.
Idem pour Stork: Stork

|attachment

Stork is an open source ISC project providing a monitoring application and dashboard for ISC Kea DHCP and (eventually) ISC BIND 9. A limited configuration management for Kea is available and is expected to grow substantially in the near future.

Stork est gratuit, Kea est gratuit. Les Hook premiums ne sont pas gratuit.

Rien dans la doc de Stork n’implique que tu doives mettre des Hooks particulier (mais je n’ai pas encore fini l’installation de l’ensemble).

J’avoue ne pas aimer. Il lui manque la fonctionnalité de DDNS il me semble. Je lui préfère Bind.

Alors j’ai hate de voir ce que vas donner tes tests de ton coté pour implémenter Kea et Stork je reste aux aguets.

L’installation de KEA s’est faite facilement, la migration de mes fichiers de configuration ISC-DHCP-SERVER très facile aussi avec keama.
Juste un point: les interfaces d’écoute doivent être ajoutée, car dans ISC-DHCP c’est dans /etc/default/isc-dhcp-server que l’information se trouve et keama ne va pas le chercher.

Le serveur fonctionne aussi bien pour kea-dhcp4 que pour kea-dhcp6, sans avoir rien changé à ma configuration originelle (un petit défaut dans la partie dhcp6 que j’ai commenter pour étude ultérieure).

Coté Stork c’est une autre affaire.
J’ai réussi à mettre en place le server et l’agent. Mais je n’ai pas réussi à faire enregistrer l’agent. La documentation est d’assez pauvre qualité sur le contenu.

Notamment, pour la préparation de la base de donnée il manque une commande (liée à Postgresql 15 qui ne doit pas être encore pris en compte dans la documentions Stork).

 CREATE USER stork WITH PASSWORD 'stork';
CREATE ROLE

 CREATE DATABASE stork;
CREATE DATABASE

 GRANT ALL PRIVILEGES ON DATABASE stork TO stork;
GRANT

 \c stork
You are now connected to database "stork" as user "postgres".

 create extension pgcrypto;
CREATE EXTENSION

En fait il faut aussi faire un:

GRANT ALL ON SCHEMA public TO stork;

Cependant, pas moyen d’enregistrer la machine. je n’ai pas trouvé pourquoi, et les DEBUG n’ont pas apporté grand chose.

En revanche, dans la documentation, concernantg les Hooks, il est précisé:

Stork requires the premium Host Commands (host_cmds) hook library
 to be loaded by the Kea instance to retrieve host reservations stored in an
 external database. Stork works without the Host Commands hook library, 
but is not able to display host reservations. Stork can retrieve host reservations 
stored locally in the Kea configuration without any additional hook libraries.

C’est à dire que les Hook premium ne sopnt nécessaire que pour l’utilisation d’une base de donnée externe pour Kea.
L’installation de base ne necessite donc pas de hook particulier comme cela est explicitement notifié dans le paragraphe ci-dessus.