Получилось подключиться тестовым пользователем с динамическим адресом из пула Freeradius', удалось добиться отправки cisco-avpair на маршрутизатор cisco.
Проверил скрорость в интернете на internet.yandex.ru, она соответсвует заявленой скорости ТП 256Кбит.
Мои действия:
1 - в файле sql.conf прописал таблицу radius_data(таблица биллинга UTM) вместо radgroupreply (таблица Freeradius'a)
# groupreply_table = "radgroupreply"
groupreply_table = "radius_data"
2 - в dialup.conf изменил запрос authorize_group_reply_query
Код: Выделить всё
authorize_group_reply_query = "SELECT id, '%{SQL-Group}', 'Cisco-AVPair', radius_data.value, '=' \
FROM radius_data \
WHERE radius_data.owner_id=( select sl.service_id FROM ip_groups ig, iptraffic_service_links isl, service_links sl \
where ig.uname='%{SQL-User-Name}' and ig.is_deleted=0 and ig.ip_group_id=isl.ip_group_id \
and isl.is_deleted=0 and isl.id=sl.id and sl.is_deleted=0) \
AND radius_data.vendor=9"
3 - Поскольку не нашел метод отправки 2х параметров ограничения скорости на cisco input & output, объеденил 2 параметра в одну строку с обязательным разделением переноса строки в виде каретки \n
Параметр назначается в Тарифном плане, в Фиктивной услуге Передача-IP трафика.
ID вендора=9 ID аттрибута=1
Вид строки -
Код: Выделить всё
interface-config#1=rate-limit input 256000 32000 32000 conform-action transmit exceed-action drop \nrate-limit output 256000 32000 32000 conform-action transmit exceed-action drop
Обратил внимание что после сохранения строки с кареткой переноса строки, при следующем открытии она пропадает (\n), но при неоднокраной проверке ограничение скорости все равно выставляется что свидетельствует данные с cisco
Код: Выделить всё
[root@solomon ~]# rsh -l root 172.16.2.40 show int rate-limit
connect to address 172.16.2.40 port 544: Connection refused
Trying krb4 rsh...
connect to address 172.16.2.40 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
Virtual-Access3
Input
matches: all traffic
params: 256000 bps, 32000 limit, 32000 extended limit
conformed 21 packets, 2894 bytes; action: transmit
exceeded 0 packets, 0 bytes; action: drop
last packet: 544ms ago, current burst: 0 bytes
last cleared 00:00:12 ago, conformed 1000 bps, exceeded 0 bps
Output
matches: all traffic
params: 256000 bps, 32000 limit, 32000 extended limit
conformed 0 packets, 0 bytes; action: transmit
exceeded 0 packets, 0 bytes; action: drop
last packet: 445592252ms ago, current burst: 0 bytes
last cleared 00:00:12 ago, conformed 0 bps, exceeded 0 bps
[root@solomon ~]#
Пробовал прописывать Radius аттрибут с пробелом и двумя тоже, чтобы убедиться в том что при первой записи аттрибута обязательно указывать 'перенос строки' - \n, хоть и в дальнейшем она не отображается.
Это были тесты с динамическим адресом, сейчас приступаю к статическому.
Прописав адрес 95.y.x.29 в ip-группе пользователя, авторизовался удачно ))). Скорость тоже выставилась на cisco.
Осталось протестировать DHCP клиентов, ну и всех их одновременно
ответ | редактировать | удалить21 Июл 12 13:31 от Владимир Соломонов
Изменил скорость в ТП с 256 на 2Мбит
отработало замечательно
Код: Выделить всё
Sending Access-Accept of id 118 to 172.16.2.40 port 1645
Framed-IP-Address = 95.y.x.29
Framed-Pool = "dialup_pool"
Cisco-AVPair = "interface-config#1=rate-limit output 2048000 256000 256000 conform-action transmit exceed-action drop \n rate-limit output 2048000 256000 256000 conform-action transmit exceed-action drop"
MS-CHAP2-Success = 0x01533d37313737353243323432453734303231364231383946424639434438464232453837383046353232