Данный документ это - Traffic-Accounting-Billing-Configuration-HOWTO


  Оглавление

  1. Введение

    1.1 Что?
    1.2 Почему?
    1.3 Где?

  2. Инсталляция

    2.1 Рекомендации
    2.2 Методы инсталляции
      2.2.1 Инсталляция Traffic Accounting
      2.2.2 Инсталляция TA-WEB

  3. Конфигурирование

    3.1 Стандартизация
    3.2 Способы конфигурирования
      3.2.1 Конфигурирование Traffic Accounting
      3.2.2 Конфигурирование TA-WEB
      3.2.3 Принцип работы конфигураций

  4. Примеры задач

  --------------------------------------------------------------------------------------

  1. Введение

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

  1.1 Что?

    Для корректной работы TA Billing, его необходимо правильно
    сконфигурировать, а для того чтобы это сделать необходимо
    получить информацию об этом из данного документа.

  1.2 Почему?

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

  1.3 Где?

    Официальная страница проекта Traffic Accounting:
    	http://traflinux.sourceforge.net

    По указанному выше ресурсу можно получить всю последнюю
    информацию о разработках проекта Traffic Accounting.
    Также существует e-mail адрес [email protected],
    по которому возможно получить ответы на любые
    вопросы касающиеся проекта Traffic Accounting.

  2. Инсталляция

    Данный раздел информирует о способах инсталляции
    пакета TA Billing. И так же содержит рекомендационную
    информацию для инсталляции.

  2.1 Рекомендации

    1. При инсталляции Traffic Accounting
       рекомендуется использовать каталог
       назначения /var/trafacct/ .

    2. При инсталляции TA-WEB настоятельно
       рекомендуется использовать домашний,
       персонально созданный, каталог.
       Например /home/ta/ .

  2.2 Методы инсталляции

    Данный раздел предоставляет информацию
    по инсталляции составных частей
    продукта TA Billing.

  2.2.1 Инсталляция Traffic Accounting

    Для начала необходимо разархивировать
    полученный пакет Traffic Accounting.
    Например:
    bash# bunzip2 < ta-XXX.tar.bz2 |tar xvf -

    Далее зайдя в полученный каталог,
    отредактировать файл setup.conf.
    Файл setup.conf, будет меть
    содержание примерное следующему:
    NOCONFIGURED=1
    MAIN_TA_DIR=/var/trafacct/
    PIDOF=/sbin/pidof
    IPTABLES=/sbin/iptables

    1. NOCONFIGURED

      После завершения редактирования
      setup.conf необходимо перед данной
      переменной поставить знак '#'.
      Получится:
      #NOCONFIGURED=1

    2. MAIN_TA_DIR

      Каталог назначения, т.е. тот каталог
      в который будет инсталлирован пакет
      Traffic Accounting.

    3. PIDOF

      Путь к программе pidof.
      Данный параметр обязателен
      так как он используется в скрипте
      для запуска программы Traffic Accounting.

    4. IPTABLES

      Путь к программе iptables.
      Данный параметр обязателен
      так как iptables используется
      для отключения/подключения
      пользователей в скрипте.
      Конечно же последующий
      сгенерированный скрипт
      возможно изменить под
      свои нужны, но для начала
      необходимо указать путь
      к iptables.

    После изменения, как уже оговаривалось
    для переменной NOCONFIGURED, необходимо
    перед это переменной NOCONFIGURED поставить
    знак '#' в файле setup.conf, для того чтобы
    закомментировать переменную.
    Далее запустить скрипт инсталляции.
    Запуск скрипта:
    bash# ./install

    Вывод скрипта будет примерно следующим:
    Installing binaries... OK
    Installing documentation... OK
    Installing scripts... OK
    Installing skins... OK
    Generating main configuration file... OK
    Generating "rta" script... OK
    Generating "kshell" script... OK
    Generating "sta" script... OK
    Updating "tuseradd" tool... OK

    При возникновении какой-либо ошибки,
    о ней будет сообщено подробно, и поэтому
    всегда существует возможность исправления
    возникшей ошибки.

    На этом инсталляция пакета Traffic Accounting заканчивается.

  2.2.2 Инсталляция TA-WEB

    Для начала необходимо разархивировать
    полученный пакет TA-WEB.
    Например:
    bash# bunzip2 < ta-web-XXX.tar.bz2 |tar xvf -

    Далее необходимо создать персонального
    пользователя для WEB интерфейса:
    bash# useradd ta

    Далее отчистить его домашний каталог:
    bash# rm -fR /home/ta/

    Следующим шагом необходимо перекопировать
    все что находится в разархивированном каталоге
    в /home/ta/ .
    Далее изменить название каталога /home/ta/public_html
    на то название которое указано в настройках WWW сервера,
    или оставить таким же, если изменение не требуется.
    Права каталога /home/ta/ должны быть 755, целесообразнее
    установить права самому чтобы не происходило расхождений:
    bash# chmod 755 /home/ta

    Будет удобнее если WWW сервер настроить на автоматическое
    определение index.php, при заходе на страницу.
    После выполненных операций при заходе на страницу
    http://somehost.host/~ta/ WWW сервер не должен
    выдавать какие-либо ошибки.
    Версия PHP должна быть выше или равна 4.1.2 .

    На этом инсталляция TA-WEB заканчивается.

  3. Конфигурирование

    Данный раздел информирует о способах создания
    конфигураций для TA Billing.


  3.1 Стандартизация

    1. Для пакета Traffic Accounting
       рекомендуемым каталогом
       является /var/trafacct/ .

    2. Для TA-WEB рекомендуемым каталогом
       должна являться персонально созданная
       домашняя директория.

    3. Имена файлов пакета Traffic Accounting и
       TA-WEB изменять не рекомендуется.

    4. Используемый файл аунтефикации для модуля Server
       располагается в каталоге инсталляции, в подкаталоге /etc/,
       файл называется passwd.db . Этим файлом управляет и
       утилита tuseradd.

  3.2 Способы конфигурирования

    Данный раздел описывает способы конфигурирования
    пакета Traffic Accounting и TA-WEB.


  3.2.1 Конфигурирование Traffic Accounting

    Для создания конфигурации используются
    два скрипта, mkdevconf и mkdevdir.
    По умолчанию имя каждой конфигурации
    начинается с символа "с" и далее
    в зависимости от номера, например "c1",
    после c1 ставится символ "/", и далее
    ставится имя интерфейса, например "eth"
    и в результате получается "c1/eth".
    Имя "c1/eth" как раз надо будет вписывать
    в переменную dev файла ta.conf, как имя конфигурации.
    Такое именование сделано для отделения каждой конфигурации
    при обращении к ней через WEB интерфейс.
    Далее после того как имя конфигурации существует,
    необходимо создать ее конфигурационный файл.
    Файл будет соответственно располагаться в
    каталоге инсталляции, в подкаталоге ./etc/c1/.
    Имя файла, в данном примере, должно быть "eth-conf".
    Для задания параметров конфигурации необходимо
    отредактировать файл dev.conf, если такой файл
    не найден то необходимо его создать командой:
    bash# mkdevconf -gc

    Далее в файле "dev.conf" будут присутствовать
    следующие строки:

      1. MAIN_TA_DIR

        Каталог инсталляции.
	Например:
	/var/trafacct/

      2. TA_WEB_DIR

        Каталог данной конфигурации
	для WEB интерфейса.
	Например:
	/home/ta/configuration1/

      3. KILL_SHELL

        Имя программы для отключения пользователей.
	Программа должна располагаться в каталоге
	инсталляции в подкаталоге ./bin/ .
	Например:
	kshell

      4. FREE_SHELL

        Имя программы для подключения пользователей.
	Программа должна располагаться в каталоге
	инсталляции в подкаталоге ./bin/ .
	Например:
	kshell

      5. REAL_TIME

        Период обновления для online информации.
	Указанный период не должен быть менее
	5 секунд.
	Например:
	*/10|*|*|*|*|*|*

        каждые 10 сек.

      6. NETWORK

        Перечисление списков сетей для
	создаваемой конфигурации.
	Например:
	a192.168.2.0/24,a192.168.5.0/24,a192.168.8.60-90

      7. PROTOCOLS_LIST

        Перечисление протоколов по которым
	будет вестись статистика трафика
	в данной конфигурации.
	Например:
	1,6,17,90-110

	перечислены ICMP,TCP,UDP,90-110

      8. TCP_PORTS_LIST

        Перечисление TCP портов по которым
	будет вестись статистика трафика
	в данной конфигурации.
	Например:
	a20-21,a80,a3128

      9. UDP_PORTS_LIST

        Перечисление UDP портов по которым
	будет вестись статистика трафика
	в данной конфигурации.
	Например:
	a5140,a53

      10. DAILY_TIME

        Период ежедневных отчетов.
	Например:
	*|*|*|_|*|*|*

	В данном примере каждый новый день,
	т.е. ровно в 00:00:00 по времени.

      11. ABONENT_PERIOD

        Период снятия абонентской платы.
	Например:
	*|*|*|*|_|*|*

	В данном примере каждый новый месяц,
	т.е. на каждое первое число.

      12. SAVEDB_PERIOD

        Период сохранения базы данных.
	Например:
	*|*|_|*|*|*|*

	В данном примере каждый час.

      13. SAVEDB_DIR

        Имя каталога в котором будут
	содержаться сохраненные базы.
	Например:
	%YR-%MO-%DD

      14. SAVEDB_FILE

        Имя файла для сохранения базы.
	Например:
	%YR.%MO.%DD.%HH

      15. ONLINE_LIFETIME

        Колличество времени, в минутах,
	после прохождения которого
	IP адрес считается offline
	если от него небыло никакого
	обращения.
	Например:
	5

    Необходимо будет установить данные
    строки в соответствии с требованиями
    конфигурации. Далее запустить скрипт:
    bash# mkdevconf c1/eth eth-conf

    После отработки скрипта, появится файл
    eth-conf, который будет настроен в соответствии
    с общими требованиями конфигурации указанными
    ранее в dev.conf. Этот файл должен находиться
    в каталоге инсталляции в подкаталоге ./etc/c1/ .

    Далее необходимо в каталоге инсталляции в подкаталогах
    ./run/ и ./var создать каталоги с именем "c1".
    Далее перейти в созданный каталог ./var/c1
    и запустить в нем скрипт:
    bash# mkdevdir eth

    После отработки скрипта появится каталог "eth".

    На этом создание одной конфигурации заканчивается,
    естественно что необходимо еще править ta.conf
    для того чтобы Traffic Accounting знал о существовании
    созданной конфигурации, и если необходимо установить
    настройки для приема пакетов от Netflow и/или от клиентов
    к модулю Server.
    Дополнительные примеры конфигураций в п.4. "Примеры задач".

  3.2.2 Конфигурирование TA-WEB

    Для того чтобы создать конфигурацию необходимо
    присутствие скрипта mktawebconf .

    Например необходимо создать конфигурацию в
    TA-WEB которая должна находиться в каталоге
    /home/ta/configuration1/ для этого переходим
    в /home/ta, далее запускаем скрипт:
    bash# mktawebconf configuration1

    После отработки скрипта будет создан каталог
    configuration1 с необходимыми подкаталогами.
    После этого для доступа к созданной конфигурации
    необходимо прописать ее присутствие в файле
    /home/ta/setup/confs .
    Одна запись для одной конфигурации состоит
    из двух строк, например:
    Главная:1:0
    /var/trafacct/var/c1/:configuration1

    Первая строка указывает имя, далее через
    двоеточие идет ее номер(начинается с единицы
    и далее, 2, 3, в зависимости от кол-ва конфигураций),
    далее после двоеточия должно стоять 1 или 0, если 1 то
    данная конфигурация будет выбрана при входе на WEB интерфейс
    по умолчанию. Следующей строкой идут названия каталогов для
    конфигурации, до двоеточия ("/var/trafacct/var/c1/") это каталог
    с отчетами для этой конфигурации, после двоеточия("configuration1")
    это название каталога конфигурации в WEB интерфейсе т.е. тот же
    /home/ta/configuration1 .

    На этом создание конфигурации для TA-WEB заканчивается.
    Дополнительные примеры конфигураций в п.4. "Примеры задач".

  3.2.3 Принцип работы конфигураций

    Конфигурация созданная для Traffic Accounting
    пользуется данными от конфигурации созданной
    для TA-WEB. Так же конфигурация созданная
    в TA-WEB пользуется отчетами, и иными данными,
    конфигурации созданной для Traffic Accounting.
    Поэтому конфигурация для TA-WEB должна знать
    место нахождение конфигурации для Traffic Accounting.
    И обратно, конфигурация для Traffic Accounting
    должна знать где находится требуемая ей конфигурация
    для TA-WEB.

  4. Примеры задач

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

    1. Существует локальная сеть с выходом
       в интернет. Задача - организовать
       подсчет глобального трафика
       пользователей.
       Параметры:
       eth0 - локальная сеть
       eth1 - интерфейс выхода в интернет
       192.168.1.0/24 - локальная сеть
       МАСКАРАДИНГ

       Решение:

       1. создание конфигурации c1/eth
          настроенной на сеть 192.168.1.0/24

       2. в файл настройки конфигурации
          занести строку:
	  alo_dev(eth1)

       3. создание конфигурации для TA-WEB
          настроенной на конфигурацию c1/eth


    2. Существует локальная сеть с выходом
       в интернет. Задача - организовать
       подсчет глобального трафика
       пользователей в одной конфигурации
       и подсчет локального трафика в
       другой конфигурации. И сделать
       так чтобы пользователи могли
       отдельно просматривать как свой
       локальный трафик так и глобальный.
       Параметры:
       eth0 - локальная сеть
       eth1 - интерфейс выхода в интернет
       192.168.1.0/24 - локальная сеть
       МАСКАРАДИНГ

       Решение:

       1. создание конфигурации c1/eth
          настроенной на сеть 192.168.1.0/24

       2. в файл конфигурации c1/eth
          занести строку:
	  alo_dev(eth1)

       3. создание конфигурации c2/eth
          настроенной на сеть 192.168.1.0/24

       4. в файл конфигурации c2/eth
          занести строку:
	  alo_dev(eth0)

       5. создать конфигурацию для TA-WEB
          настроенной на конфигурацию c1/eth
	  для просмотра глобального трафика.

       6. создать конфигурацию для TA-WEB
          настроенной на конфигурацию c2/eth
	  для просмотра локального трафика.


    3. Существует VPN сервер с выходом
       в глобальный интернет. Задача -
       организовать подсчет трафика
       VPN пользователей.
       Параметры:
       eth1 - интерфейс выхода в интернет
       192.168.4.0/24 - VPN сеть

       Решение:

       1. создание конфигурации c1/eth
          настроенной на сеть 192.168.4.0/24

       2. занести в файл конфигурации c1/eth
          строку:
	  alo_dev(eth1)

       3. создать конфигурацию для TA-WEB
          настроенной на конфигурацию c1/eth.


    4. Существует два сервера на каждом из которых
       присутствует локальная сеть, так же у этих
       сетей общий шлюз в интернет, и есть CISCO
       который предоставляет Netflow поток.
       Задача - разделить две локальные сети по
       разным конфигурациям, и обобщить трафик
       от Netflow и на шлюзе в отдельную третью
       конфигурацию. Таким образом должны получиться
       три конфигурации в двух из них должен просматриваться
       локальный трафик пользователей а в третьей их
       глобальный трафик. Все операции выполняются
       на машине с первой локальной сетью.
       Параметры:
       eth1 - интерфейс первой локальной сети
       eth1 - интерфейс второй локальной сети
       eth2 - интерфейс выхода в интернет, на шлюзе
       192.168.1.0/24 - первая локальная сеть
       192.168.2.0/24 - вторая локальная сеть
       62.11.90.0/24 - сеть Netflow

       Решение:

       1. создание конфигурации c1/eth
          настроенной на сеть 192.168.1.0/24 .

       2. занести в файл конфигурации c1/eth
          строку:
	  alo_dev(eth1)

       3. создание конфигурации c2/eth
          настроенной на сеть 192.168.2.0/24
	  при этом настроить модуль Server
	  для приема пакетов на порту 3000 .

       4. запустить во второй локальной сети
          клиента tsclient направленного на
	  модуль Server и порт 3000, первой
	  локальной сети.

       5. занести в файл конфигурации c2/eth
          строку:
	  alo_dev(eth1)

       6. создание конфигурации c3/eth
          настроенной на сеть 192.168.2.0/24 и
	  сеть 62.11.90.0/24 при этом настроить
	  модуль Server для приема пакетов на
	  порту 3001 и модуль netflow для приема
	  пакетов на порту 3002.

       7. занести в файл конфигурации c3/eth
          строку:
	  alo_dev_prefix(eth2, netflow)

       8. запустить на шлюзе клиента tsclient
          направленного на модуль Server и
	  порт 3001, первой локальной сети.

       9. направить поток netflow в первую локальную
          сеть на порт 3002.

       10. создать конфигурацию для TA-WEB
           настроенной на конфигурацию c1/eth

       11. создать конфигурацию для TA-WEB
           настроенной на конфигурацию c2/eth

       12. создать конфигурацию для TA-WEB
           настроенной на конфигурацию c3/eth


    5. Существует локальная сеть у которой
       есть выход в интернет, так же эта
       локальная сеть общается с другой
       локальной сетью. Т.е. имеются две
       локальные сети которые общаются друг
       с другом и один выход в интернет.
       Задача - подсчитывать интернет трафик
       и локальный трафик как общий. При этом
       у  интернет трафика свой тариф, а
       тариф первой локальной сети немногим
       дешевле чем если общаться со второй
       локальной сетью. Т.е. необходимы три тарифа:
       первый для интернет трафика, второй
       для первой локальной сети, а третий
       тариф для второй локальной сети(т.е.
       те пользователи которые общаются
       со второй локальной сетью тоже отдельно
       тарифицируются но по иному тарифу).
       При этом должна существовать только
       одна конфигурация, конфигурация для
       пользователей первой локальной сети,
       так как только их трафик интересуем
       в данном примере.
       Параметры:
       eth0 - первая локальная сеть
       eth1 - вторая локальная сеть
       eth2 - глобальная сеть интернет
       192.168.1.0/24 - адрес первой сети
       62.100.100.0/24 - адрес второй сети

       Решение:

       1. Создание конфигурации c1/eth,
          настроенной на сети 192.168.1.0/24,
	  и 62.100.100.0/24.

       2. Занести в файл конфигурации c1/eth
          строку:
	  alo_ip_in_dev=(eth0)+(b192.168.1.0/24)
	  alo_ip_in_dev=(eth1)+(a62.100.100.0/24)

       3. Создание конфигурации для TA-WEB
          настроенной на конфигурацию c1/eth

       4. Создать тарифные планы для глобального
          трафика, для трафика первой сети и
	  для трафика второй сети.

       5. Создать первый список сетей, занести
          в список сеть b192.168.1.0/24, обязательно
	  с префиксом "b". Назначить тарифный план
	  созданный для первой локальной сети, этому
	  списку.

       6. Создать второй список сетей, занести
          в список сеть a62.100.100.0/24.
	  Назначить тарифный план созданный для
	  второй локальной сети, этому списку.


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


    6. Существует локальная сеть с выходом в интернет.
       Задача - считать локальный и глобальный трафик
       по разным тарифам, при этом не разделяя глобальный
       и локальный трафик, т.е. в отчете для пользователя
       должна быть информация по всему трафику пользователя,
       а не в отдельности локальный или глобальный. Необходимо
       создать дополнительные конфигурации "Локальная",
       "Интернет", соответственно в которых пользователь уже
       имеет возможность просматривать трафик в отдельности,
       т.е. информировать себя о количестве глобального трафика
       в конфигурации "Интернет" и о количестве локального
       трафика в конфигурации "Локальная" и о их отдельной стоимости.
       Параметры:
       eth0 - локальная сеть
       eth1 - выход в интернет
       192.168.1.0/24 - адрес локальной сети
       МАСКАРАДИНГ

       Решение:

       1. Создание конфигурации c1/eth,
          настроенной на сеть 192.168.1.0/24

       2. Занести в файл конфигурации c1/eth
	  строку:
	  alo_ip_in_dev=(eth0)+(b192.168.1.0/24)

       3. Создание конфигурации для TA-WEB настроенной
	  на конфигурацию c1/eth, с именем "Главная".

       4. Создать два тарифа в конфигурации "Главная".
	  Первый тариф для глобальной сети, второй тариф
	  для локальной сети.

       5. Создать в конфигурации "Главная" список сетей,
	  занести в список сеть с адресом b192.168.1.0/24.
	  Настроить данный список на второй тариф конфигурации
	  "Главная", существующий для локальной сети.

       6. Создание конфигурации c2/eth,
	  настроенной на сеть 192.168.1.0/24.

       7. Занести в файл конфигурации c2/eth
	  строки:
	  alo_dev(eth0)
	  alo_ip_global=(b192.168.1.0/24)

       8. Создание конфигурации для TA-WEB,
	  настроенной на конфигурацию c2/eth,
	  с именем "Локальная".

       9. Создание в конфигурации "Локальная"
          тарифа используемого для локальной сети,
	  это необходимо для того чтобы информировать
	  об отдельной стоимости локального трафика.
	  Так как в конфигурации "Главная" счет будет
	  общим для глобального и локального трафика.

       10. Отключить в конфигурации c2/eth
	   использование абонентской платы,
	   и автоматического отключения пользователей,
	   так как конфигурация используется только
	   для информирования.

       11. Создание конфигурации c3/eth.

       12. Занести в файл конфигурации c3/eth
	   строку:
	   alo_dev(eth1)

       13. Создание конфигурации для TA-WEB,
	   настроенной на конфигурацию c3/eth,
	   с именем "Интернет".

       14. Создание в конфигурации "Интернет",
           тарифа используемого для интернет трафика,
	   это необходимо для того чтобы информировать
	   об отдельной стоимости интернет трафика.
	   Так как в конфигурации "Главная" счет будет
	   общим для глобального и локального трафика.

       15. Отключить в конфигурации c3/eth
	   использование абонентской платы,
	   и автоматического отключения пользователей,
	   так как конфигурация используется только
	   для информирования.


    Данные примеры это лишь малая часть задач которые
    может решить пакет TA Billing.


Copyright (C) 2002, 2003 Yashin Sergey <[email protected]>