Bonjour,
J'utilise le module Net::ISC::DHCPd::Config pour parser la configuration du fichier de conf dhcpd donc voici un extrait :
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
range 192.168.10.100 192.168.10.200;
host pnom {
hardware ethernet D0:AA:12:BC:13:65;
fixed-address pnom.domain.net
}
host pnom2 {
hardware ethernet D0:AA:12:BC:13:66;
fixed-address pnom2.domain.net
}
}
subnet 192.168.20.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
range 192.168.10.100 192.168.10.200;
host pnom3 {
hardware ethernet D0:AA:12:BC:13:67;
fixed-address pnom.domain.net
}
host pnom4 {
hardware ethernet D0:AA:12:BC:13:68;
fixed-address pnom2.domain.net
}
}
subnet 192.168.30.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
range 192.168.10.100 192.168.10.200;
host pnom5 {
hardware ethernet D0:AA:12:BC:13:69;
fixed-address pnom.domain.net
}
}
et le début du script…
#! /usr/bin/perl
use sctrict;
use warnings;
use utf8;
use Data::Dumper;
use Net::ISC::DHCPd::Config;
my $config = Net::ISC::DHCPd::Config->new(file => './dhcpd.conf');
$config->parse;
print Dumper \$config;
Jusque là tout va bien, mon fichier de conf est parfaitement bien parsé.
Maintenant je souhaite ajouté pnom6 dans le subnet 192.168.20.0:
host pnom6 {
hardware ethernet D0:AA:12:BC:13:6A;
fixed-address pnom.domain.net
}
Comment faire?
Sachant que pour ajouter un host je peux faire :
$config->add_host({
name => 'pnom6',
)}
mais l'host ajouté n'a pas les attributs hardware ethernet et fixed-address, et il est ajouté à la racine du fichier de conf, je ne sais pas comment l'ajouter dans un subnet.
Je ne vois pas de méthodes documentées dans le CPAN me permettant de faire çà.
Ensuite pour réécrire le fichier de conf il me resterai plus qu' à faire $config->generate …
Merci d'avance pour ceux qui voudront bien apporter leur aide :)
# Ma tentative
Posté par Vroum . Évalué à 3.
En jouant un peu avec l'API et en regardant les tests du module, j'en déduit que pas mal de fonctions sont auto-générées.
A priori, on doit pouvoir ajouter directement des clés/valeurs à la création de l'host mais je ne suis pas sûr que cela soit la bonne manière de faire:
En espérant que ça t'aide un peu…
[^] # Re: Ma tentative
Posté par Emama . Évalué à 1. Dernière modification le 27 juillet 2015 à 10:07.
Merci Vroum.
J'en étais arrivé à faire un peu la même chose que toi.
Après avoir fouillé dans le code du module je me suis retrouvé à faire quelque chose comme çà :
Il me reste juste à trouver comment ratacher tout çà au bon subnet.
[^] # Re: Ma tentative
Posté par Emama . Évalué à 2.
En fait çà répond exactement à ce que je voulais.
Au cas où, si çà peut servir à quelqu'un voici le code (à modifier pour rendre le script un peu plus utile) :
Merci à toi Vroum
# probleme de copier/coller ?
Posté par NeoX . Évalué à 2.
tu as les memes ranges dans chacun de tes subnets ?
j'imagine que ce n'est qu'une erreur de copier/coller ?
[^] # Re: probleme de copier/coller ?
Posté par Emama . Évalué à 1.
Oui , juste un copier/coller un peu fait à l'arrache.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.