Да к сожалению концепцию Nodeny не в курил пока, ковыряюсь с ним раз 3-ий. Но нужно поднимать в любом случае его, назад дороги нет
Как это работает понимаю, а вот эти нюансы системы стопорят весь процесс, а времени катастрофически не хватает
В этом и проблема. Ты пытаешся внедрить серьезный программный комплекс, не имея не малейшего понятия как он работает (ну хотя бы как взаимодействуют компоненты, и почему именно так).
Дорога всегда есть, просто ты ее не видишь.
Клиент подключается по pppoe и получается ip динамически из пула. Если у клиента на счету меньше нуля, ему выдается ip динамически из гостевого пула который имеет доступ только к билингу чтобы клиент мог зайти в лк и редиректит на заглушку если заходит на другие сайты. Если клиент подключен с гостевым ip и у него становиться положительный баланс его биллинг сбрасывает и он подключается уже с ip с основного пула.
Это большой костыль для управления существующими абонентами. Не нужно принимать это как основу поведения. Не проще ли положить "гостевых" абонов в отдельный routing-instances (можно читать как vrf), а потом по coa атрибуту перевести в активных. Гостевые пулы придумали для неизвестных абонентов для возможности их дальнейшей идентификации.
Хоча это все реализуемо. Где-то здесь на форуме есть пример как работать с пуллами.
Собственно проблема и заключается с разрешением доступа и шейпами, нужно корректно их настроить.
Шейпить можно средствами accel-ppp. Для этого тебе нужно добавить в процедуру "radreply" две строки ответа. Но здесь может быть затык - а если у абона нет активной услуги.
С доступом - элементарный перловый скрипт, который будет добавлять/удалять с ipset
А не проще ли поставить фрю с mpd5 и не парится?
p.s. Не нужно мне писать в личку - у меня все равно нет времени этим заниматься. Если хочешь чтоб помог - пиши на
support@merolabs.com. Но время появится у меня не раньше 25 числа.