Вы забыли ещё упомянуть какой-нить биллинг ко всему этому, и зачем-то указали БД
Итак. "nas" + "auth and accounting (aaa)" + "billing". SQL (БД - хоть мускль, хоть постгрес, хоть оракл, хоть db2 - не суть важно) болтается в этой схеме отдельно, с ним работают модули aaa и billing.
Так вот, уважаемый, чья функция выдавать динамические адреса и следить за их распределением в рамках nas, а? Правильно, nas-а, и только его (модуль биллинга может, конечно, выгрузить модулю "auth + accounting" для передачи nas-у статического адреса для клиента, а заниматься ещё и динамикой, следить за занятием и освобождением адресов -
зачем? если это превосходно делает любой nas - это его базовая функция). Зачем городить (согласно Вашему предложению) лишнее звено (динамические адреса координировать модулем биллинга), увеличивающее ненадёжность алгоритма?