В реализации DHCP сервера от ISC отсутствует эффективный способ мониторинга использования пулов.
Возможны ситуации, когда сервер раздал все доступные адреса и после этого начинает игнорировать запросы от новых устройств. В этом случае в логе можно увидеть сообщение (или множество сообщений):
Feb 10 01:01:01 EltexDHCP dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ff:00 via 100.10.1.1: peer holds all free leases
Для того, чтобы отследить степень использованности пулов и предупреждать возникновение таких ситуаций, можно использовать утилиту dhcpd-pools. Сборка утилиты для ubuntu14 x64 прикреплена к статье.
dhcpd-pools_2.28-1-trusty_amd64.deb
Для установки утилиты из приложенного пакета, скопируйте его на сервер SoftWLC и распакуйте командой:
sudo dpkg -i dhcpd-pools_2.28-1-trusty_amd64.deb
После распаковки вы можете запустить утилиту командой:
sudo dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -o ./sampleoutput.txt
где
/etc/dhcp/dhcpd.con - расположение основного файла конфигурации DHCP сервера,
/var/lib/dhcp/dhcpd.leases - путь к расположению lease-файла,
./sampleoutput.txt - файл, в который будет сохранен вывод результат анализа.
Пример работы утилиты:
cat sampleoutput.txt
Ranges:
shared net name first ip last ip max cur percent touch t+c t+c perc
All networks 122.0.0.10 - 122.0.0.200 191 7 3.665 47 54 28.272
All networks 123.0.0.10 - 123.0.0.200 191 2 1.047 9 11 5.759
All networks 124.0.0.10 - 124.0.0.200 191 2 1.047 57 59 30.890
All networks 200.0.0.10 - 200.0.0.30 21 0 0.000 0 0 0.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 594 11 1.852 113 124 20.875
В результатах можно увидеть:
shared net name - название сети, в которую входи пул,
first ip, last ip - начальный и последний адреса в пуле,
max - количество адресов в пуле,
cur - количество выданных адресов, время аренды которых еще не истекло (адреса, которые используются сейчас),
percent - отношение cur/max, выраженное в процентах,
touch - количество выданных адресов, чье время аренды истекло,
t+c - суммарное количество адресов выданных адресов,
t+c perc - отношение t+c/max, выраженное в процентах.
На этом возможности утилиты не ограничены, дополнительную информацию о ее использовании можно получить от разработчика http://dhcpd-pools.sourceforge.net/ или в мануале.