Serveur DHCP avec backend de base de données [fermé]


8

Je cherchais quelque chose pour remplacer mon (ancien) serveur ISC-DHCPd.

Un serveur DHCP avec un backend de base de données me semble une excellente idée, car je pourrais alors avoir une interface Web agréable et conviviale avec mon serveur. Étonnamment, je ne peux pas proposer de grands projets open source qui offrent cela.

Quelqu'un en connaît-il un? J'ai également lu comment modifier ISC pour utiliser un backend de base de données ... quelqu'un peut-il me dire si cette solution est suffisamment stable pour un serveur de production occupé? Ou l'utilisation d'une base de données est-elle une Bad Idea ™ tous ensemble?

PS - /programming/893887/dchp-with-database-backend semble que SO n'a pas pu répondre à cette ancienne question similaire.

EDIT: Je recherche quelque chose sur une plate-forme OS gratuite, Linux ou BSD. S'il y a quelque chose d'absolument génial qui n'est que Windows, toujours intéressé.


Quel système d'exploitation? Je suppose que c'est Linux mais nous ne devrions jamais avoir à deviner.
John Gardeniers

Je peux voir vouloir un serveur DHCP soutenu par une base de données. Cela rendrait la haute disponibilité et le partage de charge entre plusieurs serveurs DHCP assez faciles. Dans un environnement avec un grand nombre de clients, ce serait probablement assez doux. Encore une chose à ajouter au tas de "trucs sur lesquels je travaillerais si j'avais le temps" ...> soupir <
Evan Anderson

@Evan, même sans base de données, vous pouvez déjà fournir une haute disponibilité en exécutant plusieurs serveurs DHCP
topdog

@topdog: S'ils ne partagent pas les mêmes informations de location, je ne les considère pas comme "haute disponibilité". L'ancienne astuce «haute disponibilité» avec Windows DHCP, par exemple, d'exécuter des serveurs DHCP «superposés» n'est pas «haute disponibilité» dans mon livre car les clients peuvent recevoir des NAK parasites lorsqu'ils «basculent» vers le serveur DHCP qui ne sait rien sur leur bail précédent.
Evan Anderson

Juste curieux, avez-vous déjà trouvé un logiciel pour le faire? Je suis à peu près dans la même situation que vous.
devicenull

Réponses:


4

ISC DHCP 4.x permet au service DHCP d'être soutenu par une base de données LDAP (locale ou distante).

Le package sur Fedora 12+ et Ubuntu (version inconnue) inclut le fichier de schéma LDAP.

Vous démarrez le serveur DHCP et le pointez vers la base de données LDAP (via un court fichier de configuration). Si vous sélectionnez une base de données dynamique, chaque requête DHCP devient une requête / réponse LDAP.

Avec LDAP, vous pouvez mettre à jour le contenu DHCP en utilisant n'importe quelle langue avec une bibliothèque LDAP depuis n'importe quel emplacement routable vers votre serveur LDAP. Votre base de données LDAP peut desservir un nombre illimité de serveurs DHCP.

J'ai utilisé cela pour permettre aux ingénieurs d'ajouter et de supprimer des boîtes de test à un réseau sans les obliger à se connecter au serveur DHCP, à modifier un fichier ou à utiliser des privilèges root.


Cela semble prometteur ...
Evan Anderson

La dernière fois que j'ai lu à ce sujet, l'inclusion LDAP est une fonctionnalité "v1", en ce sens qu'elle a été récemment introduite dans le produit et qu'elle n'est peut-être pas encore très stable. @markllama, avez-vous constaté que certaines parties de la configuration dhcpd ne deviennent effectives qu'au redémarrage du service? J'ai lu des rapports selon lesquels certains éléments de configuration sont accessibles en temps réel, et certains ne sont chargés qu'au démarrage - ce qui est logique pour moi, étant donné que dhcpd n'a traditionnellement lu que les fichiers config / host au démarrage du service.
aNullValue

@Stemen: Ouais - il semble que ce ne soit pas encore un patch accepté en amont. C'est moins utile pour moi car je préférerais vraiment ne pas exécuter de systèmes de production sur des distributions de programmes patché.
Evan Anderson

