Andrei Posted March 3, 2007 Posted March 3, 2007 В свое время использовали ICRadius + MySQL для карточной диалапной платформы: авторизация по логину/паролю + ограничение по времени устанавливалось параметром Total-Time-Limit (например, 18000 - это 5 часов). С ограничением доступа по времени ICRadius справлялся отлично. А можно ли на той же связке ICRadius + MySQL вводить ограничение по трафику при авторизации по pptp абонентов, подключающихся по домовым сетям? Фактически речь идет об организации карточной же платформы , но параметром ограничения доступа пользователя в инет будет не время на линии (как в dialup), а объем трафика (как в домовых сетках). Можно конечно кроном постоянно дергать статистику по текущим соединениям (например, раз в минуту) и сверять полученные данных с остатком для данной "pptp-интернет-карточки". Но частые "дергания" подгружают сервак, редкие "дергания" приведут к тому, что пользователь будет "перебирать" отпущенный ему трафик. Заранее благодарен за идеи. Вставить ник Quote
mikevlz Posted March 4, 2007 Posted March 4, 2007 вводить на канале лимит скорости - по нему можно будет произвести пересчет мегабайт в секунды. Вставить ник Quote
Andrei Posted March 4, 2007 Author Posted March 4, 2007 Если считать мегабайты, то вводить лимиты по скорости по крайней мере странно. Вставить ник Quote
mikevlz Posted March 4, 2007 Posted March 4, 2007 тогда выставляйте периодичность проверки расхода средств(мегабайт) исходя из полной скорости своего канала. Быстрее они не израсходуются. А вообще, радиус вроде умеет байты считать, почитайте к своей реализации справочку... Вставить ник Quote
Andrei Posted March 4, 2007 Author Posted March 4, 2007 Вы все правильно пишете - радиус умеет считать трафик, но я уже описал выше проблему - для этого надо периодически кроном дергать текущие показания счетчиков. Это я знаю. Но это сильно подгружает сервер с радиусом. Хотел бы выслушать другие идеи решения этой задачи. Вставить ник Quote
mikevlz Posted March 4, 2007 Posted March 4, 2007 Сменить модель учета трафика. Например на сбор статистики в NetFlow/sFlow, радиус заставить сбрасывать сессию по окончании денег. Вставить ник Quote
Andrei Posted March 4, 2007 Author Posted March 4, 2007 сбор статистики в NetFlow/sFlow Наверное это правильно, если pptp терминируется на какой-нибудь cisco. У нас сам же Linux терминирует pptp. С него и дергать NetFlow? Вставить ник Quote
Kirya Posted March 4, 2007 Posted March 4, 2007 сбор статистики в NetFlow/sFlowНаверное это правильно, если pptp терминируется на какой-нибудь cisco. У нас сам же Linux терминирует pptp. С него и дергать NetFlow? Без проблем. Ipcad и вперед. Вставить ник Quote
mikevlz Posted March 4, 2007 Posted March 4, 2007 как вариант - ndsad, хотя глюкало то еще + userlevel... была бы FreeBSD - то ng_netflow было бы идеальным решением. Вставить ник Quote
nuclearcat Posted March 4, 2007 Posted March 4, 2007 Есть параметр. Атрибут "Session-Octets-Limit", при превышении - дропнет сессию. Желательно заставить pppd периодически сбрасывать interim accounting, и подправлять эту величину на актуальную, т.к. когда юзера сбросит - он может быстро переконнектится, и ваш биллинг не успеет стопнуть его (все зависит от исполнения). Вставить ник Quote
Andrei Posted March 5, 2007 Author Posted March 5, 2007 Атрибут "Session-Octets-Limit", при превышении - дропнет сессию. На сколько я знаю октеты и байты - это несколько разные вещи. В какой "пропорции" они между собой связаны? Вставить ник Quote
UglyAdmin Posted March 5, 2007 Posted March 5, 2007 Делал по правилам iptables. При создании сессии создаётся разрешающее правило для этого инетрфейса/IP. При закрытии сессии правило удаляется, насчитанные байты конвертируются в деньги, деньги списываются. Раз в секунду проверяется лимит, если превышен - сессия сбрасывается. Поделка была перловая, много сессий не потянет, но ничего не мешает переписать на любой другой язык. Из плюсов - можно сделать бесплатную зону, если поколдовать - то зоны с разной тарификацией. Байты и октеты - суть одно и то же. Вставить ник Quote
mikevlz Posted March 6, 2007 Posted March 6, 2007 угу, если я правильно помню - октет - это 8 бит. А вообще,более-менее нормальный биллинг должен уметь считать трафик по направлению, как у телефонистов. Кстати, никто не задавался вопросом "раздать инет по направлению"? То есть локал, район,регион,область,россия,мир по разным ценам(для анлимитов - повременка %) Вставить ник Quote
nuclearcat Posted March 6, 2007 Posted March 6, 2007 В этом случае как минимум NetFlow. Городить огород с iptables будет сложновато. Вставить ник Quote
Kirya Posted March 6, 2007 Posted March 6, 2007 Кстати, никто не задавался вопросом "раздать инет по направлению"?То есть локал, район,регион,область,россия,мир по разным ценам(для анлимитов - повременка %) Мы когда-то так делали, потом смысла не стало.Хотя биллинг до сих пор честно считает по направлениям у помегабайтников... Но самые большие мастера этих дел в СНГ хохлыукраинцы. У них чуть ли не все провы делят по ценам UA-IX и внешку. Вставить ник Quote
UglyAdmin Posted March 6, 2007 Posted March 6, 2007 В этом случае как минимум NetFlow. Городить огород с iptables будет сложновато.NetFlow c pptp ещё более сложновато, особенно учитывая задержку экспорта в 1 минуту минимум.Для этого есть более другие решения (ISG, EDX), но они несколько монстроваты для тех, кто что-то лабает на коленке.. Вставить ник Quote
nuclearcat Posted March 6, 2007 Posted March 6, 2007 UglyAdmin - статические IP для клиентов, и все дела. В тарификации +-1 минута IMHO несущественны, даже для разных временных диапазонов, ну и в пакете NetFlow содержится инфа о времени начала flow и конце, можно поделить по среднестатической цифре. Хотя не очень красивое решение. Как вариант - заставить экспортера в межтарифные промежутки сбросить статистику по flow, и начать считать их заново. Вставить ник Quote
UglyAdmin Posted March 7, 2007 Posted March 7, 2007 Статические адреса для pptp? Это что-то новенькое. Не проще их в этом случае просто раздать, а защиту обеспечить другим способом? Вставить ник Quote
nuclearcat Posted March 7, 2007 Posted March 7, 2007 UglyAdmin - если есть managed свичи - конечно. А если нет? А если еще и сеть нужно побить на сегменты? Вставить ник Quote
mikevlz Posted March 7, 2007 Posted March 7, 2007 а кто мешает Active/Inactive таймауты у нетфлоу закрутить? у меня бсд позволяет... Вставить ник Quote
UglyAdmin Posted March 7, 2007 Posted March 7, 2007 меньше минуты - циска мешает :) не закручивается на ней. А если оно на бсде, то нахрена там пятая нога в виде NetFlow??? Вставить ник Quote
Andrei Posted March 7, 2007 Author Posted March 7, 2007 А если оно на бсде, то нахрена там пятая нога в виде NetFlow А Debian позволяет NetFlow? Вставить ник Quote
mikevlz Posted March 11, 2007 Posted March 11, 2007 там есть шестая нога - биллинг, который работает с нетфлоу. А остальное - только конвертером в нетфлоу... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.