Да, если лень разбираться, то проще всего - мускуль. Но я бы покопал radius. Не ставил связки DHCP+RADIUS потому не знаю какие там механизмы задействованы. Может котортко опишите - подумаем
Ну есть железка - Juniper MX80
Там есть DHCP сервер который умеет забирать данные с radius сервера.
В качестве UserName он передает строку которую можно настроить в конфиге, в данном случае склеивается mac клиента, circuit id и remote id.
От Radius'а в атрибутах он должен получить адрес, маску, днс и так далее.
MySQL'ом я в принципе разобрался как разделить строку, получилось что-то типа такого:
DROP PROCEDURE IF EXISTS `mx80radcheck`;
DELIMITER $$
CREATE PROCEDURE `mx80radcheck` (IN login VARCHAR(64))
BEGIN
DECLARE usr_id INT;
DECLARE usr_mac VARCHAR(12);
DECLARE usr_vid INT;
DECLARE usr_port INT;
DECLARE usr_swmac VARCHAR(12);
SELECT UPPER(REPLACE(SUBSTRING(login,1,14),'.','')) INTO usr_mac;
SELECT CONV(SUBSTRING(login,20,4),16,10) INTO usr_vid;
SELECT CONV(SUBSTRING(login,26,2),16,10) INTO usr_port;
SELECT SUBSTRING(login,33,12) INTO usr_swmac;
SELECT usr_mac AS 'MAC', usr_vid AS 'VID', usr_port AS 'PORT', usr_swmac AS 'SWMAC';
END$$
DELIMITER ;
Но оно пока заточено на железо Edge-Core, при других форматах Opt82 скорее всего работать не будет.