Выбор биллинговой системы для домашней сети: Обзор биллинга UTM
08.11.2002 | khomya

Данная статья написана для облегчения первоначальной установки и настройки биллинговой системы для локальной сети. Все рекомендации и выводы основаны на личном опыте автора.

Как известно многим владельцам и администраторам локальных сетей – при подключении сетки к Интернету им рано или поздно придется столкнуться с проблемой подсчета интренет-трафика. Передо мной эта проблема стояла не так актуально, так как пользовался я биллингом, написанным собственноручно на перле. Добавление пользователей осуществлялось через консоль (я думаю, излишне объяснять почему маршрутизатор работает под FreeBSD :) . Данные снимались с ipfw каждые 10 минут и складывались в текстовый файл. Раз в сутки включался скрипт, который анализировал данные в файле, суммировал по всем интервалам времени и сравнивал с максимальным лимитом трафика для пользователей. Если количество скачанного трафика превышало заданный лимит – отправлялось письмо администратору с уведомлением. В самописной системе есть плюсы – главный, это то, что ты разбираешься во всех ее деталях, можешь дописать какой хочешь модуль. Так, например, в последствии я сделал автоматическую блокировку IP-адреса пользователя при истечении лимита по трафику. Все было хорошо, но со временем функциональности такой системы стало нехватать. Передо мной стала реальная задача повышения функциональности системы с добавлением функций не только подсчета трафика, но и учета денежных средств, ведением различных тарифных пакетов и автоматизации всего процесса, так как количество пользователей уже приблизилось к сотне.

Посидев полчаса с ручкой и листом бумаги я набросал основные функции, которые хотелось бы видеть в новой системе:

  • Возможность размещения расширенной информации о пользователях, помимо IP адреса
  • Привязка точки отсчета не к объему трафика, а к уплаченным денежным средствам
  • Возможность настраиваемых тарифных планов
  • Возможность просматривать статистику по трафику не только администратору, но и пользователю
  • Желательно, сделать возможность блокировки IP адреса самим пользователем, например перед тем, как выключить компьютер, поскольку были прецеденты подмены IP-MAC при выключенном компьютере “жертвы”…
  • Запись детальной статистики по пользователям с точностью до IP адресов источника и адресов назначения
  • Изменение способа хранения данных, так как обработка текстового файла при больших объемах трафика сильно нагружает сервер
  • Ну и конечно же, добавление пользователей (и вообще общение с системой) через WEB-интерфейс. В связи с этим назрела необходимость вести авторизацию через www, желательно по шифрованному каналу
  • Куча мелких доработок для увеличения удобства работы с системой

После написания этого списка было понятно, что на реализацию желаемых функций понадобится время, которого всегда катастрофически не хватает.  Раньше я пытался найти что-нибудь подобное в Интернете, но найденные решения были либо малофункциональными, либо платными. Причем стоимость последних была не то чтобы большая, она была очень большая… начиная от 3000$… Я все-таки решил еще покопаться в Интернете в надежде найти подходящий продукт. По запросу “биллинг” в Яндексе попались давно знакомые системы (и давно отвергнутые мной, как неподъемные с точки зрения денежных затрат).

Вот некоторые из них:

Тизона

Тизона – достаточно большая функциональность, перекрывает многие требования. Стоимость базового модуля 3500$ и плюс 1575$ сервер базы данных.

Билл-мастер

Билл-мастер – система может много чего делать, в том числе можно создавать неограниченное количество тарифных планов. Стоимость базового модуля под Linux – 3000$.

Атлант

Атлант – позволяет создавать гибкие тарифные планы. Есть возможность формирования отчетов и построения диаграмм. Ведение курсов валют и мультивалютность (это тоже немаловажная деталь).

Старт

Старт – неплохая биллинговая система, но заточена, в основном, под телефонию.

 

 

 

NetUP UserTrafManagerПотом мне попалась ссылка на ранее не встречавшуюся мне систему – NetUP UserTrafManager. Судя по описанию, биллинговая система UserTrafManager обладает очень большой функциональностью. Особенно понравились такие дополнительные функции, как возможность ведения учета трафика для разных подсетей с использованием разделения трафика на классы, возможность пополнения счета клиентами по предоплаченным интернет-картам, построение графиков загрузки канала, снятие статистики со многих маршрутизаторов (что позволяло строить более распределенную сеть), поддержка виртуальных частных сетей (это немаловажно при пользовании Интернетом в домашних сетях), развитый веб-интерфейс, построенный на основе шаблонов, что позволяет менять его под свои нужды. На фоне всего этого цена показалась очень удивительной – за все это разработчики хотели 200$.

