Если не нужно классов трафика:
- в мпд конфиге не нужно включать строки
Код: Выделить всё
set iface up-script "/usr/abills/libexec/linkupdown mpd up"
set iface down-script "/usr/abills/libexec/linkupdown mpd down"
- Не нужен скрипт shaper.sh
- Не нужно /usr/abills/libexec/billd checkspeed NAS_IDS=... RECONFIGURE=1
Нужно:
(я не считаю себя супер-бупер админом но придерживаюсь следуещего:
Профессионалы построили Титаник, а дилетанты - ковчег (у кого то в подписи прочитал)
Поэтому мои примеры не претендуют на "выставку") 
Но вполне работоспособно.
1. Скомпилировать ядро с:
Код: Выделить всё
#for NAS
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options DUMMYNET
options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_BPF
options NETGRAPH_TEE
options NETGRAPH_SPLIT
options NETGRAPH_KSOCKET
options NETGRAPH_IFACE
options NETGRAPH_MPPC_ENCRYPTION ( мррс видимо не использовать лучше и в ядре и в конфиге мпд - у меня он включен лишь по той простой причине, что я на стороне клиента хотел исключить всякую "интеллектуальную нагрузку" на мозг клиента по созданию впн-соединения - у меня
не нужно выставлять/убирать всякие галочки в соединении- все по стандарту -вводить только логин и пароль.
Но при 300+ клиентов онлайн у меня появляются ошибки
ng_mppc_decompress: too many (4094) packets dropped, disabling node 0xc6727280!
и после этого впн-соединение есть а трафик не бегает. (правда бывает раз-два в сутки)
Конечно это может быть и связано с ошибками на канальном уровне - типа "проблемы кабеля"
Но теперь заставить пользователей сменить свои настройки будет очень тяжело.
Если у тебя только идет процесс "становления" провайдерства - то лучше, наверное, сразу исключить всякое шифрование и компрессию в соединении...)
options NETGRAPH_PPP
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_CAR
2. Установить МПД, или обязательно пересобрать, если установлено. Так как мпд должен увидеть в ядре NETGRAPH, который и нужен нам для нарезания скорости (ну как минимум для этого). При чем галка при конфигурировании мпд
Код: Выделить всё
[ ] NG_CAR Use ng_car kernel module from port (< 7.0 only)
нужна только если FREEBSD ниже 7 - а так ее можно даже и не ставить (важно в ядре включить поддержку NG_CAR перед сборкой мпд- имею ввиду -> ядро пересобрать - сервак перегрузить)- поправьте если ошибаюсь
3.теперь создаем в биллинге тарифный план в котором в строке
RADIUS Parameters (,) пишем
Код: Выделить всё
mpd-limit+=in#1=all rate-limit 6120000 1147500 2295000,mpd-limit+=out#1=all rate-limit 6120000 1147500 2295000
или
Код: Выделить всё
mpd-limit+=in#1=all shape 128000 4000,mpd-limit+=out#1=all shape 128000 4000
Это и все что нужно для нарезания скорости. На форуме описывалось как высчитывать эти цифры. -> поиск.
В конфиге abills_а config.pl ничего, что касается шейпера, вписывать не нужно (при этом виде ограничения скорости) - поправите если я не прав. (а то я так до сих пор думаю

)
При этом Индивидуально в настройках пользователя поле "Скорость (kb):" работать не будет!!!! Действует только ограничение ТП.
А вообще -то если у тебя контора "боле или менее" - биллинг лучшие купить.
Я действовал так:
- установил сам, настроил - заработало - возникло ОХриненное кол-во вопросов (а тогда, года 2-3 назад, гораздо хуже было с документацией и с форумом.)
- купил на контору биллинг
- "Зодолбал" автора вопросами

- Примерно понял "как оно работает" а именно очень важно: "что делать, когда все накрылось медным тазом" (бекапы, восстановление, обновление, резервные копии)
- Не мешал механизму работать. (и дальше б не мешал - но развелось юзверей, что сервер доступа нужен по мощнее, но это уже другая история).