metallic Опубликовано 17 июля, 2012 · Жалоба Здравствуйте. Имеется связка mpd5 + freeradius. Необходимо лимитировать трафик на сессию. Когда-то давно настраивал подобное на линуксе с pppd + freeradius и там был атрибут Session-Octets-Limit или как-то так. Возможно ли такое на mpd5 + freeradius, понимает ли mpd5 ограничение трафика, на этой странице http://mpd.sourceforge.net/doc/mpd62.html я ничего подходящего не нашел. Также перевернул весь гугл, полно сообщений о настройке шейпера, но вот по ограничению трафика ничего не нашел. На данный момент приходит в голову несколько вариантов реализации: 1. По крону проверять перерасход и отключать пользователя 2. При получении accounting пакетов(python-модуль и ф-ия accounting) проверять перерасход и отключать пользователя Но оба варианта какие-то не очень красивые и не точные, плюс надо через какие-то кастыли отключать пользователя, например скриптом через веб-интерфейс mpd. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
metallic Опубликовано 17 июля, 2012 · Жалоба Если с mpd нельзя, то интересует аналогичная ф-ия с accel-pptp Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 18 июля, 2012 · Жалоба Вы ищете аналог http://forum.mikrotik.com/viewtopic.php?p=264512#p264512 ? В mpd его не видно. В accel-pptp тоже: http://accel-pptp.git.sourceforge.net/git/gitweb.cgi?p=accel-pptp/accel-pptp;a=tree;f=accel-pptpd/radius/dict;h=2faea813446dd612550c9bbfbe4e162cb9c69b28;hb=HEAD Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 18 июля, 2012 · Жалоба как workaround, можно делать через pre-up и pre-down, добавляя правило iptables quota, остальные решения будут кроноподобные(т.е. перидическая проверка и блокировка) по хорошему, надо в ядро запиливать лимит трафика на интерфейс и управлять им через tc/API Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AlKov Опубликовано 18 июля, 2012 (изменено) · Жалоба Имеется связка mpd5 + freeradius. Необходимо лимитировать трафик на сессию. Когда-то давно настраивал подобное на линуксе с pppd + freeradius и там был атрибут Session-Octets-Limit или как-то так. Возможно ли такое на mpd5 + freeradius, понимает ли mpd5 ограничение трафика, на этой странице http://mpd.sourceforge.net/doc/mpd62.html я ничего подходящего не нашел. Может я конечно и ошибаюсь, или не понял суть задачи, но вообще-то этим (подсчетом трафика, проверкой лимитов и управлением соединением) обычно занимается не NAS(mpd), а именно radius (вернее биллинг на основе freeradius). mpd "отдает" радиусу (посредством радиус-атрибутов mpd-input-acct и mpd-output-acct) сведения о трафике, а радиус по наступлению нужного события ("исчерпан лимит") "командует" mpd, отключить юзера. В данном случае посредством того же радиус атрибута mpd-drop-user. Во всяком случае в "моём" биллинге (FreeNibs) это именно так и реализовано. Или Вы собираете собственную "конструкцию" freeradius-mpd? Но оба варианта какие-то не очень красивые и не точные, плюс надо через какие-то кастыли отключать пользователя, например скриптом через веб-интерфейс mpd. mpd давно умеет делать это посредством СоА c помощью radclient. Для этого достаточно поднять в mpd встроенный rad-server. добавляя правило iptables quota, остальные решения будут кроноподобные(т.е. перидическая проверка и блокировка) Дык нету во FreeBSD iptables.. Изменено 18 июля, 2012 пользователем AlKov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...