Заинтересовавшись данным предложением послал запрос на доступ к тестовой онлайн-версии. WWW-интерфейс порадовал простотой и функциональностью. В принципе, мне не важно какой интерфейс в администраторской части, главное, чтобы он был достаточно функциональным. Важнее внешний вид пользовательской части системы, которая должна быть наглядной и интуитивно понятной. В данном случае он оказался более чем достаточным: в пользовательском кабинете можно включить/выключить Интернет для своего аккаунта, посмотреть статистику по трафику, информацию о зачисленных платежах, пополнить счет по предоплаченной Интернет-карточке, посмотреть график загрузки канала. Так же можно сменить пароль. Да, есть еще одна очень полезная деталь, о которой почему-то говориться на сайте не так уж много. Это агент безопасности “UTM Secure Agent” . Представляет собой маленькое окошко браузера, которое открывается при включении Интернета, если помечено поле “Подключить агента безопасности UTM SA”. В данном окошке отображается состояние Интернета и есть кнопка “Выключить”. Окошко обновляется каждые 5 минут и в случае, если его закрыли, Интернет для данного пользователя отключается. Использовать эту штуку полезно по следующим соображениям: при выключении компьютера (либо отключении его от сети) Интернет будет автоматически выключаться, что предотвращает возможность “воровать” трафик путем подстановки IP адреса “жертвы”.

После изучения онлайн-версии системы и общения с разработчиками я получил достаточно доводов для того, купить этот биллинг. Скажу наперед, что я не пожалел потраченных средств, так как UTM окупил свою стоимость за неделю, а по функциональности превысил мои ожидания.

И так, далее речь пойдет об установке и настройке системы на конкретном примере с привлечением общих понятий. Все замечания и наблюдения сделаны на основе личного опыта работы с системой и достаточно долгого общения с авторами биллинга.

В моем случае перед инсталляцией необходимо было определиться со способом включения биллинга в сеть, так как он предполагает несколько вариантов. На момент установки имелось следующее: локальная сеть с адресами 192.168.x.x  подключена к роутеру с двумя сетевыми карточками. Один из интерфейсов роутера “смотрит” в Интернет, другой – в локальную сеть 192.168.0.0/24. Сама сеть состоит из двух сегментов: 192.168.0.0/24 и 192.168.1.0/24. Второй сегмент соединен с первым посредством другого linux-маршрутизатора. Общая схема сети изображена на рисунке:

Схема сети

Для установки был выбран самый простой вариант – система с биллингом устанавливается на компьютер, который служит шлюзом в Интернет. На Интернет-роутере операционная система FreeBSD 4.5-STABLE.

Система поставилась без особых проблем. Все действия выполнялись в соответствии с инструкциями. В качестве интерфейса для «прослушивания» трафика был указан внутренний интерфейс, так как на роутере стоит nat. Самое главное, нужно не забыть прописать на автозагрузку поднятие apache и mysql . Я сделал это в файле /etc/rc.local :

#/etc/rc.local
/sbin/ldconfig -im /usr/local/lib/mysql
/usr/local/bin/safe_mysqld --user=root &
/usr/local/apache/bin/apachectl startssl
/usr/local/bin/ipcad –rs &

В системе используется планировщик cron, поэтому если нужно изменить периодичность выполнения каких-либо действий, то необходимо поправить файл /etc/crontab и перезапустить cron.

После процедуры установки следует процесс настройки системы через веб-интерфейс администратора. Набираем url в строчке браузера:

https://192.168.0.1/cgi-bin/utm/aaa

Попадаем на страничку, в которой предлагается выбрать куда входить: в администраторскую часть или в пользовательскую часть. Входим в админскую часть и направляемся в раздел “настройки”. Тут задаем основные классы трафика: Интернет входящий, Интернет исходящий и локальный трафик. Внутри каждого класса задаем подклассы.

Интернет входящий: (tc100)

Подклассы Из сети Маска подсети В сеть Маска подсети
10 0.0.0.0 0.0.0.0 192.168.0.0 255.255.0.0

