Suite à la mise en production d’un serveur DHCP, il peut être utile de savoir si la plage d’adresses IP a été suffisamment dimensionnée et de pourvoir connaitre le nombre d’adresses IP libres à un instant « T ».
La première méthode serait d’éditer le fichier dhclient.leases, bon courage pour l’éplucher…
Un petit outil fort pratique existe pour calculer le nombre restant d’adresse IP libres: dhcpd-pools.
dhcpd-pools est un logiciel écrit en langage C et sous licence BSD.
Installation de dhcpd-pools
Pré-requis pour la compilation
exemple sous Debian/Ubuntu
apt-get install build-essential uthash-dev
Téléchargement de dhcpd-pool
wget https://sourceforge.net/projects/dhcpd-pools/files/dhcpd-pools-3.0.tar.xz
Décompression de dhcpd-pools-3.0.tar.xz
xz -d dhcpd-pools-3.0.tar.xz
Et
tar xvf dhcpd-pools-3.0.tar
Ce rendre dans le répertoire
cd dhcpd-pools-3.0/
Compilation
./configure
Suivie de
make
Puis
make install
Utilisation de dhcpd-pools
dhcpd-pools utilise trois paramètres à l’utilisation:
- -c chemin du fichier de configuration du dhcp(dhcpd.conf)
- -l chemin de la base de données (dhcpd.leases)
- -o le fichier de sortie
Exemple d’utilisation:
dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -o addIP.txt
Lecture du fichier de sortie addIP.txt
cat addIP.txt
Ranges: shared net name first ip last ip max cur percent touch t+c t+c perc All networks 10.XX.XX.XX - 10.XX.XX.XX 51 49 96.078 2 51 100.000 Shared networks: name max cur percent touch t+c t+c perc Sum of all ranges: name max cur percent touch t+c t+c perc All networks 51 49 96.078 2 51 100.000
Donc dans ce cas, la plage d’adresse IP complète est de 51 et il y a 49 adresses Ip utilisées.
Un autre exemple sur un serveur DHCP multi VLAN :