@Evan Anderson: Même chose ici. Vous devez également prendre en compte la fiabilité du système en utilisant un serveur LDAP pour plusieurs serveurs DHCP ... il ne serait tout simplement pas en mesure de répondre à de nombreuses exigences de disponibilité, bien que cela fonctionnerait pour ceux qui sont capables d'accepter que DHCP puisse être arrêté pendant un certain temps si LDAP et / ou la connectivité est en panne.
aNullValue

3

J'ai eu un problème similaire.

J'ai fini par écrire quelques lignes de code Python pour générer des fichiers de configuration DHCP à partir d'un backend de base de données. En utilisant diff, je vérifie régulièrement si le fichier que je génère a des changements dans l'ancienne configuration et dans ce cas, je recharge le serveur DHCP.

Fonctionne assez bien pour moi avec plusieurs centres de données, des dizaines de réseaux et des centaines d'adresses IP.

Vous permet également d'avoir «l'interface Web» et de la garder open source.


3

Les gars d' ISC (auteurs de BIND et du serveur DHCP ISC) travaillent sur KEA , une nouvelle implémentation de serveur DHCP qui - entre autres fonctionnalités intéressantes - prend en charge SQL. Le code source prend en charge SQLite et MySQL depuis des années, et le support PostgreSQL a été ajouté récemment.

Il n'y a pas encore de version appropriée et très peu d'activité sur leurs listes de diffusion dev / users . Espérons que cela changera à mesure que le code mûrira, que des versions seront faites, que les distributions commenceront à l'empaqueter et qu'il gagnera en popularité auprès des utilisateurs.


En fait, seule une prise en charge partielle de PostgreSQL existe à ce jour - dans la version 1.0.0 - Il ne prend pas encore en charge les informations sur les hôtes stockées dans Postgres (ils prétendent qu'elles arrivent bientôt) - uniquement dans MySQL.
davidgo

3

J'ai fait des recherches sur ce sujet moi-même, ce qui a révélé ce fil. J'ai trouvé:

  • Anemon DHCP qui semble être mort / disparu (donc le lien archive.org). "les modules donnent à anemon la possibilité d'utiliser de nombreuses bases de données comme backend (mysql, postgresql, mssql, sqllite, sybase, etc.)"
  • KEA de l'ISC "MySQL, support back-end Postgres."
  • staticDHCPd "Bases de données: Postgres, MySQL, Oracle, SQLite"

2

Quels avantages recherchez-vous? À quelle fréquence apportez-vous des modifications à votre configuration DHCP? Outre l'ajout, la suppression ou la modification de la réservation occasionnelle, DHCP devrait être un système de définition et d'oubli. Si vous devez régulièrement faire quelque chose, vous devez reconsidérer vos méthodologies.


2
Exactement. Ajouter, supprimer, modifier des réservations. C'est une douleur quand je dois séparer / fusionner des plages tout le temps. De plus, au lieu d'avoir à analyser un gros fichier de baux laids avec un script, ce serait bien de mettre les baux actuels et l'historique des baux dans une base de données.
Cory J

Peut-être que j'aurais dû mentionner dans le message d'origine que je suis un FAI. Le DHCP n'est définitivement pas "réglé et oublié".
Cory J

2
@Cory, cela change un peu les choses.
John Gardeniers

2

BlueCat.com a des appareils vraiment sympas qui font la gestion des adresses IP (DNS / DHCP) qui correspondrait exactement à la facture, sauf qu'ils ne sont pas open source / gratuits.

Bluecat vous permet de déléguer des rôles, par exemple, vous pouvez donner à vos clients des privilèges d'édition sur la zone inverse uniquement pour leur / 26 ou quelque chose comme ça, et tout est géré avec des bases de données à haute disponibilité pour DNS et DHCP.

Si quelqu'un connaît quelque chose comme ça dans le monde open source, j'aimerais en entendre parler. Je souhaite que Microsoft intègre DHCP dans Active Directory comme ils l'ont fait avec DNS. Ce serait parfait pour moi (je sais - pas open source, mais s'il est inclus avec le serveur, cela fonctionnerait pour moi!)


0

Si vous êtes FAI, envisagez d'utiliser VitalQIP. C'est un produit commercial, mais je ne peux pas imaginer vivre sans.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.