Интернет исходящий: (tc200)

Подклассы Из сети Маска подсети В сеть Маска подсети
10 192.168.0.0 255.255.0.0 0.0.0.0 0.0.0.0

Локальный: (tc300)

Подклассы Из сети Маска подсети В сеть Маска подсети
10 192.168.0.0 255.255.0.0 192.168.0.0 255.255.0.0

Далее напротив каждого класса можно поставить галочку “Отображать на графиках” и задать цвета. Я поставил красный, зеленый, синий (FF0000, 00FF00, 0000FF).
Для нормальной работы системы необходимо настроить хотя бы один тарифный план. Делается это в разделе “Тарифы”. Создаем тарифный план с произвольным именем, например, «Базовый». Далее в свойствах тарифа важно правильно указать границы трафика и стоимость. Для настройки простого тарифного плана, например «стоимость входящего Интернет-трафика 10 центов за мегабайт» нужно прописать для «Интернет входящий» выражение для зависимости tc100,  границу прописать равной 0 байт, и стоимость поставить 0.1. В полях для других классов трафика проделывается то же самое, только стоимость выставляется равной нулю.

Далее нужно указать, какие правила firewall будут применяться при включении пользователем Интернета. Логика включения/выключения Интернета такова, что по умолчанию всем пользователям Интернет закрыт. При включении Интернета в firewall добавляется разрешающее правило, а при выключении – удаляется. Под FreeBSD при включении Интернета для каждого пользователя добавляется правило номер 1000+UID, где UID – идентификатор пользователя в системе. Следовательно, структура правил IPFW должна быть примерно следующей:

  • правила с номерами до 1000 – разрешающие доступ к самому серверу и по локальной сети
  • правило с номером больше чем 1000+(количество пользователей) – запрещающее доступ в Интернет

В моем случает это выглядело следующим образом:

100 allow ip from any to me via any
200 allow ip from me to any via any
10000 deny ip from any to any via any

В веб-интерфейсе администратора в разделе «Правила firewall» прописываем следующие правила:

1000 usersgroup1 allow ip from UIP to any
2000 usersgroup1 allow ip from any to UIP

Где UIP – это переменная, которая в каждом случае принимает значение IP-адреса пользователя. Номера правил (у меня это 1000 и 2000) определяют всего лишь последовательность, в которой они будут добавляться в firewall. Соответственно, в такой последовательность они и будут применяться для пакетов.

Теперь можно идти в раздел «Добавление пользователя» и заводить клиентов. Чтобы избежать многих ошибок хочу обратить внимание на некоторые вещи:

  • Имя пользователя нужно задавать одним словом, содержащим только латинские буквы, цифры и знаки подчеркивания
  • Не следует менять дату начала учетного периода для пользователя. Лучше удалить пользователя и создать снова с новой датой
  • Крайне не рекомендуется использовать кавычки в каких-либо полях. Вместо них можно использовать двойной апостроф
  • Не следует менять текущий тарифный план пользователя. Для смены тарифного плана нужно выбрать в поле «тарифный план следующего учетного периода» желаемый тариф.

При редактировании прав различных групп пользователей будьте осторожны и следите за тем, чтобы не добавить самого себя в пользовательскую группу – тогда уже нельзя будет поменять что-либо из текущего аккаунта, так как доступ к администраторским функциям окажется закрытым.

В результате использования описанной системы можно сделать вывод, что на данный момент среди других коммерческий биллинговых систем UserTrafManager является самым оптимальным по соотношению функциональность/цена. Также UTM 3.0 зарекомендовал себя как удобный, и главное, надежный инструмент Интернет-провайдера или администратора сети. В заключение хотелось бы выразить благодарность авторам биллинговой системы NetUP UTM 3.0 за оказанную поддержку в установке и настройке программного продукта. Как обычно, в конце статьи, хотелось бы упомянуть, что автор не несет какой-либо ответственности за любой ущерб, причененный читателю в результате прочтения данного материала.

Автор: Serge Makarov, (GeniusNet)

Просмотров новости: 6 496  <, , >


  • Реквест-Биллинг

    Пользуемся биллинговой системой «Реквест-Биллинг», UTM5 забыли, как страшный сон.

  • Эдуард

    Юзали UTM, год назад перешли на БгБилинг тепеь спим спокойно )))))

-->