большое спасибо, отличная работа. чуть подправил под себя.
кому интересно вот ссылки.
сам сервер dhcpd.pl
чуть опишу что сделал может кому пригодится
таблица my $table="dhcp_mac_ip";
всего 2 поля mac и ip но в формате bigint, при чем поле mac делаем уникальным.
все это подтачивалось под провайдера с 500 сетями в таблице маршрутизации.
да и кстати один нюанс, таблиц с сетью, броадкастом, рутером в данной реализации не нужно, все расчитывается динамически исходя из 2 обязательных факторов:
1. default route для всех ip является первая ip в сети(к примеру в сети 10.3.7.128/25 шлюзом будет 10.3.7.129)
2. все сети есть в таблице маршрутизации самого сервера.
таблица лога у меня такая
(`created`,`client_mac`,`client_ip`,`gateway_ip`,`client_ident`,`requested_ip`,`hostname`,`message_type`) поле client_mac уникальное.
в итоге очень напоминает вид ip->dhcpserver->leases у микротиков.
еще мелкие файлики для работы с базой
db_list.pl
live.pl
add.pl
и файлики которые помогут выбрать ip mac пары из dhcpd.conf
comments
par.pl
писал как умею так что не ругайте сильно, главное что все это запустил и работает на 5000 клиентах.
если кто сможет красиво и удобно доработать буду только рад.