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


  Оглавление

  1. Введение

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

  2. Синтаксис файлов конфигурации
    2.1 Общий синтаксис
      2.1.1 Синтаксис переменных
      2.1.2 Синтаксис параметров
    2.2 Специальные символы
      2.2.1 Примеры использования

  3. Переменные главного файла конфигурации
    3.1 Предназначение
    3.2 Описание каждой переменной

  4. Переменные управления трафиком
    4.1 Предназначение
    4.2 Группы переменных
      4.2.1 Группа статистики
      4.2.2 Группа ведения лога
      4.2.3 Группа доступа
      4.2.4 Группа ведения отчетов
      4.2.5 Вспомогательная группа
      4.2.6 Группа лимитов
      4.2.7 Переменные TA Billing

  5. Модуль Netflow
    5.1 Поддерживаемые версии Netflow
    5.2 Работа с модулем Netflow
    5.3 Исключительные ситуации

  6. Модуль Server
    6.1 Информация
    6.2 Необходимые настройки
    6.3 Исключительные ситуации
    6.4 Создание аккаунта
    6.5 Запуск клиента

  7. Оптимизация конфигурации
    7.1 Оптимизация по скорости

  8. Тесты работы TA Billing
    8.1 Размер базы данных
    8.2 Скорость работы

  9. Дополнительные возможности TA
    9.1 Параметры командной строки
    9.2 Опустошение буфера

  10. Утилиты
    10.1 Подробное описание

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


  1. Введение

    Данный документ предоставляет исчерпывающую информацию о способах работы
    и функциональных возможностях программы Traffic Accounting в режиме биллинга.
    В разделе 1.3 указан адрес по которому можно получить последнюю
    версию данного документа.

  1.1 Что?

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

  1.2 Почему?

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

  1.3 Где?

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

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

  2. Синтаксис файлов конфигурации

    Синтаксис для TA Billing не изменился и
    остается таким же каким был изначально
    для программы Traffic Accounting.

  2.1 Общий синтаксис

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

  2.1.1 Синтаксис переменных

    Переменная должна начинаться с имени и заканчиваться символом '=' .
    Это главное правило для всех переменных.
    Пример:

    variable=

  2.1.2 Синтаксис параметров

    Каждый параметр в описании переменной должен указываться
    после символа '=' .
    Каждый параметр должен быть заключен в скобки '()'.
    Все параметры отделяются друг от друга символом '+'.
    Пример:

    variable=(parameter1)+(parameter2)+(parameter3)+(parameter4)

    Если внутри какого-либо параметра должны находиться перечисления,
    то перечисления отделяются друг от друга символом ',' .
    Пример:

    variable=(parameter1)+(parameter2)+(e1,e2,e3,e4,e5)+(parameter4)

  2.2 Специальные символы

    Во всех файлах конфигурации, существуют специальные символы,
    к ним относятся: + ( ) = \
    пробел так же является специальным символом и
    пробелы, найденные в параметре, удаляются.
    Как управлять специальными символами описано в п. 2.2.1

  2.2.1 Примеры использования

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

    /var/trafacct/eth1+eth4-traffic

    данная строка должна вызвать ошибку, но если перед символом '+' поставить
    символ '\' то ошибки не будет, так же с остальными спец. символами.
    Любой символ следующий за символом '\' воспринимается как обычный символ.
    Пример:

    /var/trafacct/eth1\+eth4-traffic
    /var/trafacct/eth1\\eth4-traffic
    /var/trafacct/eth1\ eth4-traffic
    /var/trafacct/eth1\(traffic\)

  3. Переменные главного файла конфигурации

  3.1 Предназначение

    Так как все описанные в п. 3 переменные принадлежат
    к главному файлу конфигурации то и предназначены они
    только для главного файла конфигурации.
    Главный файл конфигурации называется "ta.conf".
    Расположение данного файла определяется расположением
    инсталляции TA Billing, если инсталляция находится
    в каталоге /var/trafacct, то файл "ta.conf" расположен
    в /var/trafacct/etc .

  3.2 Описание каждой переменной

    Перед тем как начать описание каждой из переменных,
    необходимо знать имена тех переменных которые _обязательно_
    должны находиться в главном файле конфигурации.
    К таким переменным относятся:
    dev, dir, mlog, TApidfile

    Описание каждой из переменных.

    1. dev

      В данной переменной перечисляются названия интерфейсов
      которые должны заносится в лог, или же
      перечисляются названия конфигураций.
      Названия интерфейсов должны быть общими т.е.
      если нужно заносить в лог интерфейсы eth1, eth2, eth3
      то нужно записать первые буквы до перечисления т.е. "eth".
      Так же и для "ppp", "plip", и т.д.
      Если используются названия конфигураций, например
      gateway-1, office-888, myhomenet, то такие названия
      так же должны быть занесены в переменную promisc_dev.
      Пример:
      dev=(eth,lo,ppp)

    2. dir

      В данной переменной указывается название каталога
      для конфигурации управления логом для каждого из интерфейсов
      т.е. к примеру если указаны в переменной dev интерфейсы
      "eth", "ppp" то в этом каталоге должны находится файлы
      "eth-conf", "ppp-conf". Переменные для таких файлов конфигурации
      описаны ниже. Тоже относится и к названиям конфигураций,
      т.е. если указана конфигурация my_home_net то настроечный
      файл будет называться "my_home_net-conf".
      Пример:
      dir=(/etc/ta/)

    3. mlog

      В данной переменной указывается имя файла в который будут
      заноситься различного рода отладочные сообщения
      в процессе работы программы.
      Пример:
      mlog=(/var/log/ta.log)

    4. spec_ch

      В данной переменной указывается _один_ символ,
      этот символ будет использоваться для разделения
      полей в различных логах.
      Пример:
      spec_ch=(|)

    5. skin_path

      Данная переменная сообщает для Traffic Accounting,
      где искать скины для функций ведения отчетов.
      Данную переменную необходимо использовать если используются
      функции ведения отчетов.
      Пример:
      skin_path=(/etc/ta/skins)

    6. TApidfile

      Данная переменная сообщает Traffic Accounting
      расположение pid файла, это необходимо для
      контролирования ситуаций в которых TA может запуститься
      более одного раза. В данной переменной можно использовать
      строку %DV которая укажет TA что в этом месте необходимо
      ставить имя интерфейса или конфигурации, это нужно для
      того если в одной конфигурации используется более одно
      интерфейса т.е. в dev= указаны интерфейсы
      например eth и ppp, то тогда одного pid файла будет не
      достаточно для двух процессов и автоматически %DV
      преобразуется в имя того процесса файл которого создается
      в следующем примере будут созданы два файла eth.pid и ppp.pid
      в каталоге /var/trafacct/run .

      Пример:
      TApidfile=(/var/trafacct/run/%DV.pid)

    7. promisc_dev

      Данная переменная сообщает Traffic Accounting
      какие конфигурации необходимо переключить в
      режим сбора всех проходящих пакетов с любых
      интерфейсов.
      Указывать конфигурацию в этой переменной необходимо
      в том случае когда в dev= указаны имена конфигурации
      отличные от префиксов имен интерфейсов т.е. указано
      dev=(nf-collector, gateway), если указывается какое либо
      имя конфигурации например eth то по умолчанию в указанную
      конфигурацию попадут все пакеты интерфейс которых начинается
      с префиксом eth т.е. eth1, eth2, eth3 и т.д., но если
      имя конфигурации не совпадает с префиксом т.е. если используется
      имя collector и если интерфейсов с префиксом collector не существует
      то в данную конфигурацию не попадет ни один пакет, и поэтому
      название такой конфигурации необходимо занести в список
      переменной promisc_dev. Или же если требуется чтобы через
      указанную конфигурацию проходили пакеты со всех интерфейсов,
      то так же нужно занести имя конфигурации в этот список.
      Пример:
      promisc_dev=(nf-collector, ppp, office905)

    8. module_sleep

      Данная переменная указывает время ожидания,
      в секундах, ответа от модуля.
      Пример:
      module_sleep=(1)

    9. MODserver_port

      Данная переменная используется для указания
      конфигурациям порты для использования модуля Server.
      Например если используется несколько конфигураций
      eth, ppp, localnet, и в каждой конфигурации
      используется модуль Server то необходимо для каждой указать
      на каком порту будут слушаться пакеты от клиентов.
      Пример:
      MODserver_port=(eth:3003,ppp:3004,localnet:3005)

    10. MODnetflow_port

      Данная переменная используется для указания
      конфигурациям порты на которых будут слушаться
      netflow пакеты.
      Пример:
      MODnetflow_port=(nf-collector:4004,anothernet:4005)

    11. Системные переменные.

      Ниже перечислены системные переменные
      настраиваемые при инсталляции.
      Переменные:
      MODeth_full_log, MODeth_time_log,
      MODeth_pid_file, MODeth_run_file,
      MODserver_full_log, MODserver_time_log,
      MODserver_pid_file, MODserver_run_file,
      MODnetflow_full_log, MODnetflow_time_log,
      MODnetflow_pid_file, MODnetflow_run_file.

  4. Переменные управления трафиком

  4.1 Предназначение

    Все переменные описанные в п. 4, относятся только
    к файлам конфигурации управления трафиком, и могут
    находится только в файлах конфигурации управления трафиком.
    Путь к такому файлу складывается так:
    в главное конфигурационном файле из переменной dir
    берется имя каталога, далее для каждой конфигурации,
    указанной в переменной dev имя файла будет имя конфигурации+"-conf",
    к примеру dev=(eth,mylocalnet), из этого значит что файлы будут называться
    eth-conf,mylocalnet-conf и лежать они должны в каталоге указанном
    в переменной dir, если dir=(/var/trafacct/etc) то для каждого путь будет
    /var/trafacct/etc/eth-conf
    /var/trafacct/etc/mylocalnet-conf
    и именно для таких файлов как mylocalnet-conf
    ниже в п. 4.2 описываются переменные.

  4.2 Группы переменных

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

  4.2.1 Группа статистики

    В данную группу входят такие переменные как:

    stat_global, stat_by_dev, stat_by_ip_global,
    stat_by_ip_dev, bin_stat_global, bin_stat_by_dev,
    bin_stat_by_ip_global, bin_stat_by_ip_dev,
    full_stat_global, full_stat_by_dev,
    full_stat_by_ip_global, full_stat_by_ip_dev
    bin_full_stat_global, bin_full_stat_by_dev
    bin_full_stat_by_ip_global, bin_full_stat_by_ip_dev

    Описание каждой из переменных.

    1. stat_global

	Переменная обязательно имеет 2 параметра.
	Параметры:
	    1)	Указывает на файл, в этот файл заносится
		каждый пакет, тип которого указан вторым
		параметром.
	    2)	Перечисление типов заносимых в лог пакетов.
	Тип пакетов может принимать значения i,o,f,b,m,a:
	i = input
	o = output
	f = forward
	b = broadcast
	m = multicast
	a = any

	В лог данной переменной заносится каждый пакет
	в соответствии с указанным типом.
	т.е. если указать несколько строк такой переменной
	то каждая будет вести себя по указанному типу, например
	если указать две строки:
	stat_global=(/var/trafacct/lo-stat-input)+(i)
	stat_global=(/var/trafacct/lo-stat-output)+(o)
	то в файл /var/trafacct/lo-stat-input будут заносится
	пакеты, которые имеют тип "i"(input), а во второй файл
	/var/trafacct/lo-stat-output будут заносится пакеты
	с типом "o"(output).
	Но можно использовать и по одной строке:
	Пример:
	stat_global=(/var/trafacct/lo-stat)+(a)
	    или
	stat_global=(/var/trafacct/lo-stat)+(i,m)

    2. stat_by_dev

	Переменная имеет 4 параметра, но обязательными
	являются только 3.
	Параметры:
	    1)	Перечисление интерфейсов которые нужно заносить в лог.
	    2)	Файл в который заносится лог.
	    3)	Перечисление типов заносимых в лог пакетов.
	    4)	Имя для данной переменной, оно используется
		другой переменной пример этого приведен
		ниже(см. описание deny_ip_in_name).
	Функция предназначена для ведения лога, по определенным
	интерфейсам.
	Пример:
	stat_by_dev=(eth0,eth3,eth5)+(/var/trafacct/eth-dev-stat)+(o)+(name1)
	    или
	stat_by_dev=(eth0,eth3,eth5)+(/var/trafacct/eth-dev-stat)+(o)

    3. stat_by_ip_global

	Переменная имеет 4 параметра, но обязательными
	являются только 3.
	Параметры:
	    1)	Перечисление IP адресов для занесения их в лог-файл,
		который указан вторым параметром.
		IP адреса, перечисляются в следующем виде:
		первым символом ставится один из следующих:
		"a" - IP адрес может быть как source так и
		      destination.
		"s" - IP адрес может быть только как source.
		"d" - IP адрес может быть только как destination.
		"b" - IP адреса source и destination должны быть
		      равны, т.е. если указывается
		      b192.168.1.0/24 то будут учитываться
		      только те пакеты у которых и source
		      IP адрес и destination IP адрес
		      из одной и той же сети 192.168.1.0/24.
		если нужно заносить в лог source IP,
		то нужно указывать строку например s134.45.67.98
		для destination d134.45.67.98, если нужно
		заносить в лог IP с любым типом
		то можно указать a134.76.34.21.
		Тип IP адреса всегда должен присутствовать.
		К тому же можно указывать диапазоны IP адресов,
		например s168.34.65.1-254, a200.21.45.23-87.
	    2)	Файл в который будет заноситься статистика.
	    3)	Перечисление типов пакетов заносимых в статистику.
	    4)	Имя для данной переменной.
	Функция предназначенная для ведения лога статистики
	по определенным IP адресам.
	Пример:
	stat_by_ip_global=(s127.0.0.1-10,s127.0.0.34)+(/var/trafacct/lo-ip-stat)+(i,f)+(name2)

    4. stat_by_ip_dev

	Переменная имеет 5 параметров, но обязательными являются
	только 4.
	Параметры:
	    1)	Перечисление интерфейсов по которым будет
		вестись статистика.
	    2)	Перечисление IP адресов для интерфейсов, по которым
		будет вестись статистика.
	    3)	Фай статистики.
	    4)	Перечисление типов пакетов, для которых будет вестись
		статистика.
	    5) Имя переменной.
	Функция предназначена для ведения статистики для определенных
	интерфейсов, по IP адресам.
	Пример:
	stat_by_ip_dev=(eth3,eth1)+(s192.168.0.1-10,s192.168.0.34,d192.168.0.58)+(/var/trafacct/eth-dip-stat)+(f,o)+(test)

    5. bin_stat_global

	Данная функция аналогична к stat_global, разница только
	в формате статистики.

    6. bin_stat_by_dev

	Данная функция аналогична к stat_by_dev, разница только
	в формате статистики.

    7. bin_stat_by_ip_global

	Данная функция аналогична к stat_by_ip_global, разница только
	в формате статистики.

    8. bin_stat_by_ip_dev

	Данная функция аналогична к stat_by_ip_dev, разница только
	в формате статистики.

    9. full_stat_global

	Данная функция аналогична к stat_global, разница только
	в формате статистики.

    10. full_stat_by_dev

	Данная функция аналогична к stat_by_dev, разница только
	в формате статистики.

    11. full_stat_by_ip_global

	Данная функция аналогична к stat_by_ip_global, разница только
	в формате статистики.

    12. full_stat_by_ip_dev

	Данная функция аналогична к stat_by_ip_dev, разница только
	в формате статистики.

    13. bin_full_stat_global

	Данная функция аналогична к stat_global, разница только
	в формате статистики.

    14. bin_full_stat_by_dev

	Данная функция аналогична к stat_by_dev, разница только
	в формате статистики.

    15. bin_full_stat_by_ip_global

	Данная функция аналогична к stat_by_ip_global, разница только
	в формате статистики.

    16. bin_full_stat_by_ip_dev

	Данная функция аналогична к stat_by_ip_dev, разница только
	в формате статистики.

  4.2.2 Группа ведения лога

    В данную группу входят такие переменные как:

    log_file, log_by_ip, log_by_each_ip,
    log_by_port, log_by_each_port, log_by_proto,
    log_by_each_proto, log_by_port_ip, log_by_port_ip_each,
    log_by_eport_eip, log_by_each_ip_local,
    log_by_ip_local, log_by_proto_ip, log_by_proto_ip_each,
    log_by_eproto_eip, full_log_by_each_ip.

    Описание каждой из переменных.

    1. log_file

	Переменная, обязательно, имеет 2 параметра.
	Параметры:
	    1) указывает на имя файла.
		В указанный файл, заносится кол-во
		байт, каждого пакета, для каждого типа пакета.
	    2) перечисление типов учитываемых пакетов.
		Типы могут быть:
		"i" - приходящий на интерфейс (input)
		"o" - исходящий с интерфейса (output)
		"f" - проходящий на другой интерфейс (forward)
		"b" - broadcast
		"m" - multicast
		"a" - Учитывать все (any)
		Каждый тип содержит только _один_ символ,
		т.е. нельзя указывать вместо "i", "input".
		Все эти типы могу быть перечислены одновременно,
		или же заменены на тип "a", так же
		типа "a" не может быть перечислен с другими типами,
		т.е. если присутствует тип "a" то он должен быть
		единственным указанным типом.
	    3) Имя для данной переменной

	Пример:
	log_file=(/var/trafacct/lo-log)+(i,o,f,b,m)
	    или
	log_file=(/var/trafacct/lo-log)+(a)
	    или
	log_file=(/var/trafacct/lo-log)+(i,f,m)
	    или
	log_file=(/var/trafacct/log_file)+(a)+(log_file_name)
	deny_dev_in_name=(log_file_name)+(eth5)

    2. log_by_ip

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Перечисление IP адресов и/или диапазонов IP адресов.
	    2)	Строка c именем файла.
	    3)	Перечисление типов пакетов.
	    4)	Строка с именем.
	С помощью данной ф-ции можно суммировать трафик
	для отдельных ip адресов, т.е.
	данная функция почти аналогична функции "log_file" за тем исключением,
	что ЛОГ создается для отдельных и/или диапазонов IP адресов.
	Пример:
	log_by_ip=(s127.0.0.5,d127.0.0.10-56)+(/var/trafacct/lo-bip-log)+(i,o)+(name4)

	В файле результата "/var/trafacct/lo-bip-log" возможно увидеть ЛОГ
	подобный следующему:
	    +++
		lo|s127.0.0.5,d127.0.0.10-56|i:2268|b:0|m:0|f:0|o:2268
	    +++

    3. log_by_each_ip

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Перечисление IP адресов и/или диапазонов.
	    2)	Строка с именем файла.
	    3)	Перечисление типов пакетов.
	    4)	Имя для данной переменной.
	Данная ф-ция практический клон к log_by_ip,
	но с одной лишь только разницей, что это лог
	каждого IP адреса в указанном диапазоне,
	т.е. ЛОГ распространяется и создается для каждого
	IP адреса соответствующего указанному диапазону.
	Весь ЛОГ пишется в файл указанный параметром под номером 2.
	Записываются IP адреса совпадающие с диапазоном указанным
	в параметре номер 1, и проверяется совпадение на типы пакетов
	в параметре номер 3.
	В данной переменной нужно использовать IP адреса и/или диапазоны
	_только_ с типом "a"(any), например a127.0-12.45.20, a192.168.1.0/28,
	a192.168.2.255/255.255.255.0 .
	Пример:
	log_by_each_ip=(a127.0.0.5,a127.0.0.10-56,a127.0.0.1/30)+(/var/trafacct/lo-IE-log)+(i,o)+(nameIE)

	Для данной строки ЛОГ будет выглядеть так:
	    +++
		lo|127.0.0.1|i:168|b:0|m:0|f:0|o:168
		lo|127.0.0.5|i:168|b:0|m:0|f:0|o:168
		lo|127.0.0.11|i:840|b:0|m:0|f:0|o:840
		lo|127.0.0.12|i:168|b:0|m:0|f:0|o:168
		lo|127.0.0.13|i:168|b:0|m:0|f:0|o:168
		lo|127.0.0.14|i:168|b:0|m:0|f:0|o:168
		lo|127.0.0.15|i:924|b:0|m:0|f:0|o:924
	    +++

    4. log_by_port

	Переменная имеет 5 параметров.
	Параметры:
	    1) Номер протокола, по портам которого будет вестись
	       лог. Стандартные номера это 17 для UDP и 6 для TCP.
	       Для того чтобы считать порты с UDP данный параметр
	       должен быть равен 17 .
	    2) В данном параметре указывается либо диапазон портов либо,
	       отдельный порт, но целесообразнее указать диапазон так как
	       для лога по отдельным портам существует другая переменная.
	       Порты указываются как :
	       первый символ это a(any), s(source) , d(destination)
	       или b(both).
	       тип any:
		   он означает, что указанный порт может быть как
		   source так и destination.
	       тип source:
		   означает у пакета исходящий порт (порт откуда он прибыл).
	       тип destination:
		   означает у пакета порт назначения (порт на который прибыл).
	       тип both:
		   означает что указанный порт должен быть как в
		   source так и в destination т.е. если указан порт
		   b80 то такой порт должен быть равен source и равен
		   destination, с диапазонами так же, если указано
		   b100-200 то такой диапазон должен соответствовать
		   как source port так и destination port, и тогда пакет
		   будет учтен.

	       после первого символа идет номер порта, если диапазон то
	       указывается он так: a12-45
	       можно также в одном параметре совмещать: a12-45,d59,s34,d90-100
	    3) Файл в который будет записываться результат лога.
	    4) Перечисление типов пакетов.
	    5) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Данная переменная используется для ведения лога по диапазону портов,
	т.е. по нескольким портам сразу. Результаты этой переменной будут
	колличество байт переданных с/на диапазон портов.
	Пример:
	log_by_port=(17)+(a1-65535)+(/var/trafacct/log_by_port)+(b,f,m,i,o)+(lbp_name)

    5. log_by_each_port

	Переменная имеет 5 параметров.
	Параметры:
	    1) Номер протокола, по портам которого будет вестись
	       лог.
	    2) В данном параметре указывается диапазон портов.
	    3) Файл в который будет записываться результат лога.
	    4) Перечисление типов пакетов.
	    5) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Данная переменная используется для ведения лога по каждому порту
	который входит в диапазон/перечисление указанное параметром 2.
	В результате лога, будет видно сколько ушло/пришло с/на каждый порт
	входящий в диапазон.
	Пример:
	log_by_each_port=(6)+(a1-65535)+(/var/trafacct/log_by_each_port)+(a)+(asdfg_name)

    6. log_by_proto

	Переменная имеет 4 параметра.
	Параметры:
	    1) В данном параметре указывается перечисление и/или диапазоны
	       протоколов. Пример: 12-10,6,17,1-5
	    2) Файл в который будет заноситься результат работы переменной.
	    3) Перечисление типов пакетов.
	    4) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Данная переменная используется для ведения лога по диапазону
	протоколов, например если в первом параметре указать перечисления вида:
	1,6,17 то в результате можно увидеть сколько байт пришло/ушло
	по протоколам ICMP,TCP,UDP .
	Пример:
	log_by_proto=(1,17)+(/var/trafacct/log_by_proto)+(a)+(lbprot_name)
	в результате возможно наблюдать трафик для протоколов ICMP и UDP.

    7. log_by_each_proto

	Переменная имеет 4 параметра.
	Параметры:
	    1) В данном параметре указывается перечисление и/или диапазоны
	       протоколов.
	    2) Файл в который будет заносится результат работы переменной.
	    3) Перечисление типов пакетов.
	    4) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результат работы данной переменной - лог в котором возможно наблюдать
	трафик для каждого из протоколов входящих в диапазон/перечисление.
	Пример:
	log_by_each_proto=(1,17)+(/var/trafacct/log_by_each_proto)+(i,o,b,f,m)+(log_by_each_proto)

    8. log_by_port_ip

	Переменная имеет 6 параметров.
	Параметры:
	    1) Номер протокола, по портам которого будет вестись
	       лог.
	    2) Перечисление диапазонов IP адресов.
	    3) В данном параметре указывается либо диапазон портов либо
	       отдельный порт но целесообразнее указывать диапазон так как
	       для лога по отдельному порту существует другая переменная.
	    4) Файл в который будет записываться результат лога.
	    5) Перечисление типов пакетов.
	    6) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результатом работы данной переменной будет трафик по диапазону
	портов, для определенной группы IP адресов указываемых
	в диапазоне (2-й параметр).
	Пример:
	log_by_port_ip=(6)+(a127.0.0.20-40)+(a1-65535)+(/var/trafacct/log_by_port_ip)+(i,o,b,f,m)+(log_by_port_ip)

    9. log_by_port_ip_each

	Переменная имеет 6 параметров.
	Параметры:
	    1) Номер протокола, по портам которого будет вестись
	       лог.
	    2) Перечисление диапазонов IP адресов.
	    3) В данном параметре указывается диапазон портов.
	    4) Файл в который будет записываться результат лога.
	    5) Перечисление типов пакетов.
	    6) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результатом работы данной переменной будет трафик по портам входящим
	в диапазон/перечисление	портов, указанных 3-м параметром,
	для каждого IP адреса входящего	в диапазон/перечисление
	IP адресов(2-й параметр).
	Пример:
	log_by_port_ip_each=(6)+(a127.0.0.1-10)+(a1-65535)+(/var/trafacct/log_by_port_ip_each)+(i,o,b,f,m)+(log_by_port_ip_each)

    10. log_by_eport_eip

	Переменная имеет 6 параметров.
	Параметры:
	    1) Номер протокола, по портам которого будет вестись
	       лог.
	    2) Перечисление диапазонов IP адресов.
	    3) В данном параметре указывается либо диапазон портов.
	    4) Файл в который будет записываться результат лога.
	    5) Перечисление типов пакетов.
	    6) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результатом работы данной переменной будет лог в котором возможно
	наблюдать траффик по каждому IP адресу входящему в диапазон и по
	каждому порту(входящему	в диапазон, указанный 3-м параметром)
	для каждого IP адреса.
	Пример:
	log_by_eport_eip=(6)+(a127.0.0.1-10)+(a1-65535)+(/var/trafacct/log_by_eport_eip)+(i,o,b,f,m)+(log_by_eport_eip)

    11. log_by_each_ip_local

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Перечисление IP адресов, или/и диапазонов.
	    2)	Строка с именем файла.
	    3)	Перечисление типов пакетов.
	    4)	Имя для данной переменной.

	Данная функция практически клон к log_by_each_ip, но исключение
	лишь то, что этой функцией нужно пользоваться только если существует
	необходимость считать траффик для каждого IP адреса расположенного
	локально на той машине на которой запущен TA, или клиент к модулю Server.
	Данная переменная это более ранняя реализация к log_by_each_ip.
	Данной переменной нельзя подсчитать траффик для IP адресов не
	принадлежащих машине на которой запущен TA. Поэтому если требуется
	подсчитать траффик для IP адресов в общей сети(например локальной)
	необходимо использовать log_by_each_ip.	Данные функциональные
	возможности доступны только с версии TA 1.1.0, переменная log_by_each_ip
	из более ранних версий не могла считать траффик для IP адресов не
	принадлежащих машине на которой запущен TA, а только локально
	находящихся на машине функционирующей c TA или клиентом к модулю Server.
	Пример:
	log_by_each_ip_local=(a127.0.0.1-10)+(/var/trafacct/log_by_each_ip_local)+(i,o,b,f,m)+(log_by_each_ip_local)

    12. log_by_ip_local

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Перечисление IP адресов и/или диапазонов IP адресов.
	    2)	Строка c именем файла.
	    3)	Перечисление типов пакетов.
	    4)	Строка с именем.

	Данная переменная практически одинакова к log_by_each_ip_local,
	за тем исключением, что на выходе формируется лог не из IP адресов
	входящих в указанный диапазон, а из всего указанного диапазона.
	Пример:
	log_by_ip_local=(a127.0.0.1-10)+(/var/trafacct/log_by_ip_local)+(a)+(log_by_ip_local)

    13. log_by_proto_ip

	Переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление диапазонов IP адресов.
	    2) В данном параметре указывается перечисление и/или диапазоны
	       протоколов. Пример: 12-10,6,17,1-5
	    3) Файл в который будет заноситься результат работы переменной.
	    4) Перечисление типов пакетов.
	    5) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результат работы данной переменной будет траффик по диапазону
	протоколов для группы IP адресов перечисленных 1-м параметром.
	Пример:
	log_by_proto_ip=(a127.0.0.1-10)+(1,17)+(/var/trafacct/log_by_proto_ip)+(i,o,b,f,m)+(log_by_proto_ip)

    14. log_by_proto_ip_each

	Переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление диапазонов IP адресов.
	    2) В данном параметре указывается перечисление и/или диапазоны
	       протоколов. Пример: 12-10,6,17,1-5
	    3) Файл в который будет заноситься результат работы переменной.
	    4) Перечисление типов пакетов.
	    5) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результатом работы данной функции будет лог в котором возможно наблюдать
	трафик по диапазону протоколов для каждого отдельного IP адреса
	входящего в диапазон/перечисление IP адресов(1-й параметр).
	Пример:
	log_by_proto_ip_each=(a127.0.0.1-10)+(1,17)+(/var/trafacct/log_by_proto_ip_each)+(i,o,b,f,m)+(log_by_proto_ip_each)

    15. log_by_eproto_eip

	Переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление диапазонов IP адресов.
	    2) В данном параметре указывается перечисление и/или диапазоны
	       протоколов. Пример: 12-10,6,17,1-5
	    3) Файл в который будет заноситься результат работы переменной.
	    4) Перечисление типов пакетов.
	    5) Имя данной переменной, этот параметр необязателен если он
	       не требуется.

	Результатом работы данной переменной будет трафик по каждому
	протоколу для каждого IP адреса, если таковые входят в указанные
	перечисления и диапазоны.
	Пример:
	log_by_eproto_eip=(a127.0.0.1-10)+(1,17)+(/var/trafacct/log_by_eproto_eip)+(a)+(log_by_eproto_eip)

    16. full_log_by_each_ip

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Перечисление IP адресов, или/и диапазонов.
	    2)	Строка с именем файла.
	    3)	Перечисление типов пакетов.
	    4)	Имя для данной переменной.

	Данная ф-ция практический клон к log_by_each_ip,
	но за тем исключением что данный ЛОГ для
	функции full_log_by_each_ip показывает обмен трафиком
	между адресами из диапазона и теми адресами с кем указанные IP
	адреса обменивались.
	Весь ЛОГ пишется в файл указанный параметром под номером 2.
	Записываются IP адреса входящие в диапазон указанный
	параметром номер 1, и проверяется совпадение типов пакетов,
	перечисленных параметром номер 3.
	В данной переменной нужно использовать IPадреса и/или диапазоны
	_только_ с типом "a"(any), например a127.0-12.45.20.
	Пример:
	full_log_by_each_ip=(a127.0.0.5,a127.0.0.10-56,a127.0.0.1/30)+(/var/trafacct/lo-IE-log)+(i,o)+(nameIE)

	Для данной строки ЛОГ будет выглядеть так:
	    +++
		lo|127.0.0.1->127.0.0.8|i:176|b:0|m:0|f:0|o:176
		lo|127.0.0.1->127.0.0.1|i:40|b:0|m:0|f:0|o:40
		lo|127.0.0.8->127.0.0.1|i:132|b:0|m:0|f:0|o:132
		lo|127.0.0.10->127.0.0.10|i:200|b:0|m:0|f:0|o:200
		lo|127.0.0.8->127.0.0.8|i:100|b:0|m:0|f:0|o:100
		lo|127.0.0.9->127.0.0.9|i:100|b:0|m:0|f:0|o:100
		lo|127.0.0.7->127.0.0.7|i:100|b:0|m:0|f:0|o:100
		lo|127.0.0.6->127.0.0.6|i:100|b:0|m:0|f:0|o:100
		lo|127.0.0.5->127.0.0.5|i:100|b:0|m:0|f:0|o:100
		lo|127.0.0.4->127.0.0.4|i:100|b:0|m:0|f:0|o:100
	    +++
	можно видеть что строка
	    lo|127.0.0.1->127.0.0.8|i:176|b:0|m:0|f:0|o:176
	показывает обмен между IP 127.0.0.1 и 127.0.0.8,
	и здесь можно видеть что на 127.0.0.8 с адреса 127.0.0.1 пришло
	176 байт (".. i:176") и ушло с 127.0.0.1 на 127.0.0.8
	176 байт (".. o:176").

  4.2.3 Группа доступа

    В данную группу входят следующие переменные:

    deny_ip_global, deny_ip_in_type, deny_ip_in_name, deny_ip_in_dev,
    deny_dev, rs_by_proto_global, al_only_proto_global, rs_by_proto_idev,
    rs_by_proto_name, al_by_proto_idev, al_by_proto_name,
    rs_by_port_global, al_by_port_global, al_by_port_itype,
    rs_by_port_itype, rs_by_proto_itype, rs_by_port_idev, al_by_port_idev,
    al_by_proto_itype, rs_by_port_name, al_by_port_name,
    deny_ip_ptype_iname, alo_ip_global, alo_ip_in_type, alo_ip_in_name,
    alo_ip_in_dev, alo_dev, alo_ip_ptype_iname, deny_dev_in_name,
    alo_dev_in_name, deny_dev_tp_ip, alo_dev_tp_ip,
    deny_dev_tp_ip_iname, deny_dev_prefix,
    rs_by_proto_idev_prefix,al_by_proto_idev_prefix,
    rs_by_port_idev_prefix, al_by_port_idev_prefix,
    alo_ip_in_dev_prefix,alo_dev_prefix,deny_dev_prefix_in_name,
    alo_dev_prefix_in_name,deny_icmp_type,deny_icmp_type_idev,
    deny_icmp_type_by_ip,deny_icmp_type_by_ip_idev,deny_icmp_type_name,
    deny_icmp_type_idev_prefix_name.

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

    Описание каждой из переменных.

    1. deny_ip_global

	Переменная имеет 1 параметр.
	Параметры:
	    1)	Перечисление IP адресов.
	Функция предназначена для игнорирования указанных IP адресов,
	глобально(всеми функциями).
	Пример:
	deny_ip_global=(s127.0.0.89,a127.0.0.107)

    2. deny_ip_in_type

	Переменная имеет 2 параметра.
	Параметры:
	    1)	Перечисление типов пакетов.
	    2)	Перечисление IP адресов.
	Если, пришел пакет и его тип совпадает с перечисленным
	в данной переменной, и его IP также совпадает с перечисленным,
	тогда пакет отбрасывается глобально, и не учитывается ни одной
	из функций.
	Пример:
	deny_ip_in_type=(i,o)+(a127.0.0.54,d218.45.19.1-90)

    3. deny_ip_in_dev

	Переменная имеет 2 параметра.
	Параметры:
	    1)	Перечисление типов интерфейсов.
	    2)	Перечисление IP адресов.
	Если, пакет пришел с интерфейса имя которого совпадает
	с перечисленным, и IP адрес пакета тоже совпадает с перечисленным
	то пакет не учитывается ни одной из функций.
	Пример:
	deny_ip_in_dev=(ppp1,ppp5)+(s219.23.57.8,d137.51.28.3)

    4. deny_dev

	Переменная имеет 1 параметр.
	Параметры:
	    1)	Перечисление интерфейсов.
	Функция предназначена для отбрасывания любого пакета,
	пришедшего с любого перечисленного в данной переменной
	интерфейса.
	Пример:
	deny_dev=(ppp5,ppp10,ppp2)

    5. deny_ip_in_name

	Переменная имеет 2 параметра.
	Параметры:
	    1)	Строка с именем.
	    2)	Перечисление IP адресов.
	Функция предназначена для игнорирования пакетов,
	IP адрес которых совпадает с перечисленными в данной переменной,
	для функций имена которых совпадают с указанным именем в данной переменной.
	Пример:
	stat_by_ip_global=(s127.0.0.1-10,s127.0.0.34)+(/var/trafacct/lo-ip-stat)+(a)+(name2)
	deny_ip_in_name=(name2)+(s127.0.0.3)

	В данном примере можно видеть, что все пакеты указанные в stat_by_ip_global
	будут заносится в лог-файл, кроме тех пакетов, source IP которых
	равен 127.0.0.3 (так как используется функция игнорирования по IP адресам).

    6. rs_by_proto_global

	Переменная имеет 1 параметр.
	Параметры:
	    1) Перечисление/диапазоны протоколов.

	Если протокол пакета совпадает с одним из перечисленных,
	или входит в диапазон, то такой пакет игнорируется
	глобально(пакет не получит, на обработку, ни одна из функций).
	Пример:
	rs_by_proto_global=(17,1,6)
	    Здесь запрещаются протоколы 6(TCP), 17(UDP) и 1(ICMP)
	    Все остальные будут учитываться.

	rs_by_proto_global=(4-10)
	    Здесь исключаются пакеты, с номерами с 4-го по 10-ый.

	rs_by_proto_global=(8-27,1,6)
	    Здесь исключаются с 8 по 27 + ICMP(1) и TCP(6).

	IP=0	- Dummy protocol for TCP
	ICMP=1	- Internet Control Message Protocol
	IGMP=2	- Internet Group Management Protocol
	IPIP=4	- IPIP tunnels (older KA9Q tunnels use 94)
	TCP=6	- Transmission Control Protocol
	EGP=8	- Exterior Gateway Protocol
	PUP=12	- PUP protocol
	UDP=17	- User Datagram Protocol
	IDP=22	- XNS IDP protocol
	RSVP=46	- RSVP protocol
	GRE=47	- Cisco GRE tunnels (rfc 17011702)
	IPV6=41	- IPv6-in-IPv4 tunnelling
	PIM=103	- Protocol Independent Multicast
	ESP=50  - Encapsulation Security Payload protocol
	AH=51   - Authentication Header protocol
	COMP=108 - Compression Header protocol
	RAW=255	- Raw IP packets

    7. al_only_proto_global

	Переменная имеет 1 параметр.
	Параметры:
	    1) Перечисление/диапазоны протоколов.

	Эта функция полностью аналогична rs_by_proto_global
	за тем исключением, что она разрешает учитывать только
	те пакеты протоколы которых совпадают с перечисленными
	в параметре.
	Пример:
	al_only_proto_global=(6,1,17)
	    Здесь разрешается учитывать, глобально, только те
	    пакеты протоколы которых равны TCP, ICMP или UDP.

	al_only_proto_global=(1-4,231)
	    Здесь разрешается учет пакетов только с протоколами
	    c 1-4 и 231.

    8. rs_by_proto_idev

	Переменная имеет 2 параметра.
	Параметры:
	    1)	Перечисление интерфейсов.
	    2)	Перечисление/диапазоны протоколов.

	Функция аналогична rs_by_proto_global только
	распространяется на отдельные интерфейсы.
	Пример:
	rs_by_proto_idev=(eth7,eth2)+(17,1)
	    Здесь если появился пакет с интерфейса eth7 или eth2
	    и у протокол пакета равен UDP(17) или ICMP(1) то он не
	    учитывается.

    9. rs_by_proto_name

	Переменная имеет 2 параметра.
	Параметры:
	    1)	Строка с именем.
	    2)	Перечисление/диапазоны протоколов.

	Функция аналогична rs_by_proto_global только
	влияет на переменную с именем указанным первым параметром.
	Пример:
	stat_global=(/var/trafacct/global_stat.log)+(o,i)+(nameSG)
	rs_by_proto_name=(nameSG)+(1,17,20-45)
	    Здесь для функции stat_global будут игнорированы
	    все те пакеты протокол которых равен UDP, ICMP
	    или диапазон протокола от 20 до 45.

    10. al_by_proto_idev

	Переменная имеет 2 параметра.
	Параметры:
	    1) Строка с перечислением интерфейсов.
	    2) Перечисление/диапазоны.

	Функция аналогична rs_by_proto_idev, но с той лишь разницей, что
	пропускаются все те пакеты протоколы которых совпадают с перечисленными
	или входят в указанный диапазон, при этом интерфейс пакета тоже должен
	совпадать с одним из перечисленных первым параметром, остальные пакеты
	отбрасываются.
	Пример:
	al_by_proto_idev=(eth3,eth1)+(6,17)
	    В данном примере на интерфейсах eth3 и eth1 разрешается
	    учитывать только те пакеты протоколы которых равны 6 или 17
	    т.е. TCP или UDP.

    11. al_by_proto_name

	Переменная имеет 2 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Перечисление/диапазоны протоколов.

	Функция аналогична rs_by_proto_name, но с той лишь разницей,
	что разрешает только те пакеты протоколы которых равны перечисленным
	или входят в указанный диапазон. При этом данная переменная влияет
	только на те функции имя которых совпадает с указанным именем в
	первом параметре.
	Пример:
	stat_global=(/var/trafacct/global_stat.log)+(o,i)+(nameSG)
	al_by_proto_name=(nameSG)+(1,17,20-45)
	    Из данного примера можно видеть, что в файл "/var/trafacct/global_stat.log"
	    будут записываться только те пакеты протоколы которых равны
	    ICMP(1), UDP(17) или равные диапазону от 20 до 45.

    12. rs_by_port_global

	Переменная имеет 2 параметра.
	Параметры:
	    1) Номер со значением протокола.
	    2) Перечисление/диапазоны портов.

	Функция глобально отбрасывает все те пакеты указанного протокола
	порты которых совпадают с перечисленными или входят в указанные
	диапазоны.
	Протокол(1-й параметр) может принимать значение исходя из
	номера протокола TCP и UDP, для TCP должно быть равным 6,
	для UDP равным 17.
	Порты перечисляются так:
	    первый символ это a(any), s(source) или d(destination)
	    тип any:
		он означает, что указанный порт может быть как
		source так и destination.
	    тип source:
		означает у пакета исходящий порт (порт откуда он прибыл).
	    тип destination:
		означает у пакета порт назначения (порт на который прибыл).
	Пример:
	rs_by_port_global=(6)+(d20-21,d110)
	    В данном примере отбрасываются пакеты протокола TCP которые
	    направляются на порты 20,21(FTP) и на порт 110(POP3).
	    Для UDP будет так:
	rs_by_port_global=(17)+(d5128)
	    Из данного примера можно видеть, что отбрасываются
	    все те пакеты протокол которых равен UDP и порт
	    назначения которых равен 5128.

    13. al_by_port_global

	Функция аналогична вышеуказанной rs_by_port_global
	но она не отбрасывает совпавшие пакеты а наоборот
	разрешает только только те пакеты значения которых
	подходят под указанные параметры.
	Пример:
	al_by_port_global=(6)+(d20-21,d110)
	    Будут учитываться только те пакеты протокол которых
	    равен TCP и порт назначения которых равен FTP(20-21)
	    или POP3(110).

    14. al_by_port_itype

	Переменная имеет 3 параметра.
	Параметры:
	    1) Перечисление типов пакетов.
	    2) Номер со значением протокола.
	    3) Перечисление/диапазоны портов.

	Данная функция разрешает учитывать только те пакеты
	тип которых перечислен 1-ым параметром и порт которого
	совпадает с одним из перечисленных, остальные пакеты
	отбрасываются.
	Пример:
	al_by_port_itype=(i,o)+(6)+(a20-21)
	    В данном примере учитываются только те пакеты
	    тип которых равен input(i) или output(o),
	    протокол которых равен TCP и порты которых входят
	    в диапазон 20-21(FTP).

    15. rs_by_port_itype

	Функция полностью аналогична вышеописанной al_by_port_itype,
	за тем лишь исключением, что функция rs_by_port_itype занимается
	тем, что отвергает те пакеты значения параметров которых совпадают
	с перечисленными в переменной.
	Пример:
	rs_by_port_itype=(o)+(17)+(d5128)
	    В данном примере отвергаются все UDP пакеты,
	    имеющие тип output (исходящие) и порт назначения
	    равный 5128.

    16. rs_by_proto_itype

	Переменная имеет 2 параметра.
	Параметры:
	    1) Перечисление типов пакетов.
	    2) Перечисление/диапазоны протоколов.

	Функция позволяет отвергать глобально все те пакеты,
	тип которых и протокол совпадают со значениями
	перечисленными в параметрах.
	Пример:
	rs_by_proto_itype=(i)+(17)
	    Данный пример отвергает все пакеты которые
	    имеют тип input(входящие) и протокол UDP(17).

    17. al_by_proto_itype

	Функция аналогична rs_by_proto_itype, но только за
	тем лишь исключением, что al_by_proto_itype занимается
	тем, что разрешает учитывать только те пакеты значения
	параметров которых совпадают с перечисленными в переменной.
	Пример:
	al_by_proto_itype=(o)+(6)
	    В данном примере видно, что учитываются только те
	    пакеты тип которых равен output(исходящие) и
	    протокол которых равен TCP(6).

    18. rs_by_port_idev

	Переменная имеет 3 параметра.
	Параметры:
	    1) Перечисление интерфейсов.
	    2) Номер со значением протокола.
	    3) Перечисление/диапазоны портов.

	Функция позволяет отвергать с перечисленных интерфейсов
	все те пакеты порты которых совпадают с указанными в параметре.
	Пример:
	rs_by_port_idev=(eth7,eth2)+(6)+(a20-12)
	    Из данного примера можно видеть, что пакеты на интерфейсах
	    eth7,eth2 с протоколом TCP(6) и с портами входящими в
	    диапазон 20-21(FTP) будут отвергаться.

    19. al_by_port_idev

	Функция аналогична rs_by_port_idev, но с той лишь разницей,
	что al_by_port_idev разрешает только те пакеты значения
	параметров которых совпадают с перечисленными в переменной.
	Пример:
	al_by_port_idev=(ppp3,ppp0)+(6)+(a80)
	    На интерфейсах ppp0, ppp3 учитывать только пакеты
	    протокол которых равен TCP(6) и сервис которых
	    равен http(80).

    20. rs_by_port_name

	Переменная имеет 3 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Номер со значением протокола.
	    3) Перечисление портов.

	Функция позволяет отвергать все те пакеты параметры
	которых совпадают с перечисленными в данной переменной.
	Пример:
	stat_global=(/var/trafacct/loRStest)+(a)+(nameRStest)
	rs_by_port_name=(nameRStest)+(6)+(a20-21)
	    В данном примере в файл "/var/trafacct/loRStest"
	    будут добавляться все пакеты кроме тех
	    протокол которых равен 6(TCP) и
	    порты которых входят в диапазон 20-21(FTP).

    21. al_by_port_name

	Функция аналогична rs_by_port_name за тем лишь исключением,
	что данная функция разрешает только те пакеты значения
	параметров которых совпадают с перечисленными в переменной.
	Пример:
	stat_global=(/var/trafacct/loRStest)+(a)+(nameRStest)
	al_by_port_name=(nameRStest)+(17)+(d5128)
	    В данном примере файл "/var/trafacct/loRStest" будет
	    заполняться только теми пакетами протокол которых равен
	    17(UDP) и порт назначения равный 5128.

    22. deny_ip_ptype_iname

	Данная переменная имеет 3 параметра.
	Параметры:
	    1) Строка с именем
	    2) Перечисление IP адресов
	    3) Перечисление типов пакетов

	Функция запрещает те пакеты тип которых совпадает с
	параметром 3 и IP адреса которого совпадают с параметром 2.
	При этом данная переменная влияет только на те функции
	имя которых совпадает с именем указанным в параметре 1
	данной переменной.
	Пример:
	stat_global=(/var/trafacct/loRStest)+(a)+(nameRStest)
	deny_ip_ptype_iname=(nameRStest)+(d127.0.0.8)+(i)
	    В данном примере можно видеть, что пакеты тип которых
	    равен input(входящий) и destination IP которых
	    равен 127.0.0.8, отвергаются для функции stat_global
	    с именем nameRStest.

    23. alo_ip_global

	Данная переменная имеет 1 параметр.
	Параметры:
	    1) Перечисление/диапазоны IP адресов.

	Функция предназначена ограничивать трафик
	по IP адресам перечисленным в первом параметре.
	Пример:
	alo_ip_global=(a127.0.0.89-100)

	Данный пример ограничивает сетевой трафик по
	диапазону IP адресов 127.0.0.89-100.

    24. alo_ip_in_type

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Перечисление типов пакетов.
	    2) Перечисление/диапазоны IP адресов.

	Функция предназначена для ограничения пакетов
	по указанному типу и по указанным IP адресам.
	Пример:
	alo_ip_in_type=(i,f)+(a192.78.11.20-10)

	Данный пример ограничивает трафик по пакетам с типом
	i(входящие) и f(FORWARD), и диапазону IP адресов
	192.78.11.20-10. Остальные пакеты отбрасываются.

    25. alo_ip_in_name

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Перечисление/диапазоны IP адресов.

	Функция предназначена для ограничения переменной,
	имя которой совпадает с первым параметром, по пакетам
	IP адреса которых совпадают с перечисленными во втором
	параметре. Остальные пакеты отбрасываются.
	Пример:
	stat_global=(/var/trafacct/loRStest)+(a)+(nameRStest)
	alo_ip_in_name=(nameRStest)+(a200.200.1-10.1)

	После этого функция stat_global будет учитывать только те
	пакеты диапазон IP адресов которых равен 200.200.1-10.1 .

    26. alo_ip_in_dev

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Перечисление интерфейсов.
	    2) Перечисление диапазонов IP адресов.

	Функция предназначена для ограничения трафика по
	пакетам интерфейс которых равен перечисленному
	в первом параметре и по IP адресам перечисленным
	вторым параметром.
	Пример:
	alo_ip_in_dev=(eth8,eth4)+(a192.168.0.30-50,a60.40.10.1-20)

	После этого для интерфейсов eth8, eth4 будут учитываться
	только те пакеты IP адреса которых совпадают с диапазонами
	192.168.0.30-50, 60.40.10.1-20 .

    27. alo_dev

	Данная переменная имеет 1 параметр.
	Параметры:
	    1) Перечисление интерфейсов.

	Функция ограничивает трафик по определенным интерфейсам.
	Пример:
	alo_dev=(eth0,eth5)

	После этого будут учитываться только те пакеты интерфейс
	которых равен eth0 или eth5. Остальные будут отбрасываться.

    28. alo_ip_ptype_iname

	Данная переменная имеет 3 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Перечисление IP адресов.
	    3) Перечисление типов пакетов.

	Функция предназначена для ограничения переменной, имя
	которой совпадает с первым параметром, по пакетам IP адреса
	которых совпадают с перечисленными во втором параметре и
	типы которых совпадают с перечисленными в третьем параметре.
	Пример:
	stat_global=(/var/trafacct/loRStest)+(a)+(nameRStest)
	alo_ip_ptype_iname=(nameRStest)+(a192.168.0.1-5)+(i)

	После этого функция stat_global будет учитывать только те
	пакеты тип которых равен i(входящие) и IP адреса которых
	входят в диапазон 192.168.0.1-5.

    29. deny_dev_in_name

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Перечисление интерфейсов.

	Функция предназначена для того чтобы отбрасывать
	все те пакеты интерфейс которых совпадает с перечисленным
	во втором параметре данной переменной.
	При этом данная переменная влияет только на те функции
	имя которых совпадает с именем указанным в параметре 1
	данной переменной.
	Пример:
	full_stat_global=(/var/trafacct/stat_global)+(a)+(stat_global)
	deny_dev_in_name=(stat_global)+(eth5, eth1)

	Из данного примера можно видеть, что пакеты с интерфейсами
	eth5, eth1 не будут записаны в статистику для
	функции full_stat_global.

    30. alo_dev_in_name

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Строка с именем.
	    2) Перечисление интерфейсов.

	Функция предназначена для ограничения трафика
	по пакетам интерфейс которых совпадает с
	интерфейсом перечисленным во втором параметре.
	При этом данная переменная влияет только на те функции
	имя которых совпадает с именем указанным в параметре 1
	данной переменной.
	Пример:
	full_stat_global=(/var/trafacct/stat_global)+(a)+(stat_global)
	alo_dev_in_name=(stat_global)+(eth5, eth1)

	После этого функция full_stat_global будет обрабатывать
	только те пакеты интерфейс которых равен eth5 или eth1.

    31. deny_dev_tp_ip

	Данная переменная имеет 3 параметра.
	Параметры:
	    1) Перечисление интерфейсов.
	    2) Перечисление типов пакетов.
	    3) Перечисление/диапазоны IP адресов.

	Функция предназначена для ограничения трафика по пакетам
	интерфейс которых совпадает с одним из перечисленных
	первым параметром, тип которых совпадает с одним из перечисленных
	вторым параметром, IP адреса которых совпадают с IP адресами
	перечисленными в третьем параметре.
	Пример:
	deny_dev_tp_ip=(lo3,lo4,lo5,lo,lo7,lo9)+(i)+(d127.0.0.8)

	Так во входящем трафике для перечисленных интерфейсов,
	не будут учитываться пакеты IP адрес назначения которых
	равен 127.0.0.8 .

    32. alo_dev_tp_ip

	Данная переменная имеет 3 параметра.
	Параметры:
	    1) Перечисление интерфейсов.
	    2) Перечисление типов пакетов.
	    3) Перечисление/диапазоны IP адресов.

	Функция предназначена для ограничения трафика
	по пакетам интерфейс которых совпадает с
	интерфейсом перечисленным во втором параметре.
	При этом данная переменная влияет только на те функции
	имя которых совпадает с именем указанным в параметре 1
	данной переменной.
	Пример:
	alo_dev_tp_ip=(lo3,lo4,lo5,lo,lo7,lo9)+(i)+(d127.0.0.8)

	Таким образом во входящем трафике для перечисленных интерфейсов,
	будут учитываться только те пакеты IP адрес назначения которых
	равен 127.0.0.8 .

    33. deny_dev_tp_ip_iname

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Имя определенной переменной.
	    2) Перечисление интерфейсов.
	    3) Перечисление типов пакетов.
	    4) Перечисление/диапазоны IP адресов.

	Данная функция равнозначна функции deny_dev_tp_ip,
	только действие этой функции ограничивается
	переменной имя которой совпадает с именем указанным
	первым параметром данной функции.
	Пример:
	full_stat_global=(/var/trafacct/testing/full_stat_global)+(a)+(full_stat_global)
	deny_dev_tp_ip_iname=(full_stat_global)+(lo3,lo4,lo5,lo,lo7,lo9)+(i)+(d127.0.0.8)

	Из данного примера можно видеть, что в файл не будут записаны
	только те пакеты, тип которых равен i(входящий), интерфейс которых
	совпадает с одним из перечисленных, IP адрес назначения которого
	равен 127.0.0.8 . Остальные пакеты будут записаны.

    34. Переменные управляющие потоком ICMP  пакетов.

    	deny_icmp_type,deny_icmp_type_idev,
    	deny_icmp_type_by_ip,deny_icmp_type_by_ip_idev,
    	deny_icmp_type_name.

    	34.1 deny_icmp_type

    		Ограничивает поток пакетов по их типу.
    		Пример:
    		deny_icmp_type=(8)

    		Так отбрасываются из потока ICMP пакеты
    		с типом "echo request".

    	34.2 deny_icmp_type_idev

    		Переменная идентична deny_icmp_type
    		но ограничивает на определенном
    		интерфейсе.
    		Пример:
    		deny_icmp_type_idev=(eth8)+(0)

    		Из данного примера можно видеть, что из потока
		отбрасываются ICMP пакеты с типом "echo reply"
		на интерфейсе eth8.

    	34.3 deny_icmp_type_by_ip

    		Переменная ограничивает ICMP поток
    		на определенных IP адресах.
    		Пример:
    		deny_icmp_type_by_ip=(a192.168.4.1-90)+(3)

    		Так отбрасываются ICMP пакеты с типом "dest unreach"
    		и IP адреса которых входят в диапазон 192.168.4.1-90 .

    	34.4 deny_icmp_type_by_ip_idev

    		Переменная ограничивает ICMP поток для
    		определенных IP адресов на определенном
    		интерфейсе.
    		Пример:
    		deny_icmp_type_by_ip_idev=(eth1)+(a192.168.0.59)+(3,8)

    		Так отбрасываются ICMP пакеты с типами
    		"dest unreach" и "echo request" на интерфейсе
		eth1 от IP адреса 192.168.0.59.

    	34.5 deny_icmp_type_name

    		Переменная ограничивает ICMP поток
    		для определенной переменной имя которой
    		определено в параметре.
    		Пример:
    		full_stat_global=(/var/trafacct/eth/stat_global)+(a)+(stat_global)
    		deny_icmp_type_name=(stat_global)+(3)

    		так в файл /var/trafacct/eth/stat_global будут занесены
		все ICMP пакеты исключая ICMP пакеты с типом "dest unreach".

    35. Префиксные переменные

	deny_dev_prefix,rs_by_proto_idev_prefix,al_by_proto_idev_prefix,
    	rs_by_port_idev_prefix, al_by_port_idev_prefix,
    	alo_ip_in_dev_prefix,alo_dev_prefix,deny_dev_prefix_in_name,
    	alo_dev_prefix_in_name, deny_icmp_type_idev_prefix_name.

    	Указанные выше переменные аналогичны своим предшествующим
    	переменным без "_prefix", данное расширение позволяет оперировать
    	не с именами интерфейсов а с префиксами интерфейсов, для того
    	чтобы не указывать eth1,2,eth3,eth4 и сразу же отделить все
    	eth следует указать префикс eth.
    	Например для того чтобы избавиться в конфигурации от всех
	пакетов	любых ppp интерфейсов, нужно просто указать строку
    	deny_dev_prefix=(ppp).

  4.2.4 Группа ведения отчетов

    К данной группе относятся такие переменные как:

    ls_by_iface, ls_by_each_ip,
    ls_by_port_ip_each, ls_by_eport_eip,
    ls_by_proto_ip_each, ls_by_eproto_eip,
    ls_full_by_each_ip, ls_by_each_ip_local,
    ls_by_ip, ls_by_proto_ip, ls_by_eproto_ip,
    ls_by_port_ip, ls_by_eport_ip.

    Описание каждой из переменных.

    1. ls_by_iface

	Данная переменная имеет 5 параметров.
	Параметры:
	    1) Файл скина
	    2) Файл в который будет заноситься отчет
	    3) Перечисление типов пакетов
	    4) Время обновления (описание в п. 4.2.5)
	    5) Расширение для файла который указан 2-м параметром
    	    6) Формат отчета текстовый (t) или использовать скин (s).
	    7) Имя для данной переменной.

	Данная переменная используется для ведения
	отчетов о суммарном трафике по интерфейсам.
	Расширение для файла указывается например
	как ".%SS,%MM,%HH,%DD,%MO,%YR,%WW.html"
	В результате части с символом '%' заменятся на:
	SS - секунды (0-60)
	MM - минуты  (0-60)
	HH - часы    (0-24)
	DD - день месяца (1-{28,30,31})
	MO - месяц, его номер (1-12)
	YR - год, формат 4-х значный (2002)
	WW - номер дня в неделе:
		    1) понедельник
		    2) вторник
		     ...
		    6) суббота
		    7) воскресение

	Пример:
	ls_by_iface=(skin_b.cf)+(/var/trafacct/ls_by_iface)+(i,o,b,f,m)+(*/10|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls-iface)

    2. ls_by_each_ip

	Данная переменная имеет 6 параметров.
	Параметры:
	    1) Файл скина
	    2) Перечисление диапазонов IP адресов
	    3) Файл в который будет заноситься отчет
	    4) Перечисление типов пакетов
	    5) Время обновления (описание в п. 4.2.5)
	    6) Расширение для файла который указан 3-м параметром
    	    7) Формат отчета текстовый (t) или использовать скин (s).
	    8) Имя для данной переменной.

	Данная переменная используется для ведения отчетов о суммарном
	трафике для каждого из IP адресов входящих в диапазон
	указанный 2-м параметром.
	Пример:
	ls_by_each_ip=(skin_a.cf)+(a127.0.0.1-9,a127.0.0.10-56)+(/var/trafacct/ls_by_each_ip)+(i,o,b,f,m)+(*/10|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls_by_each_ip_name)

    3. ls_by_port_ip_each

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Номер протокола 17(UDP), 6(TCP)
	    3) Перечисление/диапазоны IP адресов
	    4) Перечисление/диапазоны портов
	    5) Файл в который будет заноситься отчет
	    6) Перечисление типов пакетов
	    7) Время обновления (описание в п. 4.2.5)
	    8) Расширение для файла который указан 5-м параметром
    	    9) Формат отчета текстовый (t) или использовать скин (s).
	    10) Имя для данной переменной.

	Функция предназначена для ведения отчетов по диапазонам портов
	каждого IP адреса, который входит указанный 3-м параметром.
	Пример:
	ls_by_port_ip_each=(skin_b.cf)+(6)+(a127.0.0.1-10)+(a1-60)+(/var/trafacct/ls_by_port_ip_each)+(i,o,b,f,m)+(*/10|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls_by_port_ip_each_name)

    4. ls_by_eport_eip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Номер протокола 17(UDP), 6(TCP)
	    3) Перечисление/диапазоны IP адресов
	    4) Перечисление/диапазоны портов
	    5) Файл в который будет заноситься отчет
	    6) Перечисление типов пакетов
	    7) Время обновления (описание в п. 4.2.5)
	    8) Расширение для файла который указан 5-м параметром
    	    9) Формат отчета текстовый (t) или использовать скин (s).
	    10) Имя для данной переменной.

	Данная функция предназначена для ведения отчетов по
	каждому порту для каждого IP адреса, которые входят
	в указанные диапазоны.
	Пример:
	ls_by_eport_eip=(skin_b.cf)+(6)+(a127.0.0.1-10)+(a1-60)+(/var/trafacct/ls_by_eport_eip)+(i,o,b,f,m)+(*/5|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls_by_eport_eip_name)

    5. ls_by_proto_ip_each

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Перечисление/диапазоны протоколов
	    4) Файл в который будет заноситься отчет
	    5) Перечисление типов пакетов
	    6) Время обновления (описание в п. 4.2.5)
	    7) Расширение для файла который указан 4-м параметром
    	    8) Формат отчета текстовый (t) или использовать скин (s).
	    9) Имя для данной переменной.

	Функция предназначена для ведения отчетов по диапазонам
	протоколов для каждого IP адреса который входит в диапазон,
	указанный 2-м параметром.
	Пример:
	ls_by_proto_ip_each=(skin_b.cf)+(a127.0.0.1-10)+(1-60)+(/var/trafacct/ls_by_proto_ip_each)+(i,o,b,f,m)+(*/5|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls_by_proto_ip_each_name)

    6. ls_by_eproto_eip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Перечисление/диапазоны протоколов
	    4) Файл в который будет заноситься отчет
	    5) Перечисление типов пакетов
	    6) Время обновления (описание в п. 4.2.5)
	    7) Расширение для файла который указан 4-м параметром
    	    8) Формат отчета текстовый (t) или использовать скин (s).
	    9) Имя для данной переменной.

	Функция предназначена для ведения отчетов по каждому
	протоколу каждого IP адреса, которые входят в указанные
	диапазоны.
	Пример:
	ls_by_eproto_eip=(skin_b.cf)+(a127.0.0.1-10)+(1-60)+(/var/trafacct/ls_by_eproto_eip)+(i,o,b,f,m)+(*/5|*|*|*|*|*|*)+(.%SS,%MM,%HH,%DD,%MO,%YR,%WW.html)+(t)+(ls_by_eproto_eip)

    7. ls_full_by_each_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Файл в который будет заноситься отчет
	    4) Перечисление типов пакетов
	    5) Время обновления (описание в п. 4.2.5)
	    6) Расширение для файла который указан 3-м параметром
    	    7) Формат отчета текстовый (t) или использовать скин (s).
	    8) Имя для данной переменной.

	Данная переменная используется для ведения отчетов о суммарном
	количестве трафика для каждого из IP адресов входящий в
	диапазон, указанный 2-м параметром.
	При этом используется полный отчет и суммарный трафик
	каждого обращения указанного IP адреса к какому-либо хосту.
	Пример:
	ls_full_by_each_ip=(skin_b.cf)+(a127.0.0.1-10)+(/var/trafacct/testing/ls_full_by_each_ip)+(a)+(*/5|*|*|*|*|*|*)+(_%UT)+(t)+(ls_full_by_each_ip_name)

    8. ls_by_each_ip_local

	Данная переменная имеет 6 параметров.
	Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Файл в который будет заноситься отчет
	    4) Перечисление типов пакетов
	    5) Время обновления (описание в п. 4.2.5)
	    6) Расширение для файла который указан 3-м параметром
    	    7) Формат отчета текстовый (t) или использовать скин (s).
	    8) Имя для данной переменной.

	Данная переменная используется для ведения отчетов о суммарном
	количестве трафика для каждого из IP адресов входящий в
	диапазон, указанный 2-м параметром.
	Данную функцию необходимо использовать только для подсчета
	трафика локальных IP адресов, т.е. только тех адресов
	которые принадлежат той машине на которой функционирует TA.
	Пример:
	ls_by_each_ip_local=(skin_b.cf)+(a127.0.0.1-10)+(/var/trafacct/testing/ls_by_each_ip_local)+(a)+(*/5|*|*|*|*|*|*)+(_%UT)+(t)+(ls_by_each_ip_local)

    9. ls_by_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Файл в который будет заноситься отчет
	    4) Перечисление типов пакетов
	    5) Время обновления (описание в п. 4.2.5)
	    6) Расширение для файла который указан 3-м параметром
    	    7) Формат отчета текстовый (t) или использовать скин (s).
	    8) Имя для данной переменной.

	Данная функция полная копия функции log_by_ip,
	за тем лишь исключением, что ls_by_ip для вывода
	данных использует отчеты.
	Пример:
	ls_by_ip=(skin_a.cf)+(a127.0.0.1-10,a127.0.0.15)+(/var/trafacct/lo/time/group2.ls-lip)+(a)+(*|*|_|*|*|*|*)+(_%UT)+(t)+(ls-lip)

    10. ls_by_proto_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Перечисление/диапазоны протоколов
	    4) Файл в который будет заноситься отчет
	    5) Перечисление типов пакетов
	    6) Время обновления (описание в п. 4.2.5)
	    7) Расширение для файла который указан 4-м параметром
    	    8) Формат отчета текстовый (t) или использовать скин (s).
	    9) Имя для данной переменной.

	Данная функция полная копия функции log_by_proto_ip,
	за тем лишь исключением, что ls_by_proto_ip для вывода
	данных использует отчеты.
	Пример:
	ls_by_proto_ip=(skin_a.cf)+(a127.0.0.1-10,a127.0.0.15)+(0-255)+(/var/trafacct/lo/time/group2.ls-gpri)+(a)+(*|*|_|*|*|*|*)+(_%UT)+(t)+(ls-gpri)

    11. ls_by_eproto_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Перечисление/диапазоны IP адресов
	    3) Перечисление/диапазоны протоколов
	    4) Файл в который будет заноситься отчет
	    5) Перечисление типов пакетов
	    6) Время обновления (описание в п. 4.2.5)
	    7) Расширение для файла который указан 4-м параметром
    	    8) Формат отчета текстовый (t) или использовать скин (s).
	    9) Имя для данной переменной.

	Функция предназначена для ведения отчетов по каждому
	протоколу для указанного диапазона IP адресов.
	Пример:
	ls_by_eproto_ip=(skin_a.cf)+(a127.0.0.1-10,a127.0.0.15)+(0-255)+(/var/trafacct/lo/time/group2.ls-gepri)+(a)+(*|*|_|*|*|*|*)+(_%UT)+(t)+(ls-gepri)

    12. ls_by_port_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Номер протокола 17(UDP), 6(TCP)
	    3) Перечисление/диапазоны IP адресов
	    4) Перечисление/диапазоны портов
	    5) Файл в который будет заноситься отчет
	    6) Перечисление типов пакетов
	    7) Время обновления (описание в п. 4.2.5)
	    8) Расширение для файла который указан 5-м параметром
    	    9) Формат отчета текстовый (t) или использовать скин (s).
	    10) Имя для данной переменной.

	Данная функция полная копия функции log_by_port_ip,
	за тем лишь исключением, что ls_by_port_ip для вывода
	данных использует отчеты.
	Пример:
	ls_by_port_ip=(skin_a.cf)+(6)+(a127.0.0.1-10,a127.0.0.15)+(a1-65535)+(/var/trafacct/lo/time/group2.ls-tcp-gpi)+(a)+(*|*|_|*|*|*|*)+(_%UT)+(t)+(ls-tcp-gpi)

    13. ls_by_eport_ip

	Данная переменная имеет 8 параметров.
	  Параметры:
	    1) Файл скина
	    2) Номер протокола 17(UDP), 6(TCP)
	    3) Перечисление/диапазоны IP адресов
	    4) Перечисление/диапазоны портов
	    5) Файл в который будет заноситься отчет
	    6) Перечисление типов пакетов
	    7) Время обновления (описание в п. 4.2.5)
	    8) Расширение для файла который указан 5-м параметром
    	    9) Формат отчета текстовый (t) или использовать скин (s).
	    10) Имя для данной переменной.

	Данная функция предназначена для ведения отчетов по
	каждому порту для указанного диапазона IP адресов.
	Пример:
	ls_by_eport_ip=(skin_a.cf)+(6)+(a127.0.0.1-10,a127.0.0.15)+(a1-65535)+(/var/trafacct/lo/time/group2.ls-tcp-gepi)+(a)+(*|*|_|*|*|*|*)+(_%UT)+(t)+(ls-tcp-gepi)

  4.2.5 Вспомогательная группа

    К данной группе относятся такие переменные как:

    time_stamp, stat_time_on, save_on_time,
    priority, ip_entry_list.

    Описание каждой из переменных.

    1. time_stamp

	Данная переменная имеет 1 параметр.
	Параметры:
	    1) yes или no

	Данная переменная влияет на результаты функций
	из группы ведения статистики, если данная переменная
	установлена в yes то к каждой записи у функций статистики
	добавляется time stamp в Unix time формате.
	Пример:
	time_stamp=(yes)

    2. stat_time_on

	Переменная имеет 4 параметра.
	Параметры:
	    1)	Строка с именем.
	    2)	Строка с именем файла.
	    3)	Время обновления в ниже приведенном формате.
	    4)	Расширение файла в формате описанном ниже.

	Данная функция имеет параметр в котором можно
	указать имя какой либо из функций статистики и
	stat_time_on изменит параметры функции так, что
	она будет записывать свою статистику в разные файлы
	в соответствии с промежутками времени, которые
	указываются так же в параметре функции stat_time_on.
	Пример:

	Время задается как и в crontab только добавлены еще и секунды.
	Если использование секунд не предполагается то данный параметр
	секунд всегда должен быть равен нулю.
	Параметры:
	(SS|MM|HH|DD|MO|YR|WW)
	SS - секунды (0-60)
	MM - минуты  (0-60)
	HH - часы    (0-23)
	DD - день месяца (1-{28,30,31})
	MO - месяц, его номер (1-12)
	YR - год, формат 4-х значный (2002)
	WW - номер дня в неделе:
		    1) понедельник
		    2) вторник
		     ...
		    6) суббота
		    7) воскресение
	Описание работы:
	каждый параметр может содержать символ '*' это означает любой,
	если такой символ будут содержать часы то значит в любой час,
	месяцы то в любой месяц, если дни недели то так же будут любыми.
	10-31/2 - если данная запись стоит в параметре для дня то
	          это означает что с числа 10 по 31 число, каждые два дня.
	*/2	- если данная запись стоит к примеру в части для часов
	    	  то это означает что каждые 2 часа.

	Записи могут быть и такими:

	10-31/4,*/5,1,18,24	- если такая строка находится в параметре дня
				  то это означает что с числа 10 до 31 каждые 4
				  дня начинать новый файл, а так же каждые 5 дней
				  а так же 1 18 и 24 числах начинать новый файл.
	    пример:
	    (0|45|*/7|*|*|*|3-7) - означает что каждые 7 часов 45 минут 0 сек.
				   со среды по воскресение начинать записывать в
				   другой файл.

	    (0|0|0|*|*|*|*)	- Начинать новый файл с наступлением новых суток.

	    (0|12-45/2,23,58|*|*|*|*|*) - Начинать новый файл с 12 минут по 45
					  каждые 2 минуты. А так же на 23-ю минуту
					  и на 58 минуту.

	    (0|0|23-7/1,9|*|*|*|*)	- Начинать новый файл с 23 до 7 утра каждый час
					  и начать новый файл еще и в 9 утра.

	    (0|0|23-7/1,9|*|*|*|3,4)	- тоже самое что и выше но
					  только с среду и четверг.

	    (*|*|*|_|*|*|*)		- символ "_" символизирует начало, каждое
					  новое значение. В данном случае статистика
					  будет начинаться каждый новый день.

	    (*|*|_|*|*|*)		- в данном примере статистика начинаться
					  будет каждый новый час, и так далее.

	    stat_by_dev=(lo2,lo2,lo8,lo,lo3,lo4)+(/var/trafacct/loSD-1)+(o,i)+(nameSD)
	    stat_time_on=(nameSD)+(/var/trafacct/lo-staGL)+(0|*|23-7/1,9|*|*|*|0,3)+(ss,ss,mo,dd,yr,ww,hh,mm,ss)

	    Дальше идет третья часть после параметра формата
	    времени это дополнение к расширению файла
	    (ss,ss,mo,dd,yr,ww,hh,mm,ss)
	    это аббревиатура, только с маленькими буквами,
	    к формату времени описанному выше.
	    Для представленного формата(ss,ss,mo,dd,yr,ww,hh,mm,ss)
	    файл буде выглядеть так:
		lo-staGL.40.40.02.12.2002.06.06.44.40
	    расположение аббревиатур может вариироваться,
	    и количество тоже не фиксированно.

    3. save_on_time

	Переменная имеет 2 параметра.
	Параметры:
	    1)  Период сохранения данных.
	    2)	Строка с именем файла.

	Изначально для всех функций log_
	остановка программы и последующий ее запуск
	обнулял каунтеры(counters) для функций log_
	и все данные, что содержали подобные функции
	ранее - терялось безвозвратно.
	Но функция save_on_time позволяет периодически
	сохранять статистику в указанный файл, а
	при следующем старте восстанавливать оттуда
	все сохраненные данные.
	Первым параметром указывается период обновления базы,
	т.е. тот период через который данная функция будет
	сохранять данные.
	Второй параметр это путь к файлу.
	В пути к файлу можно использовать строку "%DV",
	и в последствии формирования пути %DV заменится
	на название той конфигурации где используется
	save_on_time. Например если конфигурация eth
	то заменится на "eth", если конфигурация mynetwork
	то заменится на "mynetwork".
	Пример:
	save_on_time=(/var/trafacct/saved-conf-lo)
	save_on_time=(/var/trafacct/data/%DV.db)

	Так же данная функция имеет утилиту(cutdb), утилита предназначена
	для того чтобы в сохраненной базе можно было бы удалить записи для
	указанных функций.
	Например используются в работе 2 функции log_file и
	log_by_each_ip, и необходимо обнулить сохраненные значения
	для log_file но	оставить данные для функции log_by_each_ip.
	Это можно сделать с помощью утилиты cutdb, которая удалит записи
	для указанной функции, для этого нужно будет выполнить команду:
	bash# cutdb /var/trafacct/saved-conf-eth log_file

	естественно, что перед выполнением команды cutdb
	необходимо завершить работу программы Traffic Accounting.

    4. priority

	Данная функция изменяет приоритет для текущего процесса
	обрабатывающего определенную конфигурацию.
	Наилучшим приоритетом для процесса является (-20).
	Пример:
	    priority=(-20)
	    Если данная строка вставлена в файл eth-conf тогда
	    процесс обрабатывающий конфигурацию eth,
	    получит приоритет "-20".

    5. ip_entry_list

	Данная переменная имеет 2 параметра.
	Параметры:
	    1) Максимальное колличество записей
	    2) Файл для результата

	Данная функция используется для того чтобы узнать
	время первого и последнего обнаружения активности
	для какого либо IP.
	Если какой либо IP был обнаружен то сразу же он записывается
	в таблицу к ip_entry_list и так же записывается время его обнаружения.
	Фактически посмотрев на таблицу можно будет знать когда первый раз
	был обнаружен конкретный IP и когда был обнаружен последний раз.
	Если в таблице не присутствуют искомые IP адреса и таблица не
	переполнена то IP адрес никогда не обращался к машине.
	Если таблица переполнилась т.е. достигнуто максимальное количество
	обнаруженных IP адресов то первой строкой в таблице об этом
	будет сообщено.
	Пример:
	ip_entry_list=(1000)+(/var/trafacct/ip_entry_list)

  4.2.6 Группа лимитов

    К данной группе относятся такие переменные как:

    ip_range_traf_limit, ip_each_traf_limit,
    port_range_limit, each_port_limit,
    proto_range_limit, proto_each_limit,
    port_ip_limit, port_ip_each_limit,
    eport_eip_limit, proto_ip_limit,
    proto_ip_each_limit, eproto_eip_limit,
    iface_limit.

    Описание каждой из переменных.

    1.  ip_range_traf_limit

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны IP адресов.
	    3) Имя программы.
	    4) Имя для переменной.

	Перечисление лимитов выглядит следующим образом:
	    пример: (i#2304835,b#234234,f#9756735,o#9000000)

		т.е. указывается тип трафика далее добавляется знак '#'
		и указывается лимит на количество байт для выбранного
		типа трафика.
		Максимальное число которое можно указать в качестве
		лимита - 18446744073709551615.

	Пример:
	ip_range_traf_limit=(i#2304835,b#234234,f#9756735,o#9000000)+(a127.0.0.1-10)+(/bin/tprog %LT %IP %TP %LM)

	После того как лимит будет достигнут
	запустится программа указанная третьим параметром.
	Путь к программе выглядит следующим образом:
	    пример: (/bin/tprog %LT %IP %TP %LM %IN)

		под %LT %IP %TP %LM подставляется следующее:

	    %LT - тип лимита:
	    	Значения которые может принимать
		данный шаблон:
		"IR" - для переменной ip_range_traf_limit
		"IE" - для переменной ip_each_traf_limit
		"PR" - для переменной port_range_limit
		"PE" - для переменной each_port_limit
		"RP" - для переменной proto_range_limit
		"RE" - для переменной proto_each_limit
		"PA" - для переменной port_ip_limit
		"PB" - для переменной port_ip_each_limit
		"PC" - для переменной eport_eip_limit
		"PD" - для переменной proto_ip_limit
		"PE" - для переменной proto_ip_each_limit
		"PF" - для переменной eproto_eip_limit
		"IL" - для переменной iface_limit

	    %IP - в данной переменной для данного шаблона подставится:
		a127.0.0.1-10

	    %TP - тип трафика лимит которого достигнут, шаблон может
	          принимать такие значения как:
		input     для "i"
		forward   для "f"
		broadcast для "b"
		multicast для "m"
		output    для "o"

	    %LM - размер лимита который был достигнут,
		  для данного примера и для типа "i"
		  это будет число 2304835.

	    %IN - интерфейс.

	В последствии получится следующее:
	 например был достигнут лимит для типа "i",
	 и используется переменная
	 ip_range_traf_limit:

	    /bin/tprog IR a127.0.0.1-10 input 2304835

	Это будет означать, что диапазон IP 127.0.0.1-10 достиг
	лимита в 2304835 байт для трафика input, т.е. программа
	запустилась в то время когда диапазон IP адресов
	127.0.0.1-10 получил 2304835 байт.
	Содержание файла /bin/tprog может быть любым.
	Пример:

	#--- CUT HERE ---

	#!/bin/bash

	if [ ${3} = "input" ]; then
	  echo диапазон IP адресов ${2} получил максимальное \
	    колличество байт, размером в LM:${4}, на интерфейсе ${5} \
		>> /var/log/limit.log;
	fi

	#--- END  CUT ---

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

	Для переменной ip_range_traf_limit допустимыми
	шаблонами являются:
	%LT, %IP, %TP, %LM, %IN.

	Функция предназначена контролировать лимиты трафика
	для диапазонов IP адресов.

    2.  ip_each_traf_limit

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны IP адресов.
	    3) Имя программы.
	    4) Имя для переменной.

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

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN.

	%IP для данной переменной будет содержать IP адрес
	    достигший лимита.

	Пример:
	ip_each_traf_limit=(i#4000000,o#340958349)+(a127.0.0.1-10)+(/bin/tprog %LT %IP %TP %LM %IN)

	Программа может быть следующего содержания:

	#--- CUT HERE ---

	#!/bin/bash

	if [ ${3} = "input" ]; then
	    iptables -A OUTPUT -d ${2} -i ${5} -j DROP;
	fi

	#--- END  CUT ---

	Из данного примера можно видеть, что когда IP адрес
	из диапазона получит 4000000 байт, то для него будет
	отключен внешний трафик.

    3.  port_range_limit

	Данная переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление лимитов.
	    2) Номер протокола 6(TCP) или 17(UDP).
	    3) Перечисление/диапазоны портов.
	    4) Имя программы.
	    5) Имя для переменной.

	Функция предназначена контролировать лимиты для
	диапазона портов, на протоколах UDP или TCP.

	Допустимыми шаблонами являются:
	%LT, %TP, %LM, %IN, %PR, %PO.

	%PR - протокол, 17(для UDP) или 6(для TCP)
	%PO - диапазон портов, например может содержать "a1-60"

	Пример:
	port_range_limit=(i#900000,o#1009990)+(6)+(a1-60)+(/bin/tprog_port %LT %PR %PO %TP %LM)

	Из данного примера можно видеть, что программа /bin/tprog_port
	запустится только когда будет достигнут лимит на input или на output.

    4.  each_port_limit

	Данная переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление лимитов.
	    2) Номер протокола 6(TCP) или 17(UDP).
	    3) Перечисление/диапазоны портов.
	    4) Имя программы.
	    5) Имя для переменной.

	Функция предназначена контролировать лимиты для
	каждого порта входящего в указанный диапазон портов.

	Допустимыми шаблонами являются:
	%LT, %TP, %LM, %IN, %PR, %PO.

	%PO - для данной переменной будет содержать
	      номер порта, который достиг лимита.

	Пример:
	each_port_limit=(i#10000000)+(6)+(a1-80)+(/bin/tprog_port %LT %PR %PO %TP %LM %IN)

	Программа /bin/tprog_port запустится только тогда когда
	какой либо порт получит 10000000 байт трафика.

    5.  proto_range_limit

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны протоколов.
	    3) Имя программы.
	    4) Имя для переменной.

	Функция предназначена контролировать лимиты
	для диапазона протоколов, указанных во втором
	параметре.

	Допустимыми шаблонами являются:
	%LT, %TP, %LM, %IN, %RP.

	%RP - будет содержать диапазон протоколов,
	      который достиг лимита, например "1-60".

	Пример:
	proto_range_limit=(i#2049890,o#304958340)+(1-60)+(/bin/tprog_proto %LT %RP %TP %LM %IN)

	Программа /bin/tprog_proto запустится тогда когда диапазон
	портов достигнет лимита для трафика input или output.
	Т.е. когда отправлено будет 304958340 байт с диапазона 1-60
	или получено будет 2049890 байт.

    6.  proto_each_limit

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны протоколов.
	    3) Имя программы.
	    4) Имя для переменной.

	Функция предназначена контролировать лимиты для
	каждого протокола из диапазона, указанного
	вторым параметром.

	Допустимыми шаблонами являются:
	%LT, %TP, %LM, %IN, %RP.

	%RP - будет содержать номер протокола, достигшего лимита.

	Пример:
	proto_each_limit=(i#2049890,o#304958340)+(1-60)+(/bin/tprog_proto %LT %PR %TP %LM %IN)

	Программа /bin/tprog_proto может содержать следующее:

	#--- CUT HERE ---

	#!/bin/bash

	if [ ${3} = "input" ] && [ ${2} = "1" ]; then
	    echo трафик по ICMP достиг максимального лимита \
		в ${4} байт, на интерфейсе ${5} >> /var/log/limit.log;
	fi

	#--- END  CUT ---

    7. port_ip_limit

	Данная переменная имеет 6 параметров.
	Параметры:
    	    1) Перечисление лимитов.
	    2) Номер протокола 6(TCP) или 17(UDP).
	    3) Перечисление/диапазоны IP адресов.
	    4) Перечисление/диапазоны портов.
	    5) Имя программы.
	    6) Имя для переменной.

	Функция предназначена контролировать лимиты для
	диапазонов портов на указанных диапазонах IP адресов.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %PR, %PO.

	%IP - для данной функции содержит диапазон IP адресов.
	%PO - для данной функции содержит диапазон портов.

	Пример:
	port_ip_limit=(i#2049890,o#304958340)+(6)+(a127.0.0.1-10)+(a1-60)+(/bin/tprog_pip %LT %PR %PO %IP %TP %LM %IN)

    8.  port_ip_each_limit

	Данная переменная имеет 6 параметров.
	Параметры:
    	    1) Перечисление лимитов.
	    2) Номер протокола 6(TCP) или 17(UDP).
	    3) Перечисление/диапазоны IP адресов.
	    4) Перечисление/диапазоны портов.
	    5) Имя программы.
	    6) Имя для переменной.

	Функция предназначена контролировать лимит для
	диапазонов портов для каждого IP адреса, входящего
	в диапазон, указанный третьим параметром.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %PR, %PO.

	%IP - для данной функции содержит IP адрес который
	      превысил лимит по диапазону портов.

	Пример:
	port_ip_each_limit=(i#2049890,o#304958340)+(6)+(a127.0.0.1-10)+(a1-60)+(/bin/tprog_pip %LT %PR %PO %IP %TP %LM %IN)

    9.  eport_eip_limit

	Данная переменная имеет 6 параметров.
	Параметры:
    	    1) Перечисление лимитов.
	    2) Номер протокола 6(TCP) или 17(UDP).
	    3) Перечисление/диапазоны IP адресов.
	    4) Перечисление/диапазоны портов.
	    5) Имя программы.
	    6) Имя для переменной.

	Функция предназначена контролировать лимит для
	каждого порта, который входит в указанный диапазон,
	для каждого IP адреса, который входит в
	указанный диапазон.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %PR, %PO.

	%PO - содержит номер порта который превысил лимит.

	Пример:
	eport_eip_limit=(i#50,b#123,f#56,o#1000)+(6)+(a127.0.0.1-10)+(a1-60)+(/bin/tprog_epeip %LT %PR %OP %IP %TP %LM %IN)

    10.  proto_ip_limit

	Данная переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны IP адресов.
	    3) Перечисление/диапазоны протоколов.
	    4) Имя программы.
	    5) Имя для переменной.

	Функция предназначена контролировать лимиты
	диапазонов протоколов для диапазонов IP адресов.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %RP.

	%IP - как диапазон.
	%RP - как диапазон.

	Пример:
	proto_ip_limit=(i#50,b#123,f#56,o#1000)+(a127.0.0.1-10)+(1-60)+(/bin/tprog_prip %LT %RP %IP %TP %LM %IN)

    11. proto_ip_each_limit

	Данная переменная имеет 5 параметров.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны IP адресов.
	    3) Перечисление/диапазоны протоколов.
	    4) Имя программы.
	    5) Имя для переменной.

	Функция предназначена контролировать лимиты
	диапазонов протоколов для каждого IP адреса
	который	входит в диапазон указанный
	вторым параметром.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %RP.

	%IP - как одиночный IP.

	Пример:
	proto_ip_each_limit=(i#50,b#123,f#56,o#1000)+(a127.0.0.1-10)+(1-60)+(/bin/tprog_prip %LT %RP %IP %TP %LM %IN)

    12. eproto_eip_limit

	Данная переменная имеет 4 параметров.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление/диапазоны IP адресов.
	    3) Перечисление/диапазоны протоколов.
	    4) Имя программы.
	    5) Имя для переменной.

	Функция предназначена контролировать лимиты
	каждого протокола для каждого IP адреса, которые
	входят в указанные диапазоны.

	Допустимыми шаблонами являются:
	%LT, %IP, %TP, %LM, %IN, %RP.

	%RP - как одиночный протокол.

	Пример:
	eproto_eip_limit=(i#50,b#123,f#56,o#1000)+(a127.0.0.1-10)+(1-60)+(/bin/tprog_prip %LT %RP %IP %TP %LM %IN)

    13. iface_limit

	Данная переменная имеет 4 параметра.
	Параметры:
	    1) Перечисление лимитов.
	    2) Перечисление интерфейсов.
	    3) Имя программы.
	    4) Имя для переменной.

	Функция предназначена контролировать лимиты
	каждого из указанных интерфейсов.

	Допустимыми шаблонами являются:
	%LT, %TP, %LM, %IN.

	%IN - как отдельный интерфейс.

	Пример:
	iface_limit=(i#90000000,o#90000000)+(eth3,eth7)+(/bin/tprog_iface %LT %TP %LM %IN)

  4.2.7 Переменные TA Billing.

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

	1. messages

		Данная переменная разрешает или
		запрещает вывод различных сообщений
		в лог файл во время работы Traffic Accounting.
		Переменная может принимать значения yes или no.
		Пример:
		messages=(yes)

	2. debug

		Данная переменная разрешает или запрещает
		вывод отладочной информации в лог файл в
		процессе работы Traffic Accounting.
		Переменная может принимать значения yes или no.
		Пример:
		debug=(no)

	3. debug_traffic

		Данная переменная разрешает или запрещает
		вывод отладочной информации о поступающих
		пакетах. Используется только при отладке
		трафика для разрешения возникшей проблемы
		или неясной ситуации в подсчете трафика.
		Переменная может принимать значения yes или no.
		Пример:
		debug_traffic=(no)

	4. traffic_look

		Данная переменная используется для указания
		Traffic Accounting на какие типы трафика
		смотреть для того чтобы принять решение об
		отключении пользователя. Это требуется в тех
		случаях	когда пользователь по исчерпанию баланса
		или по каким либо иным причинам не был отключен
		с первого раза(например скрипт отключения ошибочный),
		то Traffic Accounting должен будет определить использует
		ли данный пользователь трафик сети, и если да то
		входящим или исходящим или каким либо другим, и если
		пользуется а должен быть отключен то Traffic Accounting
		пытается отключить пользователя сново и т.д.
		Т.е. если указан traffic_look=(i) и пользователь
		не отключился с первого раза то как только у него на
		input появится какой либо трафик то его отключат еще раз.
		Пример:
		traffic_look=(i,o)

	5. bufferdb_size

		Данная переменная определяет максимальный размер
		базы для хранения различной информации.
		Вся база какой бы размер у нее ни был должна
		находиться в памяти поэтому надо расчитывать на то
		что память на определенное кол-во пользователей доступна.
		Целесообразно исходить из такого расчета, что база занимающая
		7 мб. в памяти хранит информацию на 10000 тыс. IP адресов.
		Пример:
		bufferdb_size=(2000000)

	6. compress_base

		Данная переменная разрешает или запрещает сжатие базы.
		При сжатии базы и каждое ее обновление на дисковом пространстве
		будет использоваться размер базы помноженный на два, т.
		для сжатия 5 мб. базы необходимо 10 мб. свободной памяти.
		После сжатия, размер базы на диске сокращается от 2 до 4 раз.
		Переменная может принимать значения yes или no.
		Пример:
		compress_base=(yes)

	7. Особенности расположения переменных.

		Есть некоторые особенности расположения переменных
		в файлах конфигурации.
		Переменные update_MODeth, update_MODserver, update_MODnetflow.
		Закомментировав строку с какой либо из выше перечисленных
		переменных означает запрещение на получение какого либо
		потока трафика.
		Например закомментировав update_MODnetflow конфигурация
		не будет получать пакеты от Netflow коллектора, или
		закомментировав так же update_MODeth, не будет получать
		пакеты с интерфейсов. Можно закомментировать все
		выше указанные переменные оставив таким образом
		базу данных конфигурации неизменяемой так как
		ни один пакет ниоткуда не будет получен.

  5. Модуль Netflow

  	Данная часть описывает различные способы
  	работы с Netflow в TA Billing.

  5.1 Поддерживаемые версии Netflow

  	Ниже следует список версий пакетов
  	Netflow которые поддерживает модуль.
  	Версии:
  	1, 5, 6, 7, 8.8 .

  5.2 Работа с модулем Netflow

  	Для работы конфигурации с модулем Netflow
  	необходимо прописать для необходимой
  	конфигурации порт на котором указанная
  	конфигурация будет принимать Netflow
  	пакеты.
  	Например существует конфигурация
  	nf-collector и выбранный для
  	конфигурации порт 3003, далее
  	необходимо в главном конфигурационном
  	файле прописать для конфигурации
  	nf-collector порт 3003. Для того чтобы
  	выполнить это, необходимо добавить
  	в переменную MODnetflow_port строку
  	nf-collector:3003, и должно получиться
  	MODnetflow_port=(nf-collector:3003).
  	Если в данной переменной уже существует
  	какая либо строка не относящаяся к
  	конфигурации nf-collector то добавлять
  	строку необходимо через запятую, например
  	в итоге может получиться так:
  	MODnetflow_port=(other-collector:2002, nf-collector:3003)

  	Далее в конфигурационном файле nf-collector-conf
  	раскомментировать строку update_MODnetflow,
  	если таковая была закомментирована.
  	(Такая строка обязательно должна присутствовать
  	при стандартной инсталляции)
  	На этом операции заканчиваются и данная конфигурация
  	будет получать Netflow пакеты приходящие на указанный
  	порт(в нашем случае 3003). Префикс интерфейса пакетов
  	будет netflow, дальше в зависимости от номера интерфейса
  	отправителя, например получится netflow7(если номер
  	интерфейса отправителя равен 7).

	Если информация недостаточна то следует перейти
	к пункту 5.3 "Исключительные ситуации".

  5.3 Исключительные ситуации

  	К исключительной ситуации возможно отнести следующую:
  	Существует поток Netflow от двух или более сетей,
  	например от двух сетей 192.168.1.X и 192.168.2.X.
  	При этом существует задача разделить поток Netflow
  	на две конфигурации т.е. одна конфигурация будет собирать
  	трафик от сети 192.168.1.X а вторая конфигурация должна
  	собирать трафик от сети 192.168.2.X, назовем конфигурации
  	net1X и net2X . Выделим для конфигураций порты потока netflow,
  	MODnetflow_port=(net1X:1001, net2X:1002), так net1X будет
  	принимать поток Netflow на 1001 порту а net2X на 1002 порту.
  	После этого заносим конфигурации в список promisc_dev, получится
  	promisc_dev=(net1X, net2X). Далее поток Netflow направляем
  	на порт 1001 а для того чтобы пакеты уходили кроме 1001 еще и на
  	1002 есть утилита udptunnel в стандартном пакете TA Billing.
  	Утилита udptunnel позволяет прозрачно для программ зеркалировать
	трафик идущий для одного udp порта на другой. В нашем примере
  	необходимо зеркалировать трафик для порта 1001 на порт 1002.
  	Допустим локальный адрес машины на которой производятся
  	операции равен 192.168.0.19 .
  	В файл udptunnel.conf необходимо ввести строку
  	redirect_to=(1001:192.168.0.19:1002), данная строка
  	означает, производить зеркалирование трафика приходящего
  	для порта 1001 на машину 192.168.0.19 и порт 1002.
  	Вместо 192.168.0.19 можно использовать 127.0.0.1 для
  	локального, как в данном примере, зеркалирования.
  	Если необходимо зеркалировать на кол-во портов больше
  	одного то свободно можно перечислять их в строке:
  	redirect_to=(1001:192.168.0.19:1002,1001:192.168.0.19:1003,1001:192.168.0.19:1004)
  	Строку можно указывать и более одного раза:
  	redirect_to=(1001:192.168.0.19:1002)
  	redirect_to=(1001:192.168.0.19:1003)
  	redirect_to=(1001:192.168.0.19:1004)

  	Все зеркалирование прозрачно для программ.
  	После этого необходимо запустить udptunnel:
  	bash# ./udptunnel -c ./udptunnel.conf -d
  	Далее все пакеты приходящие на порт 1001 будут
  	отображаться и на порт 1002.
  	Конечно же конфигурации net1X и net2X должны
  	быть настроены для приема Netflow (см. 5.2)
  	и сконфигурированы для приема пакетов только
  	своих сетей т.е. у net1X сеть 192.168.1.X
  	а у net2X сеть 192.168.2.X .

  6. Модуль Server

    В данном пункте рассказывается о работе Traffic Accounting Billing
    с модулем Server. Описывается о том как подключить указанный модуль
    к какой-либо конфигурации. Описывается дальнейший способ работы
    с модулем Server и его возможностями.

  6.1 Информация

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

  6.2 Необходимые настройки

	Для работы конфигурации с модулем Server
	необходимо каждой конфигурации указать
	на каком порту данная конфигурация будет
	принимать трафик от клиента к модулю Server.
	Трафик на порт принимается по протоколу UDP.
	Например существует конфигурация another-net,
	которая должна будет обрабатывать пакеты
	сети которая недоступна	той машине на которой
	запущен TA Billing. Порт конфигурации another-net
	равен 3001. Прописываем информацию по порту в
	главном конфигурационном файле:
	Вводим строку MODserver_port=(another-net:3001)
	или же если строка MODserver_port присутствует
	то необходимо добавить запись "another-net:3001",
	например: MODserver_port=(confconf:3005,another-net:3001).
	На данном этапе конфигурации another-net указан порт
	который будет использоваться для приема пакетов от
	клиентов модуля Server.
	Далее в конфигурационном файле another-net-conf
	необходимо разкомментировать строку update_MODserver,
	если таковая была закомментирована, или же добавить
	таковую строку в соответствии с ее параметрами
	указанными при стандартной инсталляции.
	После выполненных операций, пакеты от клиентов будут
	приходить и обрабатываться как свои собственные.

	Для получения информации о работе с клиентом
	см. главы 6.4, 6.5 .

	Если информации по конфигурированию недостаточно
	то следует перейти к пункту 6.3 "Исключительные ситуации".

  6.3 Исключительные ситуации

  	К исключительной ситуации возможно отнести следующую:
  	существует 4 шлюза с различными сетями, при этом одна
  	конфигурация должна быть настроена для приема трафика
  	всех существующих сетей шлюзов и дополнительная
  	конфигурация которая обрабатывала бы пакеты
  	только двух удаленных сетей шлюзов. Для решения
  	такой задачи потребуется создать две конфигурации
  	gateway-4 и gateway-2. Каждую конфигурацию нужно
	настроить на те сети которые необходимо обрабатывать.
  	Далее указать порты приема пакетов для модуля Server:
  	MODserver_port=(gateway-4:3001,gateway-2:3002)
  	После этого каждого клиента нужно настроить на любой
  	выбранный порт, пусть в данном примере выбранный
  	порт будет 3001. Так как на одной машине невозможна работа
  	двух клиентов то трафик будет идти от единично запущенных
  	клиентов(на каждом из шлюзов) на порт 3001. А для того чтобы
	вторая конфигурация принимала трафик на порту 3002 необходимо
	воспользоваться утилитой udptunnel которая входит в стандартный
	пакет TA Billing. Утилита udptunnel зеркалирует трафик для
  	одного порта на другой или несколько иных портов.
  	Допустим локальный адрес машины на которой производятся
  	операции равен 192.168.0.27 .
  	Для зеркалирования трафика порта 3001 на порт 3002
  	в конфигурационный файл udptunnel.conf вписываем строку:
  	redirect_to=(3001:192.168.0.27:3002)

  	как локальный адрес можно использовать и адрес 127.0.0.1 .
  	Если необходимо зеркалировать на несколько портов
  	то можно перечислить их в одной строке, например:
  	redirect_to=(3001:192.168.0.27:3002,3001:192.168.0.27:3003,3001:192.168.0.27:3004)

  	так же можно указывать строку неоднократно, например:
  	redirect_to=(3001:192.168.0.27:3002)
  	redirect_to=(3001:192.168.0.27:3003)
  	redirect_to=(3001:192.168.0.27:3004)

  	Зеркалирование прозрачно для программ.
  	После этого нужно запустить udptunnel:
  	bash# ./udptunnel -c ./udptunnel.conf -d
  	Далее все пакеты приходящие на порт 3001 будут
  	отображаться и на порт 3002.
  	На этом зеркалирование заканчивается, и таким
  	образом после запуска udptunnel обе конфигурации
  	gateway-2 и gateway-4 будут принимать пакеты
  	от сетей 4-х шлюзов, но как напоминалось выше
  	обе конфигурации должны быть настроены должным
  	образом т.е. gateway-4 должна принимать пакеты
  	от всех 4 сетей шлюзов а gateway-2 только от
  	двух сетей шлюзов.

  6.4 Создание аккаунта

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

    При создании аккаунтов создается файл /etc/passwd.db, но
    при необходимости файл /etc/passwd.db можно заменить
    на иной, указав необходимый параметр к утилите tuseradd,
    подробнее в п. 10.
    Все аккаунты сохраняются в шифрованном виде.
    Для создания аккаунта необходимо выполнить
    следующее:

    bash#tuseradd -a test
    Changing password for user
    New password:

    вводим пароль и на этом создание аккаунта "test" завершено.

    Если при создании аккаунта использовался иной файл записей то
    его так же необходимо указать параметром --pfile,
    tuseradd -a test --pfile /etc1234/12345.db
    и так же параметр --pfile должен быть использован при
    запуске TA, ./ta --pfile /etc1234/12345.db, для того чтобы
    модуль Server знал где искать записи для аунтефикации.

  6.5 Запуск клиента

    При стандартной инсталляции TA Billing, клиент находится
    в инсталлируемом каталоге, в подкаталоге bin, файл
    клиента называется tsclient.

    Для запуска клиента необходимо выполнить следующее:

    bash#./tsclient -s <IP_TA_SERVER> -p <PORT> --user <USER> --pass <YOURPASS>

    <IP_TA_SERVER> = IP адрес на котром функционирует модуль Server.
    <PORT>         = порт для соединения с модулем Server.
    <USER>         = имя аккаунта, который должен быть создан утилитой tuseradd.
    <YOURPASS>     = пароль аккаунта, если не указан параметр "--pass" то
		     ввод пароля будет запрошен с консоли.

    после этого, если введенные значения корректны, траффик будет считаться.
    Для того чтобы клиент не оставался на консоли с которой его запустили то
    его необходимо переключить в режим daemon, добавив параметр "-d":

    bash#./tsclient -d -s <IP_TA_SERVER> -p <PORT> --user <USER> --pass <YOURPASS>

  7. Оптимизация конфигурации

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

  7.1 Оптимизация по скорости

     	1. Если в использовании функции "Who Is Online"
     	   нет необходимости.

     	   	В таком случае необходимо закомментировать
     		строку taw_show_online_list в файле
     		конфигурации.

     	2. Если в использовании статистики по портам
     	   нет необходимости.

     	   	В таком случае необходимо закомментировать
     		строки taw_user_ip_port в файле конфигурации.

     	3. Если в использовании статистики по протоколам
     	   нет необходимости.

     	   	В таком случае необходимо закомментировать
     		строки taw_user_ip_proto в файле конфигурации.

     	4. Если в использовании функции "Учтенные IP адреса"
     	   нет необходимости.

		В таком случае необходимо закомментировать
		строку taw_ip_list в файле конфигурации.

  8. Тесты работы TA Billing.

    В данном разделе представлены некоторые результаты работы,
    Traffic Accounting.

    8.1 Размер базы данных

	Размер базы данных содержащей полную информацию
	о 10 000 (10 тыс.) IP адресах, составляет
	от 7 до 14 мб. Т.е. размер информации на 10 тыс.
	пользователей будет составлять 7-14 мб.

    8.2 Скорость работы

    	Скорость сбора пакетов составляет
	7 тыс. пакетов в секунду, при скорости
	процессора 200Mhz(P-II).
	Скорость обработки собранных пакетов
	составляет 1.5 тыс. пакетов в секунду
	при той же скорости процессора.

  9. Дополнительные возможности пакета TA Billing

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

  9.1 Параметры командной строки

    В данной части документа описаны параметры
    командной строки для программы Traffic Accouting.

    Параметры.

    1. --cfile

      Данный параметр указывает на главный конфигурационный
      файл. Если данный параметр не указан то как главный конфигурационный
      файл, Traffic Accouting будет использовать "/etc/ta.conf".
      Пример:

      bash# ./ta --cfile /etc123/ta123.conf

    2. --pfile

      Данный параметр используется для указания пути к файлу,
      с базой пользователей для аунтефикации на модуль Server.
      Пример:

      bash# ./ta --pfile /etc123/ta123passwd.db

  9.2 Опустошение буфера

    Если в конфигурационном файле управления трафиком используются
    функции из группы статистики, то для того чтобы преждевременно
    (не дожидаясь накопления 10,000[10тыс.] пакетов) записать пакеты
    на диск, необходимо послать сигнал kill с типом USR1 процессу TA.
    Это нужно например если постоянный трафик отсутствует, но пришло
    всего 6 пакетов то в файлах для результата пакетов не будет,
    и для того чтобы преждевременно сбросить буфер(записать пакеты на диск),
    необходимо выполнить команду(послать процессу TA сигнал USR1),
    например так: killall -USR1 ta .

  10. Утилиты

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

    1. tmlog

	Используется для конвертации, формата binary в текстовый
	из логов от функций full_bin_stat*, bin_stat*...
	Подробнее см. п. 10.1 .

    2. tsclient

	Клиент к модулю Server пакета TA Billing.
	Подробнее см. п. 10.1 .
	Описание работы tsclient см. п. 6.5 .

    3. tuseradd

	Программа манипулирования файлом аунтефикации
	для модуля Server пакета TA Billing.
	Подробнее см. п. 10.1 .
	Описание работы tuseradd см. п. 6.4 .

    4. cutdb

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

	Описание применения в пункте 4.2.5, в описании save_on_time.

    5. udptunnel

    	Предназначена для зеркалирования udp пакетов с одного
	порта на другой. Например пакеты приходящие на порт
	12 могут быть зеркалированны на порт 18, в результате
	получится один и тот же трафик на порту 12 и на порту 18.
	Так же зеркалирование не ограничивается одной машиной,
	т.е. трафик приходящий на udp порт 12 машины 192.168.2.1
	можно зеркалировать на udp порты 15,19,112 машины 192.168.3.95 .
	Данная утилита может одновременно зеркалировать до 10тыс.
	портов, при этом не занимая ни одного из них.
	Примеры работы с данной утилитой описываются в п. 5.3 и 6.3 .

  10.1 Подробное описание

    1. ta

	[--cfile]: указывает путь к главному конфигурационному файлу.
	    Пример:
		bash# ./ta --cfile /etc/ta123.conf

	[--pfile]: указывает путь к файлу с аккаунтами для аунтефикации
		   на сервер.

	    Пример:
		bash# ./ta --pfile /etc/ta12passwd.db

    2. tuseradd

	[-a]: добавить пользователя,
	      следующий параметр это имя пользователя.
	    Пример:
		bash# ./tuseradd -a test

	[-d]: удалить пользователя из базы,
	      следующим параметром идет имя пользователя для удаления.
	    Пример:
		bash# ./tuseradd -d test

	[-p]: изменить пароль для пользователя,
	      следующим параметром идет имя пользователя, для смены пароля.
	      (новый пароль будет запрошен с консоли)
	    Пример:
		bash# ./tuseradd -p test

	[--pfile]: указывает на путь к базе паролей,
		   по умолчанию используется путь "/etc/passwd.db"
	    Пример:
		bash# ./tuseradd --pfile /etc/tapasswd8.db

    3. tsclient

	[-s]: IP адрес машины на которой функционирует модуль Server.
	    Пример:
		bash# tsclient -s 195.23.78.4 -p 6 --user test

	[--user]: имя пользователя которое будет использоваться для
		  аунтефикации.
	    Пример:
		bash# tsclient --user test -s 195.23.78.4 -p 6

	[--pass]: пароль для имени пользователя, если этот параметр
		  не указан то пароль будет запрошен с консоли.
	    Пример:
		bash# tsclient -pass mypassword --user test -s 195.23.78.4 -p 6

	[-p]: параметр указывает порт для коннекта.
	    Пример:
		bash# tsclient -p 6 --user test -s 195.23.78.4

	[-d]: если данный параметр присутствует то tsclient
	      после запуска переходит в режим daemon.

    4. tmlog

	[-f]: Этот параметр указывает какой вид формата ЛОГА
	      будет использоваться, допустимые значения:
	      b: binary (для всех bin_stat_ функций)
	      bf: full binary (для всех full_bin_stat_ функций)

	[-p]:
	      Функция конвертирования:
	      t: конвертировать из binary в текстовый формат.

	[-o]:
	      Выходной файл(файл результата) если он не указан
	      то по молчанию используется stdout.

	[-i]:
	      Входной файл, файл над которым будут производится операции.

	[--data]:
	      Строка с датой, если данный параметр присутствует то выводятся
	      только те пакеты, timestamp которых совпадает с датой указанной
	      параметром.
	      **Формат строки с датой описан в п. 4.2.5,
	        дальше см. описание к функции stat_time_on .

	[--ptype]:
	      Данный параметр указывает какой тип пакетов требуется
	      для вывода.
	      Типы могу быть:
	    	    	i, o, f, b, m
	      параметр может содержать например: i,o,m

	[--proto]:
	      Данный параметр используется для того чтобы выводить пакеты
	      с определенным протоколом.
	      Синтаксис данного параметра такой же как и в самих
	      настроечных файлах конфигураций, программы TA.
	      т.е. можно указывать например: 1-6,10-17,90
	      так пакеты с протоколами с 1 по 6, с 10 по 17 и 90
	      будут выводиться.
	      Такой параметр можно использовать только для файлов
	      с полной статистикой, так как в неполной не
	      присутствует поле для протокола.

        [--port]:
	      Данный параметр ограничивает вывод записей по портам.
      	      Синтаксис данного параметра такой же как и в самих
	      настроечных файлах конфигураций, программы TA.
	      Например: --port a12-45,d67,a20-21,a80
	        в этом случае будут выводиться только те пакеты,
		порты которых подходят указанной маске.
	      Данный параметр будет распространяться только на те
	      пакеты, которые имеют записи для портов.

	[--ip]:
	      Данный параметр ограничивает вывод пакетов по IP
	      адресам.
      	      Синтаксис данного параметра такой же как и в самих
	      настроечных файлах конфигураций, программы TA.
	      Например: --ip d127.0.0.1,a127.0.0.9,d11-12.13-14.15-16.17,a11.11.11.11/255.255.255.252

	[--schar]:
	      Данный параметр используется для задания символа
	      разделения полей в выходном потоке. По умолчанию
	      это символ '|' .


	Дополнительные примеры использования утилиты tmlog:
	    ./tmlog -i lo-ig-bin_full-1 -o textfullout -p t -f fb
	    ./tmlog -i lo-ig-bin-1 -o textbinout -p t -f b
	    ./tmlog -i lo-ig-bin_full-1 -o textfullout -p t -f fb --data '0|*|23-7/1,9|*|*|*|1,3'
	    ./tmlog -i lo-ig-bin-1 -o textbinout -p t -f b --ptype i,o
	    ./tmlog -i lo-ig-bin-1 -o textbinout -p t -f b --proto 1,2-9
	    ./tmlog -i lo-ig-bin-1 -o textbinout -p t -f b --proto 6 --port a20-21
	    ./tmlog -i lo-ig-bin-1 -o textbinout -p t -f b --port a80,a3128

    5. cutdb

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

	Пример:
	    ./cutdb save_on_time-lo log_by_each_ip_local log_by_port_ip

	Обнуляет данные от функций log_by_each_ip_local и log_by_port_ip,
	из файла базы save_on_time-lo.

    5. udptunnel

    	Примеры работы с данной утилитой описываются в п. 5.3 и 6.3 .
	Параметры данной утилиты:

	[-c]: Путь к конфигурационному файлу утилиты.
	    Пример:
		bash# udptunnel -c ./udptunnel.conf

	[-d]: Если данный параметр присутствует то после запуска
	      утилита udptunnel переходит в режим daemon.
	    Пример:
		bash# udptunnel -c udptunnel.conf -d


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