The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Патч к pppd для подсчета трафика с разделением на зоны адресов

24.07.2006 11:32

Короткая предыстория.

Я долгое время использовал подсчёт трафика для клиентов через iptables, привязка mac/ip. Пока клиентов было немного, все было хорошо. Число клиентов выросло, у некоторых из них с одной машины ходят несколько человек, начали спрашивать подсчет по пользователю. Из-за того, что я использую несколько подсетей для клиентов и серверов, нужно иметь возможность не снимать деньги за внутренний трафик.

Я начал искать систему биллинга, остановился на ABillS. Все хорошо, трафик можно разделить по зонах, есть только одно НО. Но зоны поддерживаются только для expppd (FreeBSD) (Может еще для mpd, но он тоже только для FreeBSD). А я привык к Linux.

Зачем я это делал.

Патч создавался для подсчета трафика, идущей через pppd по зонах IPv4 адресов.

  • 0 - зона по умолчанию. В эту зону попадает трафик, что не попал в другие зоны. Эта зона не заполняется IP-диапазонами.
  • 1, ... - зоны, в которые попадает трафик, что соответствует внесенным IP-диапазонам.

    Патч состоит из трех частей - патча для pppd, патча для ядра и конфигуратора, который загружает зоны в ядро.

    Я не вижу смысла создавать отдельный проект где-то на sf или где-либо ещё, поэтому лежит он вместе сABillS, разработчик ABillS его размещает.

    Описание можно найти здесь, исходные тексты - здесь.

    1. Главная ссылка к новости (http://abills.asmodeus.com.ua/...)
    Автор новости: Stas
    Лицензия: CC BY 3.0
    Короткая ссылка: https://opennet.ru/7936-pppd
    Ключевые слова: pppd, traffic, patch
    При перепечатке указание ссылки на opennet.ru обязательно


    Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:44, 24/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если используешь pptp или pppoe - чем связка pppd+radius не устраивает?
     
     
  • 2.3, Stas (??), 17:58, 24/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Внимательно читаем тему. Подсчет трафика с разделением на зоны адресов. В стандартном pppd такого нет.
     

  • 1.2, Аноним (-), 16:49, 24/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как раз биллинг подбираю - что за лицензия у этого Abills - на сайте про это почему-то ни слова нет?
     
     
  • 2.12, AsmodeuS (?), 13:22, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    GNU General Public License (GPL)

    http://sourceforge.net/projects/abills/

     
  • 2.15, Stas (??), 15:56, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    GNU GPL v2 - в корне исходников.

     

  • 1.4, Аноним (-), 23:47, 24/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Стоило мучиться.

    www.netams.com

     
  • 1.5, Аноним (-), 23:48, 24/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вернее И стоило мучиться?

    http://www.netams.com

     
     
  • 2.6, impatt (??), 05:59, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо, стоило, потому, как лично у меня он показал себя как предельно глючная вещь. Вполне вероятно, что не только у меня мог бы так себя вести.
     
     
  • 3.9, Аноним (-), 10:59, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А у нас при выборе билли так и не нашли того, что нас устроит.
    В итоге я чуть переделал ulog-acctd, и написал полностью все свое на postgresql включая 99% логики.
    И по зонам, и по времени делит... и по суткам/дням недели. С любой детализацией и т.п.

    А для проверяющих - имеющее лицензию.

     

  • 1.7, dimon (??), 09:30, 25/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/

    Еще вариант биллинг: http://cherry.aisp.ru/index.php?option=com_frontpage&Itemid=1
    там это реализовано
    + ipcad
     
     
  • 2.8, Stas (??), 10:01, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Люди, ipcad - это хорошо, когда у вас этих зон штук 15 и больше. Тогда действительно им удобно считать. Да, ipcad и в ABillS есть :).

    Тут вопрос в том, что практически любой провайдер как на Украине, так и в России считает по разным тарифам:
    1) Наружный трафик (зона 0 у меня).
    2) Украина/Россия (пусть будет 1).
    3) Город (2).
    4) Локальная сеть (3).

    Зачем на это наворачивать ipcad? особенно когда IP выдаются динамически? А если несколько клиентов сидит за своим NAT, но хочет, чтоб я им отдельно считал трафик?

     
     
  • 3.10, Аноним (-), 11:02, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем понятно как считать трафик клиентов раздельно, если она сидят за NAT'ом...
    поясните пожалуйста.
     
     
  • 4.13, Stas (??), 15:46, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Используем VPN соединение (PPtP). В том-то и дело, что считается трафик конкретного пользователя (вернее, сессии для пользователя) - его считает сам pppd.
     
     
  • 5.16, Аноним (-), 16:39, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    вы имеете ввиду что сам пользователь из-за ната поднимает свой VPN и им пользуется? или на нате поднимается VPN и потом считается "раздельно" на уровне pppd (хотя как это все-таки для меня загадка).
    Если 1й вариант, то разговор о НАТ излишен в принципе.
     
     
  • 6.17, Stas (??), 23:00, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, наш pppd (NAS) запускается из PoPToP. Клиент у себя в Win настраивает VPN соединение с указанием IP нашего NAS. Я понимаю, что и в этом случае можно считать через ipcad, но зачем? у нас уже есть pppd, который тоже умеет считать, но в стандартной поставке немножко не так как нам надо.
     

  • 1.11, buzi (??), 12:31, 25/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Stas, ваш патч позволяет считать все-таки по именам пользователей или по адресам/зонам? потому как действительно уместен вопрос про нескольких клиентов за NAT'ом
     
     
  • 2.14, Stas (??), 15:54, 25/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Для каждого пользователя траффик считается по зонам. Пока зоны одинаковые для всех. Если будет время, добавлю ещё дополнительно зоны, задаваемые для каждого отдельно.
    Т.е. статистика выглядит так:
    ---------------------------------------------------------------------------------------
    user  | zone 0 in | zone 0 out | zone 1 in | zone 1 out | zone 2 in | zone 2 out | ....
    user1 | 1021212   | 321212     | 122222222 | 888888     | 2220000   | 333221     | ....
    user2 | 2341232   | 324231     | 211111111 | 666666     | 33300000  | 4444444444 | ....
    ..... | ......... | .......... | ......... | .......... | ......... | .......... | ....
    ---------------------------------------------------------------------------------------
    По поводу NAT - см ответ выше
     

  • 1.18, michael (??), 10:43, 26/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если ссумировать все PPPD-Input(Output)-Octets-Zones-x, то полученное значение на сходится с Acct-Input(Output)-Octets. (из примера атрибутов)
    Косяк?
     
     
  • 2.19, Stas (??), 11:15, 26/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. PPPD считает ВЕСЬ траффик, zone counters - только IPv4.
     

  • 1.20, AsmodeuS (?), 14:39, 02/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новый адрес проэкта http://abills.net.ua/
     
  • 1.21, Аноним (21), 02:21, 13/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Весч очень нужная. А никак продвинуть патч в основные репозитории ?
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру