Ajouter réservation DHCP par MAC et entrée DNS BIND par PHP pfSense Shell



  • Bonjour à tous,

    Je vous contacte aujourd'hui après avoir cherché la solution pour ajouter une entrée DNS dans BIND9 et une réservation d'IP dans DHCP par scripting sans résultat.

    C'est pour un projet de fin d'études (montage complet d'une infra cliente) et comme la seule documentation que nous ayons trouvé est celle-ci:https://doc.pfsense.org/index.php/Using_the_PHP_pfSense_Shell on est partit sur des scripts qui modifient les fichiers de configuration. Le problème avec cette méthode est que la base graphique (basé sur un fichier XML) écrase les fichiers de configuration si on passe par exemple sur un redémarrage de service par le PHP pfSense Shell ou une modification en console Web.

    Ceci est un premier problème alors on a redémarré le DHCP par ligne de commande mais il n'y a pas de nouvelle entrée dans l'interface graphique et si on fait une modification dans celle-ci par la suite toute conf scriptée maison est perdue…

    On a aussi essayé d'ajouter des balises dans le fichier XML mais à part tout casser aucun résultat probant.

    Nous savons bien que ce n'est pas la bonne manière de faire, donc j'aurai voulu savoir si une bonne âme pourrait nous donner la direction vers une documentation complète de ce shell PHP ou nous donner des lignes de commandes PHP Shell pour faire:

    • Une entrée dans une zone du DNS BIND9

    • Une réservation d'adresse IP par MAC dans le DHCP LAN

    • Redémarrer ces deux services pour la bonne prise en compte

    • Le tout visible dans l'interface Web.

    Si nous n'avons pas assez cherché veuillez nous excuser mais on a vraiment du mal à trouver des exemples de ce type que ce soit en anglais ou en français alors que PfSense est une solution géniale.

    Si de la doc complète du shell PHP existe (ou par ligne de commande) on est aussi preneurs….

    Merci de m'avoir lu, en espérant que vous pourrez nous aider moi et mes collègues.

    Cordialement.



  • Le serveur (natif) DNS utilisé par pfSense serait BIND9 ? Cela serait surprenant !
    Vous comptez utiliser un package BIND ? Quelle est le niveau de qualité d'un package et la responsabilité de pfSense (team) dans les packages ?

    Avec BIND, 2 choix : on modifie les fichier puis 'service restart', ou on utilise une interface (webmin, …) (parce que ceux qui ont créé l'interface savent ajouter dans les fichiers et faire restart).

    Sinon, et c'est simple et sûr, vous prenez une machine (un Linux Debian p.e.) avec un BIND (pour l'interne) et vous testez votre génération de fichiers ...
    Mais le faire sur un firewall, est ce bien raisonnable ... au niveau de la sécurité ?



  • Bonjour jdh. un "bonjour" ça fait toujours plaisir.

    Le serveur (natif) DNS utilisé par pfSense serait BIND9 ? Cela serait surprenant !

    Est-ce que j'ai dit ça ? Ce serait surprenant…

    Vous comptez utiliser un package BIND ? Quelle est le niveau de qualité d'un package et la responsabilité de pfSense (team) dans les packages ?

    Comme ils intégrent une interface graphique pour le paramétrer ils sont peut être allés jusqu'au bout de la démarche et fait aussi des commandes PHP Shell ? C'est pas mal demander mais ce ne serait pas étonnant ni déconnant (sinon à minima pas de GUI pour administrer ces services ou pas de package proposé…).

    Avec BIND, 2 choix : on modifie les fichier puis 'service restart', ou on utilise une interface (webmin, …) (parce que ceux qui ont créé l'interface savent ajouter dans les fichiers et faire restart).

    Merci du conseil c'est comme ça qu'on l'a intégré. Pareil pour le DHCP. Le problème c'est que la conf des fichiers est en inadéquation avec la conf GUI ce qui fait qu'une modif GUI écrase la conf des fichiers internes, on aurait pu attendre une meilleure intégration d'un produit aussi bien pensé….

    Sinon, et c'est simple et sûr, vous prenez une machine (un Linux Debian p.e.) avec un BIND (pour l'interne) et vous testez votre génération de fichiers …
    Mais le faire sur un firewall, est ce bien raisonnable ... au niveau de la sécurité ?

    Parce que c'est pour un POC derrière X-mille pare feux et qu'on s'y connecte a travers un VPN pour administrer les serveurs. J'avoue que c'est vilain mais le but est de répondre à un besoin rapidement (crade mais rapide et redondé, ce qui était demandé) de manière à assurer aussi 3 autres examens et un mémoire à rendre concommittements à ce projet (PfSense et Promox redondés en HA, OpenLDAP, SAMBA4, Cloud, Mail, Radius, Portail Captif, Sauvegarde, le tout en HA ou Failover avec un script unique de création utilisateur+machine, un script unique de modification et de décommisisnnement aussi, et j'en passe…) en seulement 3 semaines.

    Merci encore pour votre réponse très constructive sur mes questions de fond sur la disponibilité de la doc sur le shell PfSense et l'intéraction entre la GUI et les fichiers de conf des services.

    Bien le bonsoir.



  • Effectivement modifier directement les fichiers de conf… ça ne marche pas car le XML écrase tout.

    Je ne me suis jamais amusé à modifier ce fichier XML "par script" mais j'utilise une méthode similaire pour faire des déploiements multiples à partir d'un template XML que je modifie ensuite à grands coups de vi pour avoir des conf similaires mais customisées pour chaque site.

    Au feeling, ça devrait également fonctionner pour BIND  ???



  • Le firewall est un élément de sécurité.
    Donc on n'y bricole pas (surtout si on peut le faire ailleurs …) sauf à n'être pas très responsable.

    (Encore 1, bien élevé, à qui je ne vais plus fournir d'infos ...)



  • Merci chris4916 pour ta réponse constructive.

    On va partir sur un script Python qui fera la modification dans le XML puis un restart du service via le shell PHP.

    Cordialement.

    (@jdh: Encore un malpoli de mauvaise foi qui n'aura pas plus qu'une ligne de ma part…)



  • @exaju : aucun problème : je demande très peu sur ce forum, je me passerai de votre très éventuelle aide … (et vous n"avez participé qu'à 2 fils)
    Et contrairement à vous, je ne suis pas malpoli ... parce que ma réflexion ne va pas dans le sens de votre 'pseudo-solution'.
    Quand on a un besoin, et qu'on a pensé, tout seul, à une solution, il faut bien accepter que, de plus expérimentés et plus réfléchis, observent les faiblesses (vous en démontrent la nullité ?), c'est un signe de maturité ...
    Vous grandirez bien un jour ...

    (Je ne vois pas en quoi l'autre réponse apporte de l'eau ...)


Log in to reply