Особенности версии 1.1

В программе теперь используется собственный механизм фильтрации взамен API от Microsoft. Это позволило реализовать много новых возможностей, улучшить стабильность работы программы и обеспечить лучшую совместимость с другими программами и службами самой системы Windows.
Фильтрация теперь работает зеркально как на прием, так и на передачу, что позволило увеличить эффективность firewall и исключить прохождение лишних пакетов как наружу, так и внутри сети.

Авторизация.

· Теперь нормально работает авторизация по MAC адресу. И доступна любая комбинация Имя + IP + MAC.
· Снято ограничение на диапазон IP адресов у клиента - ранее разрешалось не более 16. Это позволяет одним клиентом описать сразу большую сеть.
· При отключении авторизации через агента теперь закрываются и все сессии в прокси и SOCKS сервере.
· При авторизации теперь сначала ищутся клиенты среди разрешенных, а потом уже любые. Т.е. если есть незапущенные клиенты с одинаковыми адресами и именами, то они не мешают авторизации.
· Перевод клиента в состояние "Запрещено" теперь полностью исключает его из всех операций по авторизации - т.е. он вне зависимости от его настроек не мешается.
· Перевод клиента с авторизацией по адресу (IP или MAC) в состояние СТОП или ПАУЗА теперь не мешает произвести авторизацию другого клиента с этим адресом.
· Доработан агент - в настройках введена отдельная опция при авторизации по IP или MAC адресу.
· Монитор работы теперь показывает более подробную информацию о статусе клиента и способе авторизации. Также более подробная информация о способе авторизации записывается и в логи.
· Контроль нарушений политики авторизации ведется отдельной сетевой статистикой. Это не работает для клиентов с авторизацией по имени. Но все нарушения отписываются в логи и краткий отчет отсылается администратору по электронной почте.
· Появилась возможность выборочно разрешать или запрещать авторизацию через прокси сервер с различных типов сетей, а также запрещать для группы.
· Доработана интеграция с Active Directory - добавлена возможность работы клиентов из других доменов. Домены могут быть как в одном каталоге AD, так и использовать доверительные отношения. Для клиентов из других доменов также доступна функция автодобавления, для этого в этих доменах должны быть прописаны одноименные группы.

Фильтрация трафика клиентов.

· Фильтры "для всех" теперь применяются только на внутренних интерфейсах - см. далее доработки в firewall.
· Введена возможность блокировки HTTP трафика мимо прокси сервера. Ранее для этого приходилось настраивать запрещающие фильтры на порты 80 (8080 и др.), что было не совсем эффективно. Теперь это делается анализом TCP/HTTP данных драйвером программы. См. также функцию Transparent Proxy.
· Transparent Proxy - функция принудительного перенаправления сквозного TCP трафика на прокси сервер. Позволяет использовать прокси сервер независимо от настроек броузера. При включении этого режима перенаправляются запросы только по 80 порту, дркгие блокируются (см. функцию блокировки HTTP мимо прокси сервера).
· Для функций "Блокировка HTTP мимо прокси" и "Transparent Proxy" доступны как общие настройки, так отдельные для групп.
· Реализован внутренний firewall для ограничения доступа на сам сервер из внутренних сетей - описание см. ниже. Ранее эти ограничения настраивались фильтрами и их настройка не всегда была гибкой и удобной.
· Изменилась логика запрещающих и разрешающих фильтров для трафика с любым IP адресом назначения. Если включен внутренний firewall, то такой разрешающий фильтр не открывает трафик на IP адреса самого сервера. Аналогично такой запрещающий не блокирует доступ к службам ТИ и он имеет меньший приоритет перед разрешениями, где прописаны IP адреса назначения.

Внутренний firewall.

Для ограничения доступа на сам сервер изнутри сети введены настройки внутреннего сетевого экрана. Настройки доступны в окне общих настроек фильтров, а также из главной страницы консоли. Имеются отдельные настройки для локальных и публичных сетей. По умолчанию для локальных сатей firewall отключен, для публичных включен. Кроме включения firewall там можно задать разрешения на некоторые протоколы и службы. Аналогичные настройки сделаны и для внешнего firewall (см. далее).
У клиента появилась настройка "Является администратором". Кроме разрешения доступа в закрытую часть веб сервера она также отключает внутренний firewall.

Тарификация.

Для клиентов с автоблокировкой добавлена возможность работы в кредит с отрицательным значением баланса. Значение кредитного лимита задается в тарифе вместе с другими параметрами. При работе клиента в кредит можно задать отдельные ограничения или разрешения его параметров его работы -

· Отдельные значения ограничений скорости.
· В фильтрах "Для клиентов" теперь можно задавать дополнительные условия их применения в зависимости от состояния счета - "Любое", "Работает в кредит", "Не работает в кредит". Таким образом можно при работе в кредит переопределить все правила и политики работы клиента.
· В настройках фильтрации группы при работе клиента в кредит можно задать блокировку всего трафика по умолчанию. В сочетании с настройками фильтров это позволит при работе в кредит разрешить только определенный тип трафика.

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

Virus flood protect.

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

Для включения этого надо:

· Задать лимит записей в сетевой статистике, при превышении которого сработает блокировка. Размер этого лимита индивидуальный для клиента, зависит от характера его трафика. Также при определении этого лимита имеет значение и параметр интервала записи данных сетевой статистики. Чем он больше, тем больше записей может скапливаться в текущем коллекторе и тем больше должен быть лимит. Для обычного одиночного клиента можно выставить 10-30 записей при интервале записи 10 минут.
· Включить функцию блокировки (общие настройки клиентов, закладка "Сетевая статистика") и задать время, на которое клиент будет заблокирован.

События блокировки записываются в лог программы. Также, если настроено оповещение по E-Mail, высылается сообщение администраторам.

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

Firewall

· Включение и некоторые основные настройки firewall вынесены в окно общих настроек. Там теперь можно отключить некоторые его функции, которые ранее по умолчанию были всегда включены и по-простому задать разрешения для некоторых протоколов и служб.
· Теперь кроме разрешающих правил можно задавать и запрещающие. Ранее запрещающие правила на внешнем интерфейсе можно было задавать запрещающими фильтрами "для всех". Теперь такие фильтры применяются только на внутренних интерфейсах. Т.е. теперь можно блокировать исходящий трафик, идущий с самого сервера отдельно от трафика, идущего от клиентов.
· В правилах firewall введено условие направления движения пакета. Также появилась возможность для отдельных параметров задавать инверсные условия (галки "НЕ"). Все это вместе для подготовленных администраторов позволяет более гибко настраивать фильтры. Внешние счетчики и блокировка внешних подключений.
· При включении блокировки внешнего трафика теперь блокируются только те направления, на которые сработал счетчик. Ранее срабатывание счетчика "Весь Интернет" блокировало весь трафик независимо от состояния других счетчиков. Т.е. теперь при перерасходе платного трафика доступ на другой (льготный или бесплатный) останется.
· При срабатывании или отключении блокировки появилась возможность запуска другого приложения. Это позволит, например, используя утилиту netsh.exe отключить Интернет полностью, запретив внешний интерфейс. Это может исключить расход трафика из-за прихода каких-либо пакетов из внешней сети.

Прокси сервер.

· Различные доработки авторизации - см. выше.
· Новый механизм учета трафика. Работает на уровне драйвера, что обеспечивает абсолютную точность подсчета трафика через прокси сервер и SOCKS. В случае, если учет трафика через драйвер невозможен изза того, что он идет через неназначенный интерфейс, включается классический метод, работающий на уровне приложения.
· Усовершенствована работа правил кеширования. При запросе тип контента теперь проверяется также при извлечении данных из кеша, ранее использовался тип данных только из самого запроса. Это усовершенствование позволило более эффективно настраивать работу кеша. Например, предустановленное правило на ключевое слово «forum» можно сузить до типа text. Ранее это сделать не получалось, так как из самой строки запроса не всегда можно было определить тип данных. Т.е. при такой доработке правила кеширования тексовые данные будут всегда проверяться, а картинки и другой не текстовый контент браться из кеша.
· Добавлено удержание авторизации клиента открытой сессией прокси сервера (или SOCKS). Ранее авторизация удерживалась только при передаче данных, но могла отключаться по таймауту при простое.

RAS (VPN) server.

Решена проблема работы с интерфейсом internal RAS сервера. Теперь программа может не только считать трафик RAS клиентов, но и нормально управлять их доступом. Также доступны все возможности по фильтрации их трафика.

В текущей версии в качестве dial-in клиента можно использовать любую авторизацию, кроме MAC адреса (в отличие от 109 билда). IP адрес, выдаваемый RAS клиенту, может быть как постоянным, так и переменным. Также через Dial-Up сервер может быть подключена целая сеть. При этом никаких специальных настроек в самой программе делать не надо.

Для настройки программы с RAS сервером надо назначить в ней соотв. внутренний интерфейс и прописать Dial-In клиентов. Также надо ОБЯЗАТЕЛЬНО у этих клиентов на закладке авторизации взвести соотв. галку, иначе они через интерфейс RAS сервера работать не будут. В остальном настройка таких клиентов ничем не отличается от обычных.

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

Особенности WAN интерфейсов.

Существующая реализация работы с NdisWAN драйверами стека TCP/IP накладывает ряд ограничений.

· Если в программе используются любые WAN интерфейсы (они назначены), то трафик на незнаначенных в программе интерфейсах блокируется. Если же требуется прозрачная работа этих интерфейсов, надо снять галки привязки драйвера программы в свойствах соединений. Но это не получится сделать с Dial-In интерфейсом - в службе RRAS такой настройки нет. Поэтому, если требуется работа RAS сервера без участия программы, в ней вообще нельзя назначать ни одного WAN интерфейса.
· Интерфейс RAS сервера можно назначить только внутренним.
· Интерфейсы RAS соединений или Dial-Demand можно назначить только внешними. Поэтому не получится использовать встречное Dial-Demand подключение, для входящих соединений надо использовать RAS сервер.
· Можно назначить не более одного интерфейса RAS соединений. Если требуется несколько, надо использовать RRAS и Dial-Demand.

Bandwidth control (шейпер).

Это функция ограничения скорости работы клиентов. Реализована на уровне сетевого драйвера и позволяет работать с любым трафиком на внутреннем интерфейсе. Принцип работы шейпера - это вычисление скорости трафика и внесение задержек передачи пакетов созданием очередей.

Основные возможности этого механизма:

· Ограничение индивидуальной скорости работы клиента с отдельной настройкой на прием и передачу.
· Назначение суммарной максимальной скорости для группы (отдельно на прием и передачу). При этом выделенная полоса динамически делится поровну между работающими клиентами в группе независимо от характера их трафика.
· Ограничение по скорости передачи пакетов. Полезно для предотвращения перегрузки сети при вирусных эпидемиях.
· Назначение в фильтрах типа трафика, который надо исключить из контроля скорости и передавать без задержек.
· Назначение отдельных ограничений скорости в фильтрах для конкретного типа трафика. Эта настройка имеет приоритет перед ограничениями скорости у пользователя и позволяет отдельно переопределять полосу для различного типа трафика.
· Выставление приоритетов в фильтрах на определенный тип трафика. Эта настройка позволяет менять очередность пакетов во внутренней очереди пользователя и передавать критичные данные с минимальными задержками.
· Выставление дополнительных приоритетов в фильтрах на определенный тип трафика при наличии ограничения скорости в группах. Такие пакеты обрабатываются в отдельной очереди для каждой группы, что позволяет еще больше поднять приоритет их передачи.
· Для фильтров может быть назначено расписание, что позволяет изменять настройки службы в зависимости от времени.
· Данные из кеша прокси сервера, а также с локального веб сервера (сервер статистики) ограничениям по скорости не подвергаются.
· По умолчанию весь трафик на сам сервер шейпером не обрабатывается. Если же надо включить ограничения на какие-то другие службы на этом сервере, то это можно сделать прописав соотв. правила (фильтры).

Совместимость с другими программами.

В связи с использованием своего API фильтрации улучшилась совместимость программы.

· Программа теперь перестала конфликтовать по внешнему интерфейсу с Microsoft ISA server. Т.е оба сервера могут работать одновременно без ограничений работоспособности.
· Также можно использовать механизмы фильтрации в службе RRAS и встроенный firewall службы ICS.

Дополнительные возможности.

· Реализована блокировка внешних сетей при прекращении работы программы. Эта блокировка реализована на уровне драйвера и предотвращает бесконтрольное использование Интернет при ситуациях, когда сервис программы не загружен, неработоспособен или работа программы затруднена из-за нехватки ресурсов процессора. Блокировка работает также в процессе старта системы, пока сервис программы еще не успел загрузиться.

Ограничения версий программы.

Интерфейс RAS сервера (internal службы RRAS) теперь учету при ограничениях внутренних интерфейсов в версиях программы LITE+, PRO, HOMENET не подвергается. Т.е. можно во всех версиях программы применить эту службу.

Инсталлятор программы.

· Усовершенствован исталлятор, теперь в большинстве случаев при установке или перестановке программы перезагрузка системы не требуется.
· MSXML 4.0 теперь ставится самим инсталлятором. Отдельно этот пакет ставить не надо.


Введение.

Программа Traffic Inspector - это недорогое комплексное решение для подключения локальных пользователей в сеть Интернет (Internet Sharing), обеспечивающее полноценный учет трафика, разграничение доступа и имеющее встроенные средства сетевой защиты.

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

Серверная часть программы Traffic Inspector реализована только под платформу Windows 2000/XP/2003, клиенты же могут использовать любую операционную систему - тут ограничений нет. Система легко устанавливается, настраивается и управляется, имеются средства удаленного управления. Для настройки программы не нужны особые знания и квалификация - специалист, способный установить Windows, настроить сеть и подключиться к Интернет без проблем настроит и эту программу.

Traffic Inspector также позволяет решить еще одну задачу - реализовать раздельный учет пользователей, работающих на единственном компьютере подключенном к Интернет с возможной их блокировкой. Это отдельная задача и она реализуется включением работы программы в персональном режиме (особенности см. в отдельном разделе).

В Traffic Inspector мы постарались в одном продукте реализовать, по крайней мере, большинство задач, возникающих при подключении к Интернет по выделенному каналу. Эти задачи можно разделить так (смотрите отдельные разделы):

1. Обеспечить доступ в сеть Интернет из внутренней сети.
2. Авторизация и разграничение доступа пользователей.
3. Билинг - тарификация пользователей и блокировка доступа при перерасходе трафика.
4. Обеспечить пользователей средствами экономии трафика и дать им возможность самостоятельно контролировать свою работу в Интернет.
5. Сетевая защита - закрыть сервер доступа и внутреннюю сеть от несанкционированного доступа извне.
6. Подробный анализ сетевого трафика. Учет трафика, потребляемого у провайдера.

Существует много программ, которые решают эти задачи в частности (см. обзор). Но аналога, который бы все это делал в одном пакете, нет - тут одной программой не обойтись, это все приходится собирать на основе различных программ, стоимость решения возрастает, задача настройки и администрирования сильно усложняется. Также существенно то, что благодаря объединению разных служб в одном пакете стало возможным легко реализовать некоторые вещи, которые иначе сделать было бы крайне затруднительно.

Полный список возможностей программы представлен здесь.

Таким образом, эта программа - самодостаточное решение. Но при необходимости ее отдельные службы могут быть использованы отдельно. Например, Traffic Inspector может работать как система билинга для других серверов, например Microsoft ISA Server.

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

Версия | Стоимость | Кол-во пользов. | SMTP- шлюз | Блок. внеш. трафика | Внутренние интерфейсы | Описание
PE | Бесплатно | Неограниченно | Нет | Есть | Внутренний, сетей нет | Версия для персонального использования (см. особенности).
Lite | Бесплатно | 2 | Есть | Есть | Один | Полнофункциональная версия для тестирования программы.
Lite+ | См. на сайте | 8 | Нет | Нет | Один | Для небольших организаций и небольшой домовой сети.
Standart | См. на сайте | 50 | Есть | Есть | Один | Для организаций, домовых сетей и компьютерных клубов.
Pro | См. на сайте | Неограниченно | Есть | Есть | Неограниченно | Версия без ограничений.
HomeNet | См. на сайте | Неограниченно | Есть | Есть | Один | Версия только для домовой сети с ограничениями по топологии. Специальный лицензионный договор.

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

КОНТАКТЫ:

Сайт компании-разработчика - http://www.smart-soft.ru


Лицензионное соглашение

Лицензия на использование и распространение.

1. Обладателем исключительных прав на программу ТРАФИК ИНСПЕКТОР и ее разработчиком является ООО СМАРТ-СОФТ.

2. Программа версии LITE и PE предназначена исключительно для НЕКОММЕРЧЕСКОГО ИСПОЛЬЗОВАНИЯ или
ТЕСТИРОВАНИЯ. Регистрации программы не требуется и ограничения срока ее использования нет.

3. Информация о приобретении других версий программы и порядка ее установки размещена на сайте http://www.smart-soft.ru.

4. Если данный дистрибутив используется для установки платных версий программы ТРАФИК ИНСПЕКТОР, то в
этом случае действует соответствующий лицензионный договор, заключенный между лицензиатом и ООО СМАРТ-СОФТ, или уполномоченным дилером.

5. ООО СМАРТ-СОФТ оставляет за собой право отменить действие данной лицензии для любой из следующих версий ТРАФИК ИНСПЕКТОР.

6. ТРАФИК ИНСПЕКТОР версии LITE (PE) распространяется свободно, при условии того, то настоящий дистрибутив не изменен. Ни одно частное лицо или организация не может брать плату за распространение ТРАФИК ИНСПЕКТОР без письменного разрешения авторов.

7. ТРАФИК ИНСПЕКТОР ВЕРСИИ LITE ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. ООО СМАРТ-СОФТ НЕ БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

8. Для ТРАФИК ИНСПЕКТОР версии LITE (PE) гарантированная техническая поддержка не предусматривается, но по всем вопросам использования программы вы можете обращаться к разработчикам, и по возможности помощь будет оказана.

9. Вы не можете использовать, копировать, эмулировать, создавать новые версии, сдавать в наем или аренду, продавать, изменять, декомпилировать, дизассемблировать, изучать код программы другими способами, передавать зарегистрированную программу или любые из ее составляющих, иначе, чем определено настоящим лицензионным соглашением. Любое такое нелегальное использование означает автоматическое и немедленное прекращение действия настоящего соглашения и может преследоваться по закону. Все права, не предоставленные здесь явно, сохраняются за ООО СМАРТ-СОФТ.

10.Установка и использование ТРАФИК ИНСПЕКТОР означает, что Вы понимаете положения настоящего лицензионного соглашения и согласны с ними.

11.Если Вы почему-либо не согласны с этим лицензионным соглашением, Вам необходимо удалить файлы дистрибутива ТРАФИК ИНСПЕКТОР с Ваших устройств хранения информации и прекратить использование этой программы.

12. ООО СМАРТ-СОФТ гарантирует отсутствие умышленных деструктивных и шпионских функций в программе.

13.Данное лицензионное соглашение не является действительным для последующих версий программы.


Характеристики.

Основные характеристики программы:
· Внутренние и внешние сети - топология
· Авторизация пользователей
· Ограничения работы пользователей
· Тарификация
· Контроль внешнего трафика
· Сетевая статистика
· Прокси-сервер
· SMTP-шлюз
· Сетевой экран (firewall)
· Клиентский сервис
· Администрирование
· Отчеты
· Интерфейс автоматизации

Внутренние и внешние сети - топология.

· Сервер может работать с несколькими внутренними интерфейсами в сложной по топологии сети.
· Поддерживаются интерфейсы 802.3 (Ethernet), 802.11 (Radio Ethernet), WAN PPP, WAN VPN (PPTP, L2TP).
· Внутренние сети могут быть описаны как локальные (напр. внутри офисная сеть) или публичные (напр. домовая). Для разных сетей могут использоваться разные политики доступа.
· Для съема трафика пользователей через другие сервера внутренней сети может использоваться специальный режим сниффера ("прослушки").
· Сервер может работать с несколькими внешними интерфейсами. Т.е. может быть несколько подключений к сети Интернет.
· Для работы с динамическими внешними интерфейсами имеется режим автоматического их выбора.
· Обеспечивается корректная работа при разделении входящего и исходящего трафика на внешних интерфейсах (например, при работе через спутник).
· Для персонального режима работы используется внутренний IP интерфейс (127.0.0.1). В этом случае назначение других внутренних интерфейсов запрещено.
· Реализована возможность работы клиентов на терминальном сервере.

Авторизация пользователей.

· По IP-адресу, группе IP-адресов или MAC-адресу.
· Аутентификация по имени и паролю. Может использоваться при работе с прокси-сервером или через клиентского агента с использованием как собственных паролей, так и через домен сети Windows.
· По адресам электронной почты - используется в SMTP-шлюзе.

Ограничения работы пользователей.

· По датам.
· По расписанию. Может быть задано индивидуально для пользователя, для группы или сразу для всех.
· По доступу к ресурсам. Имеются групповые и общие "черные" и "белые" списки. Фильтры описывают как IP-уровень (3, 4), так и уровень приложений (HTTP, FTP). Для IP-фильтров можно вместо IP-адресов задавать и имена хостов, что описание фильтра делает независимым от изменений адресов ресурсов.
· По IP-адресам. Для пользователей с авторизацией по имени это может использоваться для введения дополнительных ограничений.
· По скорости. Есть возможность задания лимита скорости для пользователя индивидуально или суммарно по группе. Скорость можно также ограничивать для различной категории трафика.

Тарификация.

· Различный вид учета трафика: по входящему, исходящему, сумме входящего и исходящего и максимальному значению от входящего и исходящего.
· Задание предоплаченного (бесплатного) трафика.
· Тарификация времени работы клиентов. При этом абонентская плата может начисляться посуточно или поминутно за время реальной работы.
· Тарифы могут быть изменены задним числом - любое их изменение влечет немедленный пересчет всех данных по билингу.
· Дополнительно могут задаваться скидки на трафик из кеша, почтовый или любой другой в соответствии с заданными в фильтрах критериями.
· Все настройки тарификации могут быть сделаны индивидуальными, групповыми или общими, что позволяет иметь различные тарифные планы.
· Текущий статус клиента со всеми его параметрами тарификации отображается в реальном времени.
· Все изменения статуса клиентов могут записываться в журнал для последующей обработки и формирования отчетов.

Контроль внешнего трафика.

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

Сетевая статистика.

· Для пользователей и внешних счетчиков может быть включен сбор сетевой статистики в контексте IP-адресов, протоколов и портов.
· Есть возможность индивидуально или для всех задавать степень детализации - интервал анализа и количество активных соединений.
· Текущая статистика может отображаться в реальном времени и записываться в журнал для последующего анализа и формирования отчетов.
· Для дополнительного анализа хостов и сетей используется сервис WhoIs и NetGeo.

Прокси-сервер.

· Протоколы - HTTP/1.1, FTP, SOCKS 4/5.
· Аутентификация - BASIC (открытым паролем) или интегрированная в домен Windows (NTLM v. 1/2).
· Кеширование - есть много настроек для выбора оптимальных параметров с точки зрения экономии трафика. Дополнительно для отдельных ресурсов есть возможность параметры кеширования задавать индивидуально.
· Кеш хранится в одном файле, при этом полностью исключена его внутренняя фрагментация. Все индексы кеша хранятся в оперативной памяти, что обеспечивает высокую скорость работы с кешем.
· Фильтрация контента - прокси-сервер использует общие с IP-фильтрами списки, но для него есть возможность также задавать тип контента и вести анализ протокола и URI вплоть до контекстного поиска. Это позволяет, например, легко реализовать эффективную баннерорезалку.
· Есть поддержка метода HTTP CONNECT - через прокси-сервер в этом режиме может работать SSL, FTP или любое другое TCP приложение, позволяющее работать через HTTP-туннель.
· Классический FTP-прокси.
· FTP через HTTP через метод GET - прокси-сервер генерирует HTML страницы, позволяя работать с FTP серверами в режиме чтения.
· Автоматическое переключение между активным и пассивным режимами для протокола FTP.
· Авторизация - сквозная. Если пользователь не авторизовался, то по необходимости запрашивается аутентификация через прокси- или SOCKS-сервер.
· Автоматическое конфигурирование браузеров, соответствующее принятым стандартам. Прокси-сервер выдает клиентам стандартный WPAD.DAT JAVA -скрипт для их конфигурирования. Есть возможность задания в нем LAT (таблицы локальных адресов). Также может быть использовано принудительное конфигурирование браузеров через клиентского агента.
· Форвардинг HTTP-запросов на другой прокси-сервер.
· Имеется возможность выборочно включить запись в журнал всех запросов через прокси-сервер.

SMTP-шлюз.

· Публикует снаружи один внутренний SMTP-сервер.
· Запрещает открытые relay (пересылки), что позволяет использовать внутри сети самые простые почтовые сервера.
· Есть проверка адресов отправителей на достоверность их домена.
· Есть проверка хостов отправителей с помощью служб RBL, базирующихся на DNS. Многопоточная реализация позволяет задействовать большое количество служб без внесения дополнительных задержек. Через RBL также могут проверяться и все промежуточные SMTP-сервера анализом заголовков сообщений.
· Имеются "черные списки" хостов отправителей, которые могут заполняться как автоматически, так и вручную. Автоматическое занесение в "черные" списки хостов, отфильтрованных через RBL, позволяет существенно экономить трафик при массовой рассылке спама с них за счет исключения последующих запросов на RBL-службы.
· Есть "белые" списки, описывающие отправителей, для которых фильтрация сообщений применяться не будет.
· Для анализа отфильтрованной почты ведется подробный журнал, а также может использоваться почтовая рассылка администраторам.
· Тарифицирует входящую почту для известных получателей - пользователей Traffic Inspector. Для экономии трафика прием почты для неизвестных получателей может быть запрещен.
· Может быть запрещен также прием почты для отключенных или заблокированных пользователей.

Сетевой экран (firewall).

· По умолчанию закрывает все запросы извне, при этом прозрачно разрешая TCP, UDP и ICMP изнутри, в связи с чем настройки службы практически не требуется.
· Динамическая UDP-фильтрация - позволяет корректно отличать входящие UDP-запросы от исходящих.
· Для разрешения работы серверных приложений или других (не TCP, UDP, ICMP) протоколов можно отдельно задать список разрешающих правил.
· На информационных счетчиках можно вести раздельный учет и анализ отфильтрованного входящего трафика (анализ флуда, сканирования портов и др.).

Клиентский сервис.

С помощью специальной программы - клиентского агента пользователь может самостоятельно:

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

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

Администрирование.

· Удаленное управление - для удаленного доступа используется стандартная технология DCOM, консоль управления выполнена как MMC Snap-In, что позволяет ее легко интегрировать с другими инструментами администратора.
· Мониторинг работы клиентов и сетевой статистики в реальном времени.
· Ограничение доступа - можно задать группу администраторов в домене Windows или использовать встроенную аутентификацию по паролю.
· Есть утилита групповой удаленной установки клиентских агентов, которая позволяет произвести их установку сразу на все компьютеры сети.
· В случае, когда компьютеры клиентов не в сети Windows, клиенты могут самостоятельно загрузить или обновить агента через встроенный веб-сервер.
· Автоматическое добавление клиентов если сеть работает с доменом Windows. Также имеется возможность ограничить это для отдельной группы домена, а также сразу помещать новых клиентов в разные группы Traffic Inspector с привязкой к группам домена.

Отчеты.

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

Интерфейс автоматизации.

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

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


Сравнение с другими продуктами

Прямого аналога Traffic Inspector на настоящий момент нет. Существующие программы решают аналогичные задачи в частности, поэтому приходится собирать решение, используя несколько программ одновременно.

Прокси-сервера.

Такая задача, как учет трафика, в таких программах как Microsoft Proxy Server, Microsoft ISA Server, WinGate, WinRoute и многих других, решается, как правило, анализом их лог-файлов. Этот подход несет массу недостатков:

· Для более или менее оперативного учета необходимо использовать дополнительные программы, далеко не бесплатные. Простой анализ утомителен и сложен, имеющиеся бесплатные программы неудобны и малофункциональны.
· Низкая оперативность получения данных. Сложно реализовать оперативную блокировку клиентов с целью предотвращения перерасхода трафика. Встроенных механизмов нет (кроме WinGate и UserGate), а дополнительные программы не бесплатны.

Для Microsoft ISA Server есть расширение TrafficFilter для ограничения трафика, но оно работает только через прокси-сервер и довольно дорого.

Для них также следует отметить:

· Некорректный подсчет трафика при работе через прокси-сервер. Прокси-сервера не учитывают заголовки пакетов и служебный TCP-трафик, что приводит к занижению результата на 5-15%. Traffic Inspector правильно учитывает трафик во всех случаях, в том числе и при работе через свой прокси-сервер, SOCKS и SMTP-шлюз.
· Классические прокси-сервера (UserGate, CoolProxy и др.), не имея NAT, не могут предоставить клиентам полноценную работу для всех приложений TCP/IP. Протокол SOCKS поддерживает довольно мало программ. Использование такими серверами порт-маппинга для проксирования соединений усложняет настройки программ клиентов и работу администратора сети, так как буквально каждую программу клиента надо прописывать на сервере. Для большого количества клиентов применение этого метода практически невозможно.
· При использовании кеширования HTTP-контента сложно подобрать оптимальные параметры работы кеша. Желание максимально сэкономить трафик приводит к проблемам просмотра быстрообновляемых ресурсов. В Traffic Inspector реализована отличная возможность для пользователей самостоятельно управлять режимом работы кеша. Уникальный алгоритм работы позволил поднять утилизацию кеша до 25-35%.
· У клиента нет возможности оперативно управлять фильтрацией контента для экономии трафика. Можно настроить фильтры, но клиент не сможет ими сам управлять. Для этого приходется использовать различные плагины (баннерорезалки) для браузеров. В Traffic Inspector такая возможность реализована.

Есть еще один существенный недостаток, присущий некоторым программам (например WinGate, WinRoute и некоторым простым прокси-серверам) - нет защиты "от дурака". Неопытный пользователь может легко ошибиться в настройках и оставить опубликованный наружу анонимный прокси, SOCKS или открытый почтовый рилей. Результатом могут быть гигабайты впустую потраченного трафика и попадание IP-адреса в "черные" списки. Самое неприятное при этом еще и то, что они этот трафик могут даже не зафиксировать. У Traffic Inspector такое просто невозможно.

NAT.

Служба NAT имеется у таких программ, как Microsoft ISA server, WinGate, WinRoute (от Kerio). Тут только WinGate имеет возможность авторизации по пользователю, имея клиентского агента, а также поддерживает авторизацию по MAC-адресу. Отсутствие авторизации по пользователю сводит на нет возможности использования этой службы в реальной сети организации. В варианте домовой сети отсутствие защищенной авторизации по имени пользователя также недопустимо, так как IP- и MAC-адреса очень легко подделать.

Microsoft ISA server и Microsoft Proxy Server имеет свою службу - Firewall Client (Winsock proxy), через которую могут работать большинство приложений, но клиентская чаcть есть только для платформы Windows. Кроме того, клиенты должны быть в домене Windows.

Все вышеперечисленные программы (прокси и NAT), как правило, учитывают только свой трафик (проходящий через их службы). Установка на сервер других программ, работающих с Интернет, приведет к появлению неучтенного трафика. У них отсутствуют механизмы контроля трафика непосредственно на внешнем интерфейсе - невозможно точно проконтролировать реальный трафик, потребляемый у провайдера. Появление открытых рилеев, анонимных прокси или SOCKS, опубликованных снаружи, может привести к расходу огромного трафика, который останется незамеченным.

Эти задачи часто решаются установкой дополнительных анализаторов, например, такой популярной программы как TMeter. Она не только точно учитывает трафик на интерфейсах, ведет сетевую статистику, но и имеет возможность блокировки. Но эта программа привязывается к IP-адресам и поэтому не может использоваться в случаях, когда используется авторизация по имени пользователя. Кроме того, она не бесплатна.

Анализаторы лог-файлов.

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

Тарификация входящей электронной почты.

Задача тарификации почты для внешних серверов сводится к учету трафика по соответствующим протоколам (SMTP, POP3, IMAP) проблем не вызывает. Если почтовый сервер находится внутри сети, то его тарифицировать можно, используя средства почтового сервера (например, анализируя его логи), или используя SMTP-шлюз (как реализовано в Traffic Inspector).

Для Microsoft ISA Server имеются дополнительные платные расширения - SMTP-фильтры, которые могут анализировать почтовый трафик, а также выполняют функции фильтрации спама. При этом можно решить и задачу блокировки почты для несуществующих получателей (что особенно важно для Microsoft Exchange Server), но тут придется вести отдельные списки адресов, что неудобно для администрирования.

Системы билинга.

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

· Учет трафика на интерфейсе (пакетный драйвер). Пример - UserTrafManager (UTM). Версия 4.0 под Windows умеет также блокировать пользователей. Система умеет практически все, что нужно для учета трафика и организации платных услуг, но дорогая.
· Данные по трафику с портов VPN-сервера. Тут может использоваться, например, служба RRAS Windows. Пример системы билинга для этой службы - программа RasAdminExt. Более серьезные системы для этой цели могут использовать RADIUS. Основной недостаток такого подхода - это невозможность делать разграничение тарификации на разные виды трафика. Для сбора сетевой статистики при этом необходимо применение дополнительных решений.

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

Персональный режим.

Такая специфичная задача, как учет работы нескольких пользователей на единственном компьютере, подключенном к Интернет, другими программами надежно решить практически невозможно. Использование локального прокси (CoolProxy или UserGate) не подойдет, так как пользователь может без проблем отключить использование прокси-сервера и работать напрямую. Использование анализаторов с блокировкой типа TMeter также не подойдет, так как они считают только общий трафик и не позволяют его считать индивидуально по пользователю.

Недостатки Traffic Inspector.

К недостаткам текущей версии Traffic Inspector можно отнести:

· Нельзя организовать персональный учет работы пользователя, когда он работает на самом сервере доступа. Этот учет возможен только для персонального режима на одиночном компьютере при условии отсутствия внутренних сетей.
· Нельзя организовать учет работы пользователя на компьютере где работают серверные службы, использующие Интернет, отдельно от них, если при этом пользователь не использует прокси или SOCKS. Для полноценного учета трафика такие сервера должны быть выделенными и быть доступны только администраторам сети.
· Не получится организовать учет работы для нескольких пользователей при использовании NAT, если они работают на терминальном сервере.
· SMTP-шлюз не работает по исходящему почтовому трафику. Но если пользователи для отправки почты используют SMTP, то исходящий почтовый трафик легко учитывается настройкой тарификации по 25 порту TCP как для почтового сервера, установленного на самом сервере доступа, так и для сервера во внутренней сети.
· Ограничения скорости работают только для трафика через прокси-сервер.
· Нет возможности описать фильтры на уровне приложений при работе через NAT. Это доступно только при работе через прокси-сервер.
· Из-за особенностей сетевого драйвера программы Traffic Inspector не сможет нормально работать с другими программами, имеющими свой NAT (не использующими NAT Windows) - напр. WinGate, WinRoute. Для такой совместной работы на одном сервере NAT у таких программ должен быть отключен (если это вообще возможно). Также возможны конфликты с другими firewall. C Microsoft ISA Server совместная работа возможна - подробности см. здесь.
· Не работает функция блокировки трафика и IP-фильтрации для Dial-In соединений при использовании службы RRAS. Но это уже, скорее всего, недостаток этой службы.


Персональный режим.

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

Имеется отдельный инсталлятор для этого режима работы - PE версия. Этот режим работы имеет много отличий от основного варианта применения программы. Выбор интерфейсов внутренних сетей в таком режиме недоступен - если они все же есть. Для работы сервера авторизации, прокси и SOCKS используется локальный внутренний интерфейс с адресом 127.0.0.1

Учет трафика клиента, когда он работает напрямую, производится на внешних интерфейсах. Фильтрация для клиента также применяется на них же. Если клиент заблокирован, то внешний интернет для него полностью отключен.

Таким образом, если у клиента нет прав администратора на сам компьютер и программу, обойти Traffic Inspector у него не получится.

Авторизация возможна только по имени и паролю через агента. Интегрированная в Windows авторизация недоступна.

Использование прокси-сервера при работе нескольких пользователей вполне имеет смысл:

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

Использование firewall'а имеет некоторые особенности - добавление разрешений в нем имеет приоритет. Если клиент отключен или заблокирован, а в firewall'е какой-то трафик разрешен, то он будет открыт. Это можно использовать, например, в случае, когда надо всегда сохранять доступ к каким-либо ресурсам или на компьютере работают какие-либо программы, которые всегда должны иметь доступ в Интернет.

Клиентский агент для работы в персональном режиме должен запускаться с ключом -PE. При этом допускается одновременный запуск 2-х агентов на компьютере - одного в персональном режиме, другого в обычном. Настройки для обоих режимов сохраняются отдельно.


NAT и прокси

Рассмотрим типовой вариант - внутренняя сеть подключена через сервер доступа к Интернет и использует один внешний "белый" IP-адрес (см. вариант применения).

Задача обеспечения доступа в Интернет из внутренней сети решается, как правило, с помощью NAT или прокси-сервера. Каждый подход имеет свои достоинства и недостатки.

Принцип работы NAT - это простая трансляция IP-адресов и портов в пакетах при прохождении через сервер. Для доступа через NAT не требуется никакая настройка клиентских программ - служба прозрачно транслирует все исходящие запросы наружу. Также этот подход отличает максимальная производительность и не требовательность к ресурсам сервера. Но NAT не позволяет приложению открывать входящие соединения. Это накладывает ограничения на некоторые протоколы, например IRC.

Traffic Inspector использует службу NAT Windows. Это называется ICS (Internet Connection Sharing) или RRAS (Routing and Remote Access Server) для серверных версий системы.

NAT может работать в режиме трансляции портов и адресов. Если используется один внешний адрес, то применяется трансляция портов. Но у провайдера можно дополнительно получить группу адресов и тогда через NAT какой-то внешний адрес может быть назначен на внутренний. Это удобно для случая, когда внутри сети находятся какие-то сервера и требуется прозрачная трансляция портов без их замены. Но всегда имеется возможность публикации наружу внутренних серверов даже на единственный внешний адрес.

В чистом виде NAT от Windows используется мало, так как там практически отсутствует возможность разграничения доступа и контроля трафика.

Прокси-сервер работает на уровне протоколов приложений и требует соответствующей поддержки со стороны клиентских программ и их настройки. Через него можно работать по протоколам HTTP или FTP. Также имеется специальный протокол прокси-серверов SOCKS, через который может работать любое приложение, использующее TCP. Через SOCKS можно открывать как исходящие, так и входящие соединения, так что тут снимаются проблемы NAT. Единственное ограничение - это необходимость поддержки SOCKS со стороны клиентских программ.

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

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

В составе Traffic Inspector имеется полнофункциональный HTTP/FTP/SOCKS прокси-сервер. Реализована гибкая фильтрация, имеется кеширование и возможность ограничения скорости работы. По функциональным возможностям он ничуть не уступает другим прокси-серверам. При работе через HTTP доступна работа с методом CONNECT, что позволяет работать с SSL, а также с помощью этого метода возможна работа с FTP, электронной почтой и другими приложениями, которые это поддерживают. FTP прокси-сервер может работать как в пассивном, так и в активном режиме. Также имеется возможность работать с FTP через HTTP - при этом клиент использует HTTP (обычный браузер), получая данные с FTP-сервера в виде страниц.

Есть еще одна возможность работать с Интернет из внутренней сети - это получить у провайдера IP-подсеть, сконфигурировать сервер доступа как роутер и раздать клиентам "белые" адреса. Traffic Inspector в таком варианте также сможет работать. Но этот подход мало пригоден прежде всего из-за проблем с безопасностью. Но маршрутизация сети может потребоваться при организации DMZ (т.н. "демилитаризованной зоны") для размещения публичных серверов (см. вариант применения).


Авторизация

Авторизация и разграничение доступа.

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

Идентифицировать клиента можно по его сетевым адресам - IP- и MAC-адресу. Этот подход - самый простой, но имеет недостатки. В организации, как правило, нет привязки сотрудника к конкретному компьютеру. На одном компьютере могут работать несколько человек, или они могут работать на разных компьютерах. В варианте домовой сети этот метод мало подходит из-за наличия возможности подмены этих адресов. Его следует использовать только для авторизации серверов во внутренней сети, которые должны работать с Интернет.

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

В Traffic Inspector для авторизации пользователя имеется специальная программа - клиентский агент. Кроме аутентификации эта программа также выполняет ряд других функций - конфигурирует браузер, отображает баланс, с ее помощью клиент может управлять режимами своей работы. Агент имеется только для Windows. Но авторизоваться можно и через прокси- или SOCKS-сервер, что можно использовать при работе на других операционных системах - авторизация таким методом разрешает работу и через NAT. Т.е. тут можно использовать любую программу, например ICQ.

В домовых сетях для решения задачи авторизации также широко используются VPN-соединения или протокол PPPoE. Traffic Inspector позволяет работать с такими клиентами также без проблем. Тут клиент получает фиксированный IP-адрес и можно применить авторизацию по нему.

Для разграничения доступа Traffic Inspector позволяет:

· Ограничить доступ к каким-либо ресурсам в Интернет. Это может потребоваться, если политика доступа предусматривает работу только с какими-то конкретными приложениями (например, только электронная почта) и ресурсами (корпоративный сайт). Также можно запретить доступ на какие-либо ресурсы. Traffic Inspector позволяет использовать фильтрацию при работе через NAT и прокси-сервер. Также можно ограничить использование клиентами каких-либо служб программы - например, разрешить работу только через прокси-сервер. Эти политики могут меняться по расписанию или можно задать ограничение по датам.
· Ограничить доступ по расписанию. Например, можно разрешить работать с Интернет сотрудникам только в рабочее время.
· Ограничить доступ по датам. Это удобно для создания временных учетных записей.
· Ограничить скорость работы клиента. Это ограничение также может быть привязано к расписанию или датам.
· Разрешить авторизацию по имени с конкретного IP-адреса. Это может быть полезно для домовой сети.


Билинг

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

Для решения этих задач есть несколько подходов:

· Анализ логов (файлов журнала) серверов. Все прокси-сервера умеют записывать запросы в лог-файлы или базы данных. Эти данные потом могут быть обработаны и получены отчеты по использованию Интернет. Недостаток этого способа - тяжело организовать оперативную блокировку клиента при перерасходе трафика. Также прокси-сервера сильно занижают данные по трафику, так как учитывают только полезные данные и не учитывают заголовки пакетов и служебные TCP-пакеты. При использовании NAT этот способ не подходит вообще.
· Использование сетевых мониторов на базе пакетных драйверов для учета трафика прямо на сетевом интерфейсе. Тут обеспечивается абсолютная точность учета трафика и именно этот метод используется в Traffic Inspector при работе через NAT.
· Для домовых сетей при подключении клиентов через VPN или PPPoE для учета трафика также используют данные соединения, снимаемые с сервера удаленного доступа, например, через RADIUS. Но тут возникает проблема разграничения учета различного вида трафика и это приходится дополнять другими решениями.

В Traffic Inspector при работе через прокси-сервер трафик учитывается непосредственно на нем, но для учета "довесков" в виде заголовков пакетов и служебного TCP-трафика эти данные снимаются с сетевых интерфейсов с помощью драйвера. Трафик из кеша прокси-сервера учитывается отдельно и для него можно задать отдельные тарифы.

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

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

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

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

Система тарификации программы может считать трафик и других серверов. Это может потребоваться в случае, когда не хватает поддержки каких-то протоколов и требуется установка дополнительных программ, например H.323 гейткипер/софтсвич.

Traffic Inspector - расширяемая платформа для билинга. Наличие документированного интерфейса автоматизации и встроенного веб-сервера с генерацией динамического контента позволяет легко расширять возможности под различные задачи, при этом используются общеизвестные приемы веб-программирования на языках JScript или VBScript.


Экономия трафика

Основной вид приложений Интернет - это веб и электронная почта, и именно для них наиболее актуальна задача экономии трафика.

Для HTTP чаще всего используются следующие меры:

· Кеширование данных на прокси-сервере. Так как объекты на веб-сервере могут обновляться, то тут возникает дилемма - как сделать так, чтобы клиент мог получить свежие данные и при этом минимизировать обращения к серверу для проверок обновлений с целью максимальной экономии трафика. Тут как правило, даже при самом совершенном алгоритме работы кеша не удается получить экономию более 20%. Увеличение этого показателя увеличивает риск получения устаревших данных. В Traffic Inspector для отдельных ресурсов можно устанавливать специальные правила работы кеша, а также имеется механизм управления режимом кеширования прокси-сервера с помощью клиентского агента - пользователь сам может по необходимости переключаться с режима максимальной экономии трафика на режим полной проверки. Это позволяет поднять общий показатель экономии трафика до 25-35%. Наличие отдельной тарификации трафика из кеша может сделать это экономически выгодным клиенту.
· Фильтрация нежелательного контента - баннеров, а также различных "шпионских" служб, например gator.
· Отключение, по необходимости, графики и мультимедийных компонентов (музыки, flash).

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

Для минимизации затрат трафика на входящую электронную почту в SMTP-шлюзе программы предусмотрено:

· Шлюз может быть настроен на прием почты только для известных получателей, т.е каждое письмо будет обязательно подвергнуто тарификации. Также может быть заблокирован прием почты для отключенных пользователей. Это очень полезная мера для таких почтовых серверов, как Microsoft Exchange, которые сначала принимают письмо полностью, а только потом ищут ящик пользователя.
· Имеется фильтрация сообщений по "черным" спискам, проверка адреса и домена отправителя.
· Для защиты от спама используется наиболее распространенный и надежный механизм - фильтрация с использованием публичных RBL-служб. В программе можно подключить список таких служб, причем все они отрабатываются параллельно, что совершенно не снижает производительности работы. Для увеличения эффективности анализируются также и заголовки сообщений.


Сетевая защита

Traffic Inspector имеет простые, но эффективные средства сетевой защиты - встроенный сетевой экран (firewall). Он обеспечивает полную блокировку запросов из Интернет, при этом прозрачно пропуская все исходящие запросы. В отличие от простых пакетных фильтров он обеспечивает эффективную фильтрацию UDP-трафика, так как может отличить исходящие запросы от входящих.

FTP и SOCKS прокси-сервера управляют сетевым экраном, разрешая на нем динамические входящие TCP-соединения.

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

Еще один вопрос, связанный с сетевой защитой - это антивирусная проверка трафика (SMTP, HTTP и FTP). Текущая версия Traffic Inspector встроенный антивирусных средств не имеет, но на сервер дополнительно без проблем можно установить любой антивирусный шлюз (например, InterScan VirusWall компании TrendMicro) и настроить его на совместную работу.


Сетевая статистика и анализ

Важной задачей является подробный анализ характера трафика. В Traffic Inspector имеется возможность мониторинга текущей сетевой активности для каждого клиента, а также внешнего трафика, потребляемого у провайдера. Также эти данные могут сохраняться в файлах журнала и по ним могу быть сформированы подробные отчеты. У прокси-сервера для каждого клиента есть возможность включить подробную запись каждого запроса.

Все эти данные по сетевой статистике доступны для просмотра пользователями через встроенный веб-сервер.

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

Также имеются механизмы предотвращения перерасхода трафика. Могут быть настроены различные лимиты, при превышении которых будет отправлено предупреждение по почте или произведена полная блокировка внешнего трафика. Это может быть полезно в тех случаях, если отключение Интернет - меньшее зло по сравнению с перерасходом трафика.


Основные функции

Traffic Inspector состоит из нескольких программных компонентов: сервер, консоль управления, клиенский агент и дополнительные утилиты.

Для работы в составе сервера доступа в сети Интернет серверная часть Traffic Inspector, как правило, устанавливается на компьютер с сетевыми интерфейсами, подключенными к внутренним и внешним (Интернет) сетям. На основе этой программы могут быть реализованы различные решения - см. раздел.

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

Для знакомства с основными функциями программы и ее различными службами смотрите разделы:

· Интерфейсы и сети.
· Авторизация.
· Политики доступа - ограничения и фильтрация трафика.
· Тарификация (билинг).
· Учет внешнего трафика.
· Сетевая статистика.
· Прокси-сервер и SOCKS.
· Почтовые службы (SMTP шлюз и служба отправки сообщений).
· Сетевой экран (firewall).

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

Консоль управления реализована на базе MMC (Microsoft Management Console) и для подключения к серверу использует DCOM (стандартный для Windows механизм), что позволяет работать удаленно.

Клиентский агент - небольшая программа, запускаемая на компьютере клиента. Основная ее задача - авторизация клиента по имени. Используемые в ней методы криптозащиты надежно защищают от возможностей перехвата паролей и их несанкционированного использования. Кроме этого агент решает и ряд других задач: отображает текущее состояние лицевого счета клиента, позволяет оперативно управлять фильтрацией и режимом кеширования, автоматически конфигурирует Internet Explorer. Для его установки имеется утилита множественной удаленной установки на компьютеры сети, а также инсталлятор можно загрузить через встроенный веб-сервер.

Принципы работы интерфейса автоматизации и встроенного веб-сервера описаны в отдельных разделах.


Интерфейсы и сети

Сервер может иметь несколько внутренних и внешних интерфейсов, Traffic Inspector может работать со всеми сразу или выборочно.

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

При конфигурировании администратор выбирает интерфейсы внутренних и внешних сетей. Могут быть конфигурации, когда используется только внутренние сети, или только внешние (см. раздел примеры).

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

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

Сетевой драйвер фиксирует все пакеты, входящие и исходящие, идущие через сетевые интерфейсы, с которыми работает программа. Если во внутренней сети используются концентраторы (HUB), то можно включить режим "прослушки" сетевой карты (promiscuous mode) и будут анализироваться вообще все пакеты, циркулирующие в Ethernet-сегменте внутренней сети. Это обстоятельство позволяет считать трафик клиентов на другие сервера (напр. почтовый), установленные внутри локальной сети (см. раздел примеры).

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

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

Для дальнейшего учета трафика его надо соотнести клиентам сети - см. описание авторизации. Это относится только к данным, снимаемым с внутренних интерфейсов. Трафик, учтенный на внешних интерфейсах, из-за специфики работы NAT соотнести пользователю невозможно из-за подмены IP-адреса клиента в пакете и эти данные используются для анализа общего внешнего трафика, потребляемого у провайдера.

По умолчанию весь трафик из внутренней сети на сам сервер или наружу (в Интернет) запрещен. Доступ разрешается для авторизованного источника или назначением фильтров "для всех".

Кроме простого случая, когда серверу назначен только один внешний "белый" IP-адрес, возможны и более сложные варианты. Через сервер может маршрутизироваться "белая" подсеть на соответствующий интерфейс - т.н. DMZ ("демилитаризованная зона"), в которой размещаются различные публичные сервера. Для этой же цели также может использоваться трансляция IP-адресов через NAT - это описывалось здесь.

Если вести персональный учет трафика для серверов DMZ-сети необходимости нет, при конфигурировании Traffic Inspector интерфейс на эту сеть можно не назначать.


Авторизация

Для учета трафика клиента, снимаемого сетевым драйвером, программа должна всегда знать, под каким IP- или MAC-адресом он работает. Под клиентом может пониматься как пользователь, так и служба - какой-нибудь сервер.

Клиент может авторизоваться:

· по IP-адресу, группе IP-адресов (диапазон) или MAC-адресу. Этот способ наиболее подходит для серверов, находящихся во внутренней сети.
· по имени пользователя. Для этого используется клиентский агент - специальная программа, запускаемая на компьютере пользователя. Она производит авторизацию, сообщая при этом серверу под каким IP-адресом при этом работает клиент. Как вариант также может использоваться аутентификация через прокси-сервер, SOCKS, или встроенный веб-сервер.
· по E-Mail-адресу получателя. Это используется в SMTP-шлюзе для учета почтового трафика клиента.

Для авторизации по имени через агента в программе имеется сервер авторизации, который работает по протоколу UDP с портом 999. Он привязан только к выбранным внутренним интерфейсам.

Вариант авторизации по имени наиболее предпочтителен, так как позволяет вести учет, когда несколько пользователей могут работать на одном компьютере или когда пользователь может работать на разных компьютерах - это типичная ситуация при работе в сети предприятия.
Для мини-провайдера при подключении клиентов к сети Интернет (напр. домовой сети) также предпочтительна авторизация по имени, так как IP-адрес или MAC очень легко подделать. Причем тут лучше всего использовать агента, так как он для аутентификации использует методы криптозащиты. По этой причине для публичной сети есть возможность вообще запретить аутентификацию через прокси, встроенный веб-сервер или SOCKS, так как при этом используется передача паролей открытым текстом.

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

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

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

· Через агента возможно использование аутентификации Windows только если клиентский компьютер и сам сервер находятся в одном домене.
· Это недоступно при авторизации через агента, если у клиента используется система Windows 95/98/ME.

Если же используется авторизация через прокси-сервер, SOCKS или встроенный веб-сервер, то для использования Windows-аутентификации ограничений нет - требуется только наличие домена.

Авторизация по имени в программе сквозная - если клиент уже авторизован с какого-либо IP-адреса через агента, то для его работы через различные службы повторная авторизация не требуется. Это обстоятельство также позволяет использовать авторизацию через прокси-сервер, SOCKS или встроенный веб-сервер как вариант, альтернативный агенту, для не Windows-платформ.

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


Политики доступа

Политики доступа и фильтрация трафика.

Для клиентов могут быть применены различные ограничения. По умолчанию их работа ничем не ограничена, кроме наличия блокировки по балансу. Ограничения выставляются для клиентов индивидуально, но некоторые могут быть сделаны общими. Также могут быть организованы группы клиентов, которые их объединяют по общим ограничениям или тарифам.

Если клиент авторизируется по имени, то его работа может быть ограничена одним или несколькими IP-адресами (используется диапазон).

Доступ клиентов может быть ограничен по датам и расписанию.

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

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

Также может быть разрешено использование отдельных служб программы. Эта настройка - только персональная. Запрещение прямого трафика (Direct) заблокирует работу клиента через NAT. Можно запретить работу через прокси-сервер (HTTP или FTP). Для SOCKS есть возможность запретить работу полностью или только запретить входящие TCP-соединения (Bind).

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

Для прямого трафика (NAT или роутинг) фильтрация реализована на базе встроенных в Windows средств на уровне стека TCP/IP. Следует учесть, что этот механизм также может использоваться другими программами и службами Windows и потенциально конфликтовать с Traffic Inspector. Подробнее см. в разделе об установке программы. Этот механизм не позволяет реализовать фильтрацию на уровне приложений (HTTP), что накладывает ряд ограничений на применение фильтров в программе.

Фильтрация уровня приложений доступна только при работе клиента через HTTP прокси-сервер.

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

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

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

Фильтры для всех могут использоваться:

· если надо обеспечить беспрепятственный доступ к каким-либо службам самого сервера - например, сервер должен без проблем работать во внутренней сети Windows или на нем стоит внутренний WEB-сервер;
· если через сервер маршрутизируется какой-либо внутренний трафик в другие сети или на нем реализован VPN через внешние сети и работа с ними должна быть разрешена всегда и для всех.
· если есть "черные списки", доступ к которым должен быть полностью заблокирован для всех. Применение таких фильтров для всех более эффективно в смысле ресурсоемкости, так как они выставляются не индивидуально на каждого клиента, а сразу для всех.

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

Фильтры могут быть 4-х типов:

1. На разрешение. Имеет смысл только в фильтре для всех или в группе, у которой трафик по умолчанию запрещен. Если такой фильтр определен для клиента, то кроме фильтрации дополнительно в нем также могут быть заданы правила тарификации или ограничения скорости.
2. На запрещение.
3. Управляемый клиентом (на запрещение). Используется для реализации возможности самому клиенту через агента управлять фильтрацией трафика. Такой фильтр может быть 4 уровней F1-F4. Клиент в свою очередь имеет 5 уровней F0-F4. Фильтр применяется, если текущий уровень клиента равен или больше уровня фильтра. Таким образом, уровень клиента F0 отключает все такие фильтры, а уровень F4 включает все. В качестве дополнительного ограничения для клиента персонально может быть выставлен минимальный разрешенный уровень фильтрации.
4. Только для тарификации и ограничения скорости. Такой фильтр никаких действий по фильтрации трафика не производит.

Примечание: фильтры на запрещение имеют приоритет перед фильтрами на разрешение.

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

Тип трафика в фильтре может быть задан по:
· Адресу назначения. Это может быть внутренний интерфейс сервера (обращение к самому серверу), IP-адрес, IP-сеть, имя хоста, список IP- сетей или список URL.
· Тип IP-протокола (ICMP, UDP, TCP или его номер).
· Порт назначения (или диапазон портов) для TCP и UDP.
· Порт источника (или диапазон портов) для TCP и UDP.
· Тип протокола приложений (HTTP, SSL, FTP).
· URL или список ключевых слов в URL.
· Тип совпадения в URL - по началу, полное или поиском по ключевым словам.
· Тип HTTP-контента. Разные типы данных, получаемых через прокси-сервер, собраны по группам. Их описания находятся в отдельном файле конфигурации и при необходимости могут быть отредактированы или дополнены.

К фильтрам приложений относятся фильтры, которые используют URL, типы контента или типы протоколов приложений. Они могут работать только через прокси-сервер. С целью исключения путаницы такой фильтр должен специально отмечаться как фильтр приложений. Остальные фильтры могут работать через все службы программы.

Для фильтра приложений имена хостов могут трактоваться как домен. В этом случае, например, фильтр для microsoft.com может быть применен ко всех хостам этого домена, напр. www.microsoft.com.
При задании ключевых слов их поиск производится и в имени хоста. Например, задание ключевого слова banner применит фильтр к запросу www.banner.ru и www.host.ru/banner. Это все позволяет обойтись небольшим количеством фильтров.

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

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

Для каждого фильтра также может быть наложено ограничение применения по типу внутренней сети - локальная или публичная. Это позволяет настроить разные политики доступа для клиентов, в зависимости от того, из какой сети он работает - например, внутри офисной или домовой.

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

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

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

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

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


Тарификация

Для учета трафика клиента используются:

· пакеты, учтенные сетевым драйвером на внутренних интерфейсах,
· данные, идущие через прокси-сервер или SOCKS,
· сообщения, принятые SMTP-шлюзом и переданные на адрес клиента.

Трафик в байтах измеряется подсчетом длины Ethernet-пакетов. Есть возможность вести учет только по длине IP-пакета путем отбрасывания длины заголовка Ethernet-пакета (14 байт на пакет). Это следует использовать, если провайдер также ведет учет по чистому IP-трафику. Если провайдер ведет учет трафика по WAN-протоколам (PPP, Frame Relay, HDLC и др.), то целесообразно учет Ethernet-заголовков включить - размер заголовков Ethernet-пакета и большинства WAN-протоколов примерно сопоставим и сходимость данных будет более полной.

Прокси-сервер и SMTP-шлюз фиксируют только полезные данные TCP-протокола. Для учета всего остального - заголовков и служебных пакетов TCP- протокола, в этом случае используется дополнительный анализ данных, снимаемых сетевым драйвером на внешних интерфейсах. Это обстоятельство позволяет вести корректный учет трафика независимо от того, через какие службы работает клиент - прокси-сервер, SOCKS или NAT.

У каждого клиента имеются 4 счетчика учета трафика:

· Входящий и исходящий. В эти счетчики заносятся данные, учтенные сетевым драйвером, внешние обращения прокси-сервера и SOCKS. Если трафик подпадает под критерий фильтра, в котором заданы скидки, то заносимые данные корректируются с учетом этих скидок. В связи с этим обстоятельством отдельный учет льготного и бесплатного трафика для клиента в текущей версии программы невозможен.
· Трафик, считанный клиентом из кеша прокси-сервера.
· Почтовый трафик.

Расчет суммы за трафик производится на основании этих счетчиков и тарифа клиента. В данные тарифа входят параметры:

· Тип учета трафика: только входящий, только исходящий, по сумме и по максимальному значению.
· Единица стоимости - понятие абстрактное и не обязательное. Это могут быть мегабайты, рубли, доллары, у.е и другое.
· Цена трафика. По умолчанию 1, подразумевается тарификация в мегабайтах.
· Предоплаченный трафик.
· Стоимость трафика из кеша (в %). По умолчанию бесплатный (0%).
· Стоимость почтового трафика (в %). По умолчанию полностью платный (100%).
· Способ начисления абонентской платы и тариф за время (см. далее). По умолчанию отключено.

При расчете стоимости трафика сначала вычисляется общий входящий и общий исходящий трафик клиента. Для общего входящего трафика суммируются данные счетчика входящего трафика, данные из кеша (с учетом стоимости в %) и данные почтового трафика (также с учетом стоимости в %). Для общего исходящего трафика суммируются данные счетчика исходящего трафика и исходящего почтового трафика, зафиксированные при приеме сообщения через SMTP-шлюз.

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

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

Cумма за трафик вычисляется на основании начисленного трафика и цены.

Также можно дополнительно тарифицировать и время работы клиента. Имеется 2 режима начисления абонентской платы:

· Начисляется плата за реальное время работы. Учитывается поминутно только то время, когда клиент активен. Это может использоваться, например, в компьютерных клубах. В тарифе задается стоимость за час работы.
· Начисляется посуточная абонентская плата за все рабочее время сессии независимо от состояния клиента. Этот тип тарификации удобен, например, для домовых сетей. Для временного приостановления начисления абонентской платы можно перевести клиента в состояние ПАУЗА. В тарифе задается стоимость за сутки работы.

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

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

По умолчанию весь трафик, идущий на IP-адреса внутренних интерфейсов считается бесплатным, остальной - платным. Это меняется добавлением фильтров. Если на самом сервере есть другие службы (напр. ftp-сервер, H.323 софтсвич и прочее), обращение клиентов к которым надо сделать платным и тарифицировать, то добавьте фильтры, описывающие этот трафик. Также, если используется режим "прослушки", то на внутреннем интерфейсе будут фиксироваться все пакеты, циркулирующие во внутренней сети, и они по умолчанию будут платными. Тут надо также прописать фильтры, описывающие внутренний бесплатный трафик.

Клиент может иметь 3 режима доступа -

· Автоотключение. Работа клиента блокируется, если баланс отрицателен.
· Безлимитный доступ. Тарификация ведется, но блокировка по балансу не производится. Этот режим может быть использован, например, для серверов, находящихся во внутренней сети или администраторов.
· Запрет работы. При переводе клиента в этот режим его работа блокируется, но очистка его данных не производится. Все действия с ним запрещены, прием почты заблокирован. Это удобно, когда надо полностью отключить клиента, не удаляя на всякий случай его запись.

Для управления работой клиента используется понятие сессии и у него имеются 3 состояния:

· Работа клиента разрешена - он может работать. Если он идентифицируется по IP- или MAC-адресам, то он активен и работа с Интернет разрешена. Если используется авторизация по имени, то он может начать работать, пройдя процедуру аутентификации.
· Пауза. Работа клиента приостановлена, данные его счета сохраняются. Начисление абонентской платы приостанавливается. Почтовые сообщения при этом могут приниматься, а могут и не приниматься - в зависимости от настроек почтового шлюза.
· Стоп - работа остановлена. Данные счета сразу не очищаются но будут очищены при последующем его запуске. Перевод клиента в этот режим по умолчанию заблокирован для предотвращения случайного удаления его данных.

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

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

Также имеется механизм восстановления состояния пользователя по записям из журнала (отката), что может быть полезно в случае каких-либо ошибок администратора или системного сбоя.


Внешний трафик

Учет внешнего трафика.

Внешний трафик снимается с внешних интерфейсов и его учет решает задачи:

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

Теоретически сумма трафика всех клиентов должна соответствовать суммарному трафику, потребляемому у провайдера, но реально появляются расхождения:

· трафик клиентов снимается с внутренних интерфейсов и тут невозможно учесть трафик, потребляемый самим сервером. Это относится как к различным служебным запросам, связанным с функционированием сети (ICMP, DNS), так и к трафику других служб, установленных на нем.
· некоторый трафик из внутренней сети может получиться "безымянным", если имеются фильтры для всех на внешние сети.
· данные по трафику для клиентов заносятся в его счетчики уже с учетом скидок, заданных в фильтрах. Некоторый трафик может вообще быть описан как бесплатный.

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

Контролируемые счетчики предназначены для контроля потребления трафика от провайдера, как платного ресурса. Они описываются как внешние IP-адреса или сети.

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

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

Для контролируемых счетчиков задаются лимиты - предупреждение, перерасход и ежедневный. Если лимиты превышены, то может быть послано предупреждение администратору по электронной почте.

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

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

При устанавке программы имеется по умолчанию несколько информационных счетчиков для наиболее используемых протоколов - HTTP, FTP, SMTP, POP3 и др.

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

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


Сетевая статистика.

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

Статистика собирается в контексте IP-адресов, типов протоколов и портов.

Для сбора сетевой статистики для каждого объекта учета, клиента или счетчика, заводится коллектор. Это некая временная таблица счетчиков, где записи группируются по IP-адресам, протоколам и портам. Для минимизации количества записей и группировки TCP- и UDP-трафика по соединениям порты с номерами более 1023 трактуются одинаково как динамические и собираются в единый счетчик.

Если активно используется работа с серверами, использующими порты более 1023, то имеется возможность их учитывать отдельно (например, для порта 1433 для Microsoft SQL server), прописав соответствующие общие правила.

Трафик в счетчиках коллектора учитывается входящий и исходящий. Скидки для клиентов на трафик тут не учитываются. По умолчанию не учитывается полностью бесплатный трафик и трафик на локальные IP-адреса сервера. Это общие настройки и они могут быть изменены.

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

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

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

Запись сетевой статистики для счетчика с отфильтрованным трафиком позволяет вести детальный анализ сетевых атак.


Прокси-сервер

Прокси-сервер и SOCKS работает только с выбранными внутренними интерфейсами или с локальным (127.0.0.1) в персональном режиме. Поэтому снаружи он всегда не доступен.

Прокси-сервер, входящий в Traffic Inspector - это классический HTTP/FTP прокси-сервер. Учитывая наличие NAT, где производительность работы существенно выше, вещь, казалось бы, совсем необязательная. Но его применение во многих случаях целесообразно:

· Фильтрация на уровне приложений HTTP и FTP работает только через прокси-сервер. Фильтры для "баннерорезалки", например, расписать только по хостам и портам не получится, приходится еще задавать и более тонкие критерии - URI и типы контента.
· Кеширование позволяет реально экономить 10-25% трафика. Хотя, чтобы получить эти 25% надо идти на неудобства для клиентов - им придется иногда манипулировать режимами кеширования, но имеющиеся возможности гибкой тарификации трафика из кеша позволяют сделать это для них экономически выгодным.
· Возможность работы в активном режиме с FTP. Работа через NAT допускает только пассивный режим, что может привести к проблемам доступа на многие FTP-сайты.
· Использование SOCKS обеспечивает динамическое открытие входящих TCP-соединений. Это может быть полезно, например, для работы с IRC.

Traffic Inspector может быть также настроен на работу с другим прокси-сервером, например Microsoft ISA Server. Но при этом надо учесть следующее:

· Фильтры приложений надо будет конфигурировать отдельно на ISA Server. Клиент не сможет сам изменять уровень фильтрации для таких фильтров.
· Невозможно будет учитывать отдельно трафик из кеша. Весь трафик для клиента при работе через другой прокси-сервер будет считаться как внешний.

Кеширование в прокси-сервере производится сохранением загруженных страниц в кеше для их повторного использования при последующих обращениях к данным ресурсам. Это позволяет экономить трафик и ускоряет загрузку страниц при медленных каналах связи. Обратной стороной использования кеша является проблема получения всегда достоверных данных для сохраненных ресурсов - их необходимо проверять, обновились ли они на веб-сервере. Стандарты на HTTP/1.1 и другие подробно регламентируют работу серверов, но реалии сети Интернет таковы, что не все им следуют. Задача получить реальную экономию за счет кеширования и при этом передать на клиента достоверные данные оказывается весьма сложной и противоречивой.

Прокси-сервер программы Traffic Inspector позволяет произвести настройку кеша достаточно тонко в соответствии с поставленными задачами. При установке эти настройки включены в режим небольшого сбережения трафика и при этом клиенты практически всегда получают достоверные данные от сервера.

Алгоритм работы программы при кешировании следующий.

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

Следует отметить, что сервера для некоторых ресурсов выдают атрибут времени существования объекта. Если он был выдан, то он также сохраняется при кешировании и при его наличии прогноз уже вычисляться не будет, а TTL будет определено на основании этого атрибута. Использование времени существования объекта, полученного от сервера, может быть отключено. Причина в том, что этот параметр довольно часто из небрежности программистов и администраторов веб-сервера выдается некорректным и для определения TTL лучше полагаться на собственную логику.

На полученное значение TTL дополнительно накладывается ограничение по минимуму и максимуму. Если на момент запроса текущее время не превысило TTL, ресурс считается не просроченным и берется из кеша, иначе он просрочен и его надо перепроверить на сервере, для чего на сервер посылается соответствующий запрос с условиями проверки. Если сервер такие запросы поддерживает и ресурс за последнее время не изменен, то он сообщит, что данные не изменены и ресурс будет взят из кеша.

Такой ответ по размеру данных гораздо меньше полного ответа с самим объектом, но для экономии трафика все же желательно, чтобы таких проверок было меньше.

Вычисление TTL и прогнозирование можно совсем отключить - прокси-сервер будет перепроверять ресурсы всегда. Это сведет экономию трафика к минимуму, но зато клиенты всегда будут иметь гарантированно свежие данные.

Данные также могут быть отмечены как личные - иметь HTTP-атрибут private. Они будут кешироваться, но в дальнейшем доступны из кеша только тому пользователю, кто их сохранил. Cookie с сервера также сохраняются в кеше и выдаются в дальнейшем клиенту, но если данные отмечены как личные и имеют cookie, то они в кеш не записываются - подразумевается, что они могут нести важные личные сведения. Также отметим, что кешируются только запросы типа GET.

Таким образом видно, что для увеличения реальной экономии трафика за счет кеширования надо увеличивать параметры, связанные с вычислением TTL. Для того, что бы при этом можно было нормально просматривать быстроменяющиеся ресурсы в Traffic Inspector предусмотрена возможность оперативного переключения режимами кеширования самим клиентом с помощью агента.

Для большого сбережения трафика можно рекомендовать параметры: TTL - 70-150%, минимум 12-24 часа, максимум 15-30 дней. При таких параметрах можно иметь 25-35% экономии трафика, но придется переключать режимы кеширования агентом при посещении быстрообновляемых ресурсов.

Как вариант облегчения этой работы имеется возможность для отдельных ресурсов задавать отдельные правила кеширования. В этих правилах можно задать URL, ключевые слова в URL или тип контента. Это очень похоже на описание фильтра. При инталляции программы заносится несколько таких правил по умолчанию - по ключевым словам board и forum. Если в правиле кеширования задается и тип контента, то тут есть одно важное обстоятельство - если в URL запроса не указан явно файл, то тип данных неизвестен и такое правило может не сработать.

В клиентском агенте предусмотрено 3 режима кеширования:

· Режим экономии. Используются настройки, заданные администратором. Подразумевается, что параметры, связанные с вычислением TTL настроены на режим максимального сбережения трафика.
· Проверять все объекты. Кеш используется, но каждый объект будет перепроверен. Этот режим и должен использоваться, когда надо иметь гарантированно свежие данные.
· Кеширование отключено - данные из кеша не используются, но вновь полученные от сервера объекты заносятся в кеш и при этом его обновляют. Это предусмотрено для особых случаев, когда по какой-то причине в кеше сохранились некорректные данные. Переход в режим перепроверок всех данных при этом может не помочь. Кстати, эта проблема принудительного обновления некорректных данных присутствует на всех прокси-серверах и решается по-разному. В некоторых предусматривается возможность просмотра всех объектов в кеше и возможности их удаления. В Microsoft ISA Server в таких случаях приходится идти на крайние меры, вплоть до полной очистки кеша.

Данные в кеше хранятся в одном большом файле, который имеет постоянный размер и создается при конфигурировании прокси-сервера. Это позволяет полностью исключить фрагментацию файловой системы. В самом кеше данные также не подвержены фрагментации. Алгоритм размещения объектов в кеше очень эффективен и позволяет без ухудшения производительности работать с большим количеством объектов. Данные в кеше ограничений по времени хранения не имеют. Если лимит свободного места в кеше исчерпан, то по необходимости будут удаляться объекты, имеющие наибольший возраст хранения.

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

Но тут надо учесть некоторые обстоятельства. Все индексы и каталог находятся в оперативной памяти. Для ее оценки примерно учесть, что на 1 гигабайт кеша приходится примерно 100000 обьектов. Занимаемая при этом оперативная память составит примерно 20-30 мегабайт. Для 1000000 обьектов (10 гигабайт кеша) надо на индексы уже 200-300 мегабайт оперативной памяти. Если памяти достаточно, то задержек к доступу к обьектам в кеше не будет практически никаких. При нынешних ценах на память это некритично - трафик обходится дороже.

Большое количество обьектов в кеше влечет значительные задержки при загрузке каталога и его выгрузке при остановке программы. При этой операции процессор загружается на все 100%. Загрузка каталога из 100000 обьектов на компьютере P4-1600 занимает примерно 1 минуту. Пока кеш не загрузился, пользователи работать уже могут, но операции с кешем будут просто недоступны. Выгрузка каталога производится по стопу сервиса программы. Ввиду возможной продолжительности этой операции возможны ситуации неполной записи из-за преждевременной терминации процесса системой. Для предотвращения потери данных выгрузка каталога производится сначала во временный файл и если она была не завершена полностью, при последующей загрузке каталога используется ранее сохраненный - программа в процессе работы каждые 12 часов производит его автоматическую выгрузку.

Другие прокси-сервера не имеют каталога вообще, храня обьекты в виде отдельных файлов. Недостаток этого очевиден - фрагментация и перегрузка файловой системы. Уже при 100000 обьектов скорость работы с диском будет сильно замедлена. Microsoft ISA Server часть каталога держит на диске, кешируя в памяти только его часть, но тут при большом кеше также резко замедляется скорость его работы, хотя с загрузкой и выгрузкой задержек нет.

Прокси-сервер поддерживает туннельные TCP-соединения методом CONNECT, позволяя работать с протоколом SSL. Заметим, что это также позволяет работать и с многими другими приложениями TCP, например FTP, при условии, что клиентские программы умеют это делать (например, Reget). Но для FTP тут будет доступен только пассивный режим.

Для работы с протоколом FTP Traffic Inspector также может работать как классический FTP прокси-сервер, при этом доступен как активный, так и пассивный режимы. Аутентификация по протоколу FTP в прокси-сервере может быть произведена последовательностью команд:
USER User@Host[:Port] ProxyUser
PASS Password@ProxyPassword.

Если FTP клиент этого не умеет, то надо предварительно авторизоваться другим способом (например, клиентским агентом ) и соединяться с прокси-сервером, как с анонимным.

Также имеется возможность работы с FTP-серверами в режиме только чтения такими браузерами, как Mozilla или Opera, используя метод GET. В этом случае прокси-сервер будет генерировать HTML-страницы каталогов FTP-сервера. Активный или пассивный режим при этом может выбираться автоматически.

Если требуется работа с приложениями, которые используют входящие серверные TCP-соединения со стороны клиента (например, IRC), то использование SOCKS-сервера - это единственная возможность это сделать. Текущая версия программы поддерживает SOCKS версии 4 и 5.
Для SOCKS версии 5 есть ограничения - аутентификация может использоваться только открытым текстом и не поддерживается UDP mapping.

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

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

С прокси-сервером, как единая служба, связан встроенный веб-сервер, который используется клиентом для просмотра статистики и загрузки инсталлятора агента. Являясь универсальным веб-сервером, он может быть расширен, доработан и может использоваться для различных других нужд.


Почтовые службы

Почтовые службы - это SMTP-шлюз и служба отправки сообщений.

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

Для фильтрации сообщения используется проверка адреса отправителя и получателя. Этот анализ производится в самом начале приема сообщения, что позволяет при необходимости запретить его прием сразу, минимизируя при этом трафик. Адрес отправителя проверяется на соответствие его стандартам SMTP, а также проверяется почтовый домен отправителя на наличие его DNS MX записи. Следует отметить, что эта проверка не может гарантировать, что адрес отправителя не вымышленный, специфика протокола SMTP не позволяет это сделать. Проверка адреса отправителя не выполняется, если он имеется в белом списке.

Также для проверки хостов отправителей могут задействоваться публичные службы RBL, базирующиеся на DNS, причем их может быть несколько. Эта проверка сначала производится сразу после TCP-коннекта. Запросы на все службы RBL отправляются одновременно, что позволяет без внесения дополнительных задержек задействовать большое количество этих служб.

Дополнительно может быть включена проверка промежуточных SMTP-серверов, через которые прошло сообщение и хоста самого отправителя, что существенно увеличивает ее эффективность. Для этого используется анализ заголовков сообщения.

Некоторые RBL-службы являются DUL (Dial-Up List). Это списки IP-адресов модемных пулов провайдеров. Подразумевается, что "правильный" отправитель почты никогда не отправляет ее напрямую получателю, а его почтовая программа обязательно использует промежуточный SMTP-сервер. Спамер же, при массовых рассылках, часто вынужден отправлять сообщения напрямую. Это обстоятельство позволяет выявить массовые рассылки и отфильтровать такую почту.

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

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

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

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

Что еще очень важно, в этот белый список надо обязательно занести IP-адреса (или имена хостов) SMTP-серверов, которые прописаны как secondary MX для почтовых доменов получателей чтобы предотвратить их попадание в черный список.

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

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

Наличие функции превентивной проверки адресов получателей очень полезно при работе с такими почтовыми серверами, как Microsoft Exchange. В виду особенностей его идеологии его SMTP-сервер сначала принимает сообщения полностью, а только потом совместно с другими его службами ищет адресата. Это приводит к большому расходу трафика, особенно в случаях, когда рассылается спам с перебором адресов. Настройка SMTP-шлюза Traffic Inspector на прием почты только для известных получателей эту проблему полностью решит.

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

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

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


Сетевой экран

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

Концепция сетевого экрана - по умолчанию разрешить все исходящие запросы и запретить все входящие. Для этого на входящий трафик на внешнем интерфейсе разрешены TCP-пакеты без SYN флага (для установленных соединений) и отклики по ICMP.

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

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

Для разрешения входящих соединений в сетевом экране или каких-то протоколов можно прописать разрешающие фильтры.

Следует отметить, что данный сетевой экран никак не конфликтует с фильтрацией на базе службы IPSec Windows, которая тоже может использоваться как средство фильтрации трафика.


Установка

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

Совместимость с другими программами.

Traffic Inspector тестировался только с Microsoft ISA Server. С другими firewall, NAT, шейперами и прочими программами для работы с сетью совместимость и бесконфликтная работа не гарантируется. Более того, если эти программы используют свои сетевые драйверы, их надо однозначно удалить. Простой остановки их сервисов или выгрузки приложений может быть недостаточно.

Для служб NAT Windows (RRAS и ICS) не следует использовать входящие в их состав firewall.

Установка PE версии (персональный режим) намного проще, но следует заранее ознакомиться с особенностями, инсталлятор для ней другой, в нем отсутствуют некоторые компоненты и от основной версии применяются другие настройки по умолчанию.

При установке программы важна последовательность действий.

Далее:

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

После этого процедура начальной настройки можно считать завершенной. Дальнейшие действия зависят от варианта применения программы. Смотрите раздел Администрирование.


Требования к системе

Серверная часть программы может быть установлена на любую однопроцессорную версию операционной системы Windows 2000/XP/2003 (ядро NT 5.0 и выше). Windows NT 4.0 не поддерживается.

На диске для самой программы требуется не более 10 мегабайт, но при записи логов (файлов журналов) используемый размер будет увеличиваться. Автоматической очистки этих логов не предусмотрено, поэтому лучше зарезервировать на диске достаточно места. К примеру, для 30 пользователей за 6 месяцев логи в среднем займут около 100 мегабайт на диске, если используется компрессия. Для FAT32 без компрессии размер будет в 3-4 раза больше. Для кеша прокси-сервера также требуется соответствующее место - оценки смотрите тут.

Требования к оперативной памяти очень сильно зависят от конфигурации.

Драйвер программы занимает около 4 мегабайт памяти ядра системы на каждый сетевой интерфейс. Причем это не зависит от того, сконфигурирован этот интерфейс в программе, или нет. Поэтому для экономии памяти можно отвязать драйвер от неиспользуемых в программе сетевых интерфейсов - делается это в сетевых настройках Windows.

Сам сервис в минимуме занимает не более 10 мегабайт оперативной памяти. Основное ее увеличение связано с кешем прокси-сервера - оценки смотрите тут. В остальном даже при наиболее емких конфигурациях дополнительный расход не составит более чем в несколько раз.

Таким образом, общая оценка использования оперативной памяти для небольшой конфигурации составит не более 20 мегабайт для сетевой версии и 15 для PE (без кеша!).

Минимальные требования к процессору - Pentium II. NAT от Windows к ресурсам очень не требователен, а прокси-сервер ресурсоемок на порядок больше. Нагрузка на процессор очень сильно зависит от количества пользователей и фильтров. Для 200-300 пользователей рекомендуется процессор не хуже Pentium 4 2 ГГц. Для конфигурации при 500-1000 пользователей лучше иметь Pentium 4 2.4 ГГц с Hyper Threading и быстрой памятью. Следует отметить, что недостаток производительности процессора и памяти прежде всего скажется на задержках при администрировании, на саму работу намного меньше.

При наличие в кеше большого количества обьектов на медленном процессоре задержки загрузки и (что критичнее!) выгрузки кеша могут получиться очень большими.

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

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

Далее переходим к подготовке сервера.


Подготовка сервера

Подготовка сервера и настройка сети.

Поставьте на Windows последние сервис-паки и обновления:

Windows | Service Pack | Internet Explorer | MSXML 4.0 | Windows Script 5.6
2000 | минимум SP3 | минимум 5.5 | + | +
XP | SP1 | - | + | +
2003 | - | - | + | -

Их можно скачать с сайта Microsoft.

Далее надо настроить сеть. Для внутренних сетей всегда используйте только разрешенные для этого IP адреса.

Если есть внутренняя сеть и планируется использовать NAT, надо настроить службу NAT Windows. Тут возможны варианты:

· Для серверных версий Windows (2000, 2003) рекомендуется использование службы Routing and Remote Access - RRAS (см. инструкцию по настройке).
· Для всех версий Windows можно использовать Internet Connection Sharing - ICS (см. инструкцию по настройке).

Настоятельно рекомендуем у RRAS отвязать NetBios от интерфейса intermal. Наличие такой привязки может привести к проблемам работы сети и появлению трафика на него, который в Traffic Inspector будет считаться как платный.

Если используется подключение к интернет через PPPoE, то настоятельно рекомендуем использовать встроенную поддержку этого протокола, имеющуюся у Windows XP/2003 и драйвер RasPPPoE (http://www.raspppoe.com) для Windows 2000. С другими программами для PPPoE могут быть проблемы.

Настройте в сети DNS. Это подробно описано здесь.

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

Теперь все готово к установке программы.


Настройка RRAS

Использование NAT из службы RRAS для Windows 2000 server наиболее предпочтительно, так как отсутствуют ограничения на IP-адреса внутренней сети и этих подсетей может быть несколько. При этом обязательно должен использоваться механизм Demand-Dial (дозвон по требованию) взамен Dial-Up соединений для внешних WAN интерфейсов - с ними NAT работать не будет!

Порядок конфигурирования службы следующий:

Запустите консоль Routing and Remote Access из меню Administrative tools.

Если служба не сконфигурирована (запрещена), то запустите конфигуратор из меню Configure and Enable Routing and Remote Access.

Показать скриншот

Далее выберите режим Custom Configuration (Manually configure Routing and Remote Access для Windows 2000) и нажмите Далее.

Показать скриншот

Для Windows 2003 откроется еще одно окно с опциями, где выберите необходимые.
Службу можно пока не запускать.

Откройте Properties и на первой закладке выставите режим работы.

Если WAN/PPP/VPN соединений не будет, то выставите Local area network..., если будут исходящие или входящие demand-dial соединения, то включите этот режим. Также включите Remote access server, если предполагаются Dial-In соединения (см. далее).

В закладке Event Logging можно выбрать Log the maximum amount of information.

Показать скриншот

Запустите службу (меню Local server/All Tasks/Start).

Если разрешен Demand-Dial или используется RAS-сервер, то желательно удалить неиспользуемые порты, сконфигурированные по умолчанию Parallel и др.).

Для этого выберите Ports и откройте Properties. В списке портов для каждого неиспользуемого порта откройте настройки кнопкой Configure и отключите обе опции Remote Access Connections и Demand-Dial routing Connections. Для используемых портов отключите опцию Remote Access Connections (если нет RAS-сервера) и оставьте Demand-Dial routing Connections.

Закройте окна. В левой части в списке портов должны остаться только необходимые порты.

Показать скриншот

Сконфигурируйте Demand-Dial интерфейс для исходящих соединений, если надо.

Для этого выберите Routing Interface и запустите мастера через меню New Demand-Dial Interface. Конфигурирование в мастере похоже на создание обычного Dial-Up соединения. Далее следует для появившегося в списке интерфейса открыть его свойства (Properties) и произвести дополнительные настройки.

Прежде всего следует отключить сетевой компонент Client for Microsoft Network на закладке Networking. Далее, если требуется постоянное соединение, на закладке Options выберите Persistent Connections.

Показать скриншот

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

Для этого перейдите на IP Routing/Static routes и добавьте маршрут по умолчанию (IP 0.0.0.0 Mask 0.0.0.0) для этого интерфейса (выберите его из списка). Опцию Use this route to initiate demand-dial connection оставьте включенной. В этом случае соединение будет устанавливаться автоматически при появлении любого трафика наружу.

Показать скриншот

Далее конфигурируем службу NAT.

Для этого перейдите на IP routing/General. Через меню New routing protocol добавьте Network Address Translation, который появится справа в списке. Выберите его и откройте свойства (Properties).

Если предполагается использовать конфигурирование клиентов через DHCP, а отдельный DHCP-сервер использоваться не будет, то можно включить поддержку DHCP службы NAT - закладка Address Assignment, опция Automatically assignment IP addresses by using DHCP. Также задайте адреса локальной сети и исключения для хостов со статическими настройками (через кнопку Exclude).

Если своего внутреннего DNS-сервера нет, то желательно включить поддержку DNS службы NAT - закладка Name Resolution - все DNS-запросы будут кешироваться.

Показать скриншот

Добавляем в NAT внутренние интерфейсы. Для этого справа выбираем Network Address Translation и через меню Add interface из списка интерфейсов выбираем тот, который соединен с внутренней сетью, и в окне его свойств выбераем Private interface connected to private network.

Показать скриншот

Добавляем внешние интерфейсы. Для этого справа выбираем Network Address Translation и через меню Add interface из списка интерфейсов выбираем тот, который соединен с внешней сетью, и в окне его свойств выбераем Public interface connected to the Internet. Также надо включить опцию Translate TCP/UDP headers.

ВНИМАНИЕ! Для Windows 2003 доступна такая функция, как basic firewall. Ее использование при наличии Traffic Inspector может привести к конфликтам.

Дополнительно через NAT могут быть опубликованы TCP/UDP сервера, находящиеся во внутренней сети. Для этого в закладке Special ports в окне свойств внешнего интерфейса надо задать тип протокола (TCP или UDP), опубликованный порт (Incoming Port), IP адрес и порт внутреннего сервера (Private address и Outgoing port). В дальнейшем, при конфигурировании сетевого экрана Traffic Inspector, опубликованный порт должен быть открыт.

Показать скриншот

rras91
rras92
rras93
Пример публикации SMTP сервера:

rras94
rras95
Данный пример приведен для Windows 2003. Как видно, здесь уже имеются готовые шаблоны для типовых протоколов.

Также в Traffic Inspector поддерживается режим трансляции IP адресов, что может быть полезно для организации DMZ. Подробности настройки RRAS для этого смотрите в документации Windows.

Установленные по умолчанию дополнительные протоколы (IGMP, DHCP Relay Agent) лучше удалить, если в них нет необходимости.

Если используются Demand-Dial соединения, то служба будет пытаться назначить IP-адрес для внутреннего входящего интерфейса RAS-соединений - он обозначен как internal. По умолчанию он сконфигурирован на использование DHCP, и при отсутствии этого сервера будет выдаваться ошибка. В этом случае надо для него назначить несколько, минимум 2, IP адреса - это можно сделать на закладке IP в окне главных настроек службы. Если RAS-сервера нет и входящих Demand-Dial соединений не будет (как правило, требуются только исходящие), то эти адреса могут быть любые из Intranet-диапазонов, не пересекающиеся с уже используемыми.

Запрещение NetBios для интерфейса internal службы RRAS.

Очень полезно запретить привязку NetBios к интерфейсу internal, если он активен (см. выше). Это важно, если используется RAS-сервер для подключения диалапных клиентов (модемы или VPN) и поможет избавится от некоторых проблем при работе сервера в сети Windows. Если NetBios разрешен на этом интерфейсе, то сервер будет регистрировать свои NetBios-имена с IP-адресами всех интерфейсов, на которые есть привязка этой службы. Появление IP- адреса интерфейса internal в этих регистрациях может привести к проблемам.

Для этого редактором реестра в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters\Ip добавляем параметр DisableNetbiosOverTcpip типа DWORD и значением 1. Службу надо перезапустить.

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

Замечания по использованию DHCP для внутренней сети:

· Если клиенты используют DHCP службы NAT, то они получат в настройках шлюз по умолчанию на внутренний интерфейс сервера и IP-адрес DNS- сервера.
· У клиентов, если они конфигурируются вручную (не через DHCP), шлюз по умолчанию настраивается на сервер. Если используется поддержка DNS на NAT, то адрес DNS-сервера на клиентах выставляется на внутренний интерфейс сервера. Конечно, можно прописывать и любые внешние DNS-сервера, но это повлечет дополнительный расход трафика.
· Если внутренняя сеть состоит из нескольких IP-подсетей, то DHCP от NAT в этом случае не подходит. Используйте DHCP-сервер, имеющийся в серверных версиях Windows.

RAS-сервер и Dial-In соединения.

RRAS может использоваться в качестве RAS-сервера - можно организовать небольшой модемный пул или VPN-сервер. Для этого надо в главных настройках службы включить опцию Remote Access Server. Также желательно не использовать DHCP для назначения адресов клиентам, а назначить адресный пул вручную (закладка IP).

Для таких клиентов также может использоваться NAT. Но для этого надо проделать следующее:

· С консоли запустить команду netsh routing ip nat add interface internal private
· После этого появится возможность в конфигурации NAT (см. выше) добавить интерфейс internal как внутренний (ранее в списках его не было).

Главное ограничение этого подключения - Traffic Inspector на этом интерфейсе internal не сможет использовать механизм IP-фильтрации, функция блокировки клиентов работать не будет. Это ограничение самой службы RRAS. Если блокировки обязательны, то придется для RAS-сервера использовать отдельный компьютер, или ограничится подключением без NAT, только через прокси и SOCKS.

Но сейчас уже реализована функция блокировки VPN-клиентов на внутреннем интерфейсе, и этот недостаток частично можно обойти. Подробнее см. здесь.

Заметим, что RRAS позволяет клиентам персонально назначать фильтры через свои политики (Remote Access Policies), и NAT для Dial-In можно запрещать выборочно для отдельных клиентов и групп.

PPPoE

Кроме VPN (PPTP, L2TP) на базе RAS-сервера можно реализовать небольшой PPPoE-сервер. Имеется неплохой драйвер RasPPPoE (http://www.raspppoe.com), который в режиме концентратора поддерживает работу до 10 клиентов.

В Windows 2000 поддержка PPPoE отсутствует. Этот драйвер можно также использовать для клиентского подключения.


Настройка ICS

Эта служба присутствует во всех версиях Windows. Ее ограничением является то, что может использоваться только одна внутренняя сеть 192.168.0.0/24 (маска 255.255.255.0), причем серверу на внутреннем интерфейсе обязательно должен быть назначен адрес 192.168.0.1.

Cоздайте, если необходимо, внешнее Dial-Up соединение. Также заранее должен уже присутствовать интерфейс внутренней сети с IP адресом 192.168.0.1 и маской 255.255.255.0.

Откройте Network and Dial-Up Connections, выберите внешнее соединение (сетевая карта или Dial-Up соединение), и откройте окно свойств.

Для Windows 2000 настройки службы находятся на закладке Sharing, где надо включить этот режим, выбрав из списка интерфейс внутренней сети. Для Windows 2003 выбирается закладка Advanced.

Показать пример для Dial-Up соединения

Показать пример для сетевой карты

Эта служба по умолчанию для клиентов обеспечивает поддержку DHCP и DNS. Если сетевые настройки у клиентов выставляются вручную, то IP-адрес шлюза по умолчанию и адрес DNS сервера для них должен быть IP-адрес сервера (192.168.0.1).

Также может быть настроена публикация TCP/UDP-серверов из внутренней сети (кнопка Settings), закладка Service. Выбирается тип приложения (напр. SMTP-сервер) и задается имя или IP-адрес сервера в локальной сети. К имеющемуся списку приложений можно добавить свой, определив порт и протокол. При этом публикуемый порт и порт на локальном сервере должен быть одним и тем же.

Этот публикуемый порт на внешнем интерфейсе, разумеется, не должен быть занят какой-нибудь службой сервера. В дальнейшем, при конфигурировании сетевого экрана Traffic Inspector, этот порт должен быть открыт.

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

Есть недокументированный способ в ICS переназначить сеть 192.168.0.1, но неопытным пользователям это делать не рекомендуется - работоспособность этого решения не гарантируется.

Это надо делать уже после конфигурирования этой службы. Для этого останавливаем сервис ICS, и с помощью редактора реестра правим параметры в разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters

Кроме IP-адреса можно изменить и размер сети. В качестве внутренних сетей используйте только разрешенные для этого сети.


Настройка DNS

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

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

Если у Вас имеется домен Windows, то свой DNS-сервер обязательно присутствует и его надо настроить на работу с внешним Интернет. Тут возможен только вариант 3 - см. далее.

1. Клиенты и сервер используют DNS-сервер провайдера, службы DNS в своей сети совсем не используются.

У клиентов в качестве DNS-сервера надо прописать IP-адреса DNS-серверов провайдера. Это надо также обязательно сделать, если клиенты получают настройки через DHCP от ICS или RRAS.

У клиентов NAT должен быть разрешен. Если в настройках фильтрации у них трафик по умолчанию запрещен, то надо разрешить UDP/TCP по порту 53.

2. Используется служба кеширования DNS от NAT.

В ICS это включено по умолчанию, а в RRAS надо явно разрешить. Эта настройка находится в окне общих настроек NAT консоли RRAS. У клиентов в качестве DNS-сервера должен указываться IP-адрес внутреннего интерфейса. При использовании DHCP от NAT эту настройку они получат автоматически.

Так как внутреннего DNS-домена в этом варианте нет, то ни в коем случае у клиентов в настройках DNS не прописывайте зону, которой принадлежит компьютер. У Windows 9x/ME это поле "домен" в окне настроек DNS TCP/IP. В Windows 2000/XP/2003 членство рабочей станции в DNS домене указывается в общих свойствах системы (Мой компьютер/Свойства). Если тут ошибиться и указать несуществующую зону, то это приведет к появлению огромного внешнего DNS-трафика. Это возникнет, если какие-то программы будут обращаться внутри сети по именам хостов. Тогда каждая такая попытка будет сопровождаться внешним DNS-запросом к несуществующей зоне.

Все запросы DNS из внутренней сети эта служба будет пересылать на DNS-сервера, указанные в настройках внешнего интерфейса сервера. Проверьте их.

По умолчанию DNS-трафик для клиентов в этом случае считаться не будет, так как идет на IP-адрес интерфейса внутренней сети. При настройках Traffic Inspector его можно сделать платным. Для этого добавьте фильтр "для тарификации" на UDP/TCP по порту 53 для локального интерфейса.

3. Используется свой DNS-сервер.

Наиболее предпочтительный вариант. Позволяет описать свою внутреннюю прямую и обратную зону. Наличие своей внутренней зоны упростит обращение внутри сети по именам хостов и позволит исключить паразитный внешний DNS-трафик, связанный с этим.

DNS-сервер лучше всего ставить на сервере, подключенном к Интернет. Он может быть настроен на использование DNS-сервера провайдера, или работать автономно. Первое предпочтительно, если DNS-трафик у провайдера бесплатный. Второе желательно, если у провайдера DNS-сервер работает неустойчиво.

Для использования DNS-сервера провайдера настройте forwarding. Для этого откройте общие настройки в консоли DNS-сервера. Там можно прописать список IP-адресов, по которым будут перенаправляться его запросы. Для автономной работы DNS-сервера этот список оставьте пустым, но у него должен в этом окне настроек присутствовать список корневых DNS-серверов Интернет.

После установки домена в Windows DNS-сервер может оказаться настроенным для локального применения. В этом случае у него forwarding будет запрещен и список корневых серверов будет пустой. Для разрешения работы DNS-сервера с Интернет надо в нем удалить зону с одной точкой. После этого сервер надо перезапустить. Если имеется домен Windows, то перезапустите весь сервер.

В службе NAT RRAS использование DNS надо обязательно отключить. Если это не сделать, она будет перехватывать DNS запросы клиентов и DNS-сервер работать не будет.

Если имеется домен Windows и домен контроллер находится на сервере, подключенном к Интернет, то надо настроить его привязки. Лучше всего у него оставить привязку только к IP-адресу интерфейса внутренней сети. А на всех интерфейсах сервера указывать именно этот адрес в качестве DNS-сервера. Это исключит появление во внутренней DNS-зоне нескольких IP-адресов для имени этого сервера и самой зоны. Проверьте эти записи и лишние удалите.

Пропишите в DNS-сервере внутреннюю прямую зону. Если домен Windows уже настроен, то такая зона уже должна быть. Имя этой зоны надо выбрать таким, чтобы оно не пересекалось с именами Интернет, например mynetwork.local. Также следует прописать и обратную зону на все внутренние IP-сети. Это ускорит и упростит работу некоторых приложений, так как будет воможно преобразование IP-адреса в имя.

В открытых внутренних зонах обязательно пропишите NS-записи с IP-адресом Вашего DNS-сервера.

Настройки клиентов аналогичны варианту 2, но в качестве DNS-домена укажите имя своей внутренней прямой зоны. Также DNS-трафик можно сделать платным.

Прямую и обратную зону можно заполнять вручную. Если используется DHCP-сервер от серверных версий Windows, то его можно настроить на автоматическую прописку в DNS всех клиентов.

Если имеются DNS-сервера внутри сети, например с контроллерами домена, то настройте у них forwarding на DNS-сервер, находящийся на сервере, подключенном к Интернет.


Установка сервера программы

Если предполагается большая конфигурация и интенсивная работа программы, то есть смысл заранее определиться с местом ее установки - следует выбрать диск с разрешенной возможностью кеширования записи (см. тут). Эту возможность можно проверить в менеджере устройств Windows, в свойстве диска и включить соотствующую опцию.

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

Далее надо установить драйвер программы. Перед этим настоятельно рекомендуем остановить службу RRAS и отключить все диалапные соединения. Если этого не сделать, то драйвер может не установиться на PPP-интерфейсах - система при установке его будет принудительно разьединять все RAS и Demand-Dial соединения, а при наличии автодозвона это приведет к неприятностям.

Для установки драйвера открываем окно свойств любого сетевого интерфейса системы и наживаем на кнопку Install (Добавить). Выбираем Service (Службы) и добавляем драйвер из подкаталога TrafInsp/Redist. Нажимаем OK. В процессе установки будет многократно появляться окно предупреждений, так как драйвер не подписан. Всегда нажимаем OK. После этого в списке сетевых служб у всех интерфейсов появится Traffic Inspector Network Driver.

Далее можно отвязать драйвер от неиспользуемых интерфейсов - для этого отключаем его в списке сетевых служб. Ни в коем случае не следует нажимать тут на кнопку удаления - это полностью удалит драйвер для всех интерфейсов. Отвязка драйвера сэкономит около 4 мегабайт памяти на каждом интерфейсе.

Важно! Надо обязательно отвязать драйвер от интерфейсов, не использующих IP - например, если используется подключение по протоколу PPPoE.

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

Если все же потребовалась переустановка сервиса программы или драйвера, то смотрите отдельный раздел.

Далее можно запускать консоль.


Запуск программы

Запускаем консоль управления на сервере через меню "Пуск". Поле имени сервера в появившемся окне оставляем пустым - подключение производится локально. Сервис программы, если ранее был не запущен, должен стартовать автоматически.

Если консоль запустилась с ошибкой Access Denied, то прежде всего настройте DCOM. Иначе при проблемах запуска консоли смотрите здесь.

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

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

Если каких-либо необходимых интерфейсов в списке нет, то разрешение проблемы см. тут.

Проверьте журнал системных событий в консоли - раздел Диагностика/События.

Если установка драйвера произошла с проблемой, то может быть ситуация, когда сеть полностью отключается. В этом случае попробуйте просто перегрузить систему, и если проблема не пропала, драйвер придется переустановить.

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

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

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


Настройка DCOM

В некоторых случаях может потребоваться настройка службы DCOM на сервере. Для этого через Start/Run Windows запустите конфигуратор dcomcnfg. У Windows 2000 это отдельная программа, у Windows XP/2003 утилита MMC консоли, доступная также как Component Service.

Для Component Service выберите Computers/My Computer и откройте окно свойств - откроются настройки службы DCOM.

В настройках DCOM надо на закладке Default DCOM Security добавить Everyone в списки Access Permissions и Launch Permissions.

Сервис Traffic Inspector после этого надо перезапустить.


Активация

Программа может использоваться в виде бесплатных версий LITE, PE, или платных LITE+, STANDART и PRO. Отличия этих версий смотрите здесь.

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

Для активации необходимо получить специальный программный ключ, который выписывается продавцом на основании 2-х составляющих:
1. Кода продукта
2. Идентификатора установки - привязка. С помощью нее предотвращается повторное использование ключей активации.

Код продукта - это некая строка из символов, которая генерируется программой при первом запуске или выдается продавцом.

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

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

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

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

Если программа используется на сервере, где "белых" IP-адресов нет, или используются динамические "белые" адреса, то используется привязка к "железу"компьютера. Также привязка к "железу" используется при активации программы с ограничением по времени.

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

Сама процедура активации в консоли описана здесь.


Установка удаленной консоли

Консоль может быть установлена на любом компьютере, подключенном к внутренней сети, для удаленного управления и может работать на операционной системе Windows 95/98/ME/NT4/2000/XP/2003. Также требуется Internet Explorer версии не ниже 5.5.

Если используется Windows 95/98/ME, то также необходимы:

· MMC версии 1.2.
· Windows Installer 1.1 или выше.
· Также могут потребоваться некоторые обновления и заплатки для службы DCOM. Тема конфигурирования DCOM для этих систем подробно описана на сайте Microsoft, также есть много материалов в Интернет.

Если эти компоненты отсутствуют, то их можно скачать с сайта Microsoft. Наличие MMC и ее версии можно проверить, запустив mmc.exe и вызвать Help/About. Если Windows Installer 1.1 отсутствует, но инсталлятор просто не запустится.

Для установки удаленной консоли запустите инсталлятор программы и выберите режим установки только консоли. Запустите консоль из меню Трафик инспектор. В появившемся окне введите имя сервера или его IP-адрес. Если соединение происходит с ошибкой, то смотрите здесь.

Также рекомендуется создать новую оснастку MMC и сохранить ее в отдельном месте, так как при переустановке консоли оснастка по умолчанию будет обновляться и все персональные настройки будут потеряны.

Может потребоваться удаленное администрирование и из внешней сети (Интернет) - это описано здесь.


Установка клиентского агента

Клиентский агент может работать на любой системе Windows 95/98/ME/NT4/2000/XP/2003. Он представляет собой приложение trafinspag.exe.

Для персонального режима при запуске агента на самом сервере trafinspag.exe должен запускаться с ключом -PE. Инсталлятор PE версии для этого делает ярлык в меню Пуск и никаких дополнительных процедур его установки и настройки делать не надо и дальнейшее описание этого раздела можно опустить.

Для запуска агента и его настройки имеется файл компонента панели управления trafinspcfg.cpl.

По простому клиентский агент может устанавливается путем копирования файлов trafinspag.exe и trafinspcfg.cpl с сервера на компьютеры пользователей в системный каталог system32 (Win2000/XP/2003) или system (Win95/98/ME). Но лучше использовать отдельный инсталлятор TrafInspAg.MSI или утилиту удаленной установки.

Все исходные файлы находятся на сервере в подкаталоге redist.

Утилита групповой удаленной установки.

Этот способ работает для установки на компьютеры с системой Windows NT4/2000/XP/2003, если сервер и рабочие станции находятся в домене Windows. Для систем с Windows NT 4.0 надо заранее установить компоненты WMI, которые можно скачать с сайта Microsoft.

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

Внимание! Утилиту групповой удаленной установки можно запускать только на самом сервере!

Установка агента с помощью инсталлятора.

Инсталлятор агента можно удаленно загрузить через встроенный веб-сервер, набрав на браузере http://server:port. Аутентификации на этой странице не требуется. Для конфигурирования агента, как минимум, потребуется ввод имени сервера (или IP-адреса).

На Windows 95/98/ME для этого придется поставить службу Windows Installer, если она отсутствует. Если по какой-то причине ее ставить не хочется, установите агента простым копированием файлов.


Обновление с предыдущих версий

Если производится обновление программы поверх предыдущих версий, то порядок этой процедуры следующий:

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


Переустановка сервера и драйвера

Типовой порядок переустановки следующий:

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

Перед удалением драйвера настоятельно рекомендуем остановить службу RRAS и отключить и запретить все активные диалапные соединения (если они используются).

Не рекомендуется делать переустановку драйвера удаленно (через терминальный сервер или другую программу удаленного администрирования) - система будет разрывать все сетевые соединения.

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

Порядок удаления сервиса и драйвера (что удалять сначала) значения не имеет.


Ручная установка сервера

Ручная установка сервера сервера.

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

Все необходимые файлы находятся в одном каталоге, по умолчанию Program files\TrafInsp.

TrafInsp.exe | Сервис.
TrafInspAdmin.ocx | Консоль управления.
TrafInsp.tlb | Библиотека типов. Требуется для консоли в случае удаленного управления.
tregsvr.exe | Вспомогательная утилита от Borland для регистрации библиотек типов.

Для установки сервиса запустите его с ключом -install, для удаления - с ключом -uninstall.

Для регистрации консоли управления используйте утилиту RegSvr32.exe, имеющуюся в OS Windows 2000/XP. В Windows 95/98/ME она отсутствует, поэтому скопируйте ее от Windows 2000/XP. Для регистрации запустите системную консоль cmd.exe, перейдите в каталог программы и запустите regsvr32 TrafInspAdmin.dll.

Для регистрации библиотеки TrafInsp.tlb на удаленном компьютере запустите cmd.exe, перейдите в каталог программы и запустите из командной строки tregsvr.exe -е TrafInsp.tlb. Для компьютера, где установлен сервис TrafInsp.exe, это не требуется!


Сохранение и перенос настроек.

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

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


Администрирование.

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

В разделе Работа с MMC описаны некоторые особенности и приемы работы с Microsoft Management Console. В справочной системе Windows имеется большой раздел по этой теме, но документация может быть на английском языке и некоторые темы там описаны неполно. Информация этого раздела позволит быстро сориентироваться в этом мощном инструменте и удобно и эффективно его настроить.

Раздел Консоль управления - это контекстно ориентированная справка консоли программы с описаниями всех ее разделов и окон.

Раздел Решение задач - описание решения различных задач, возникающих при работе с программой. Некоторые задачи также описаны в подразделе Настройки раздела Быстрый старт.


Работа с MMC

Microsoft Management Console состоит из собственно консоли mmc.exe и различных ее компонент, называемых Snap-In. Конфигурация консоли при этом сохраняется в специальном файле оснастки с типом .msc. В нем кроме списка компонентов сохраняются и все персональные настройки текущего пользователя. Такой подход к сохранению настроек очень удобен, так как позволяет иметь много уже заранее настроенных оснасток для выполнения различных задач администрирования.

При работе с Traffic Inspector рекомендуется создать новую оснастку MMC и сохранить ее в отдельном месте, так как при переустановке консоли оснастка по умолчанию будет обновляться и все ее персональные настройки будут потеряны.

Консоль визуально состоит из левой части с деревом разделов и правой части с данными. Элементы управления представлены ее стандартными средствами - есть главное меню в верхней части окна, контекстные меню (вызываются правой кнопкой мыши) и кнопки на панелях сверху. Следует отметить, что действия этих элементов управления могут отличаться в зависимости от того, что выбрано - левая или правая часть консоли. Это особо отмечается в описаниях разделов и окон программы.

Как правило, везде присутствуют кнопки и меню Refresh (Обновить) и Properties (Свойства). Нажатие Refresh обновляет все данные, а Properties вызывает окно свойств раздела или данных.

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

Что важно, в некоторых списках Traffic Inspector, где много колонок, некоторые по умолчанию сделаны скрытыми. В разделах описания это, как правило, указывается.

Многие ненужные элементы консоли могут быть убраны, что полезно для минимизации ее размера. Окно этих настроек можно вызвать из меню View/Customize. Выключив все пункты, можно оставить в окне только правую часть консоли с данными.

В MMC можно открыть несколько окон, при этом каждое окно может отображать разные разделы консоли. Настройки этих окон также сохраняются персонально. В качестве примера приведена настройка консоли под монитор работы.

В MMC имеется еще одна полезная вещь - панели задач (TaskPad). Суть их в том, что для каждого раздела консоли правую ее часть с данными можно дополнить панелью с кнопками и описаниями различных действий. Кнопки можно привязать к элементам меню консоли или вызвать ими любое внешнее приложение. Панелей для каждого раздела может быть создано несколько, под разные задачи. Создаются панели задач вызовом мастера из меню New taskpad view.


Новая оснастка

Запустите программу mmc.exe из меню ПУСК.

cons10

cons11

cons12

Далее задайте имя сервера (или IP адрес).

cons13

Далее, если ранее был введен пароль администратора, может потребоваться его ввод.

В оснастку также можно добавить другие полезные компоненты - Event Viewer, Service Manager, Routing and Remote Access, Web ресурс. Также из одной оснастки можно администрировать несколько разных серверов программы, добавив еще компоненты Traffic Inspector.

Закройте окна, нажав Close и OK.

Настройте параметры доступа и режимы сохранения оснастки. Это можно сделать из меню File/Options.

Сохраните оснастку командой из меню File/Save As.


Настройка списков

Для настройки стандартных таблиц выберите правую часть консоли, и из меню View/Add/Remove columns вызовите окно настроек.

cons21

cons22

Здесь колонки можно скрыть, показать и поменять их порядок. Также можно применить настройки по умолчанию.


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

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

Создаем новую оснастку. Переходим в раздел Отчеты/Сетевая статистика. Открываем новое окно для этого раздела:

cons30

Откроется второе окно с сетевой статистикой. В первом окне переходим в раздел Сетевой монитор для клиентов и выравниваем окна через меню Windows/Tile horizontally.

cons31

Убираем левую часть консоли в обеих окнах. Для этого поочередно выбираем каждое окно и отжимаем кнопку - cons32

cons33

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

Также через меню View/Customize желательно удалить нижнюю панель (Description Bar), а если надо и другие элементы управления. После этого еще раз настраиваем размеры окон и полученную оснастку можно сохранить (меню File).

cons34

Для того, чтобы при выходе из этого монитора работы в дальнейшем не было запроса на сохранение и предотвратить изменение его настроек, можно через меню File/Options ввести разные ограничения:

cons35


Консоль управления

При запуске консоли сервис должен стартовать автоматически. Если консоль запустилась с ошибкой, то смотрите соотв. раздел.

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

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

admmain

Если каких-то интерфейсов не хватает, но они должны быть - смотрите здесь.

Из главной страницы консоли доступны операции:

· Refresh (обновить) - обновить соединение с сервером. Следует использовать, если при работе консоли соединение с сервером по каким-то причинам было потеряно и отображаются ошибки соединения типа RPC call failed. Также приводит к обновлению данных в главном окне консоли.
· Соединение с сервером. Выбор сервера для администрирования.
· Конфигурирование. Запускается мастер настройки сети и выбор используемых служб.
· Properties (свойства) - общие настройки программы.
· Активация платной версии программы или смена ключа при переходе на другую версию.
· Смена пароля. Если используется аутентификация администратора по паролю, то можно ввести новый пароль. Введенный пароль может быть запомнен в файле оснастки консоли.
· Сброс интерфейсов - производится полное обновление всех настроек программы и рестарт ее служб.

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


Активация

Эта функция доступна из меню в главном окне консоли. Предварительно ознакомьтесь с этим разделом.

activate
В окне отображается код продукта и текущая привязка.

Действия для активации купленной программы могут быть следующие:

· Ключа активации нет. Надо отправить запрос продавцу на получение ключа. Нажмите на кнопку Копировать и данные запроса будут скопированы в буфер обмена. Можно далее вызвать почтовую программу и отправить запрос по почте. Также имеется кнопка прямой отправки запроса через сайт (но это для активации платной версии пока не реализовано!).
· Ключ активации уже есть. Если он был выдан продавцом до установки программы, то к нему должен быть приложен код продукта и привязка (IP- адрес или код конфигурации "железа"). Смените код продукта в этом окне, предварительно это разрешив, включив опцию Сменить. Проверьте соответствие привязки. Если была выдана привязка на несколько IP-адресов, а в текущей привязке каких-либо не хватает (интерфейсы не активны), то введите все адреса через запятую. Порядок адресов в списке значения не имеет. После этого введите ключ и нажмите Ввести. В главном окне консоли проверьте версию лицензии. Если версия не сменилась, попробуйте через несколько секунд обновить данные, нажав на Refresh.

После активации платной версии иконка этой операции на главном окне консоли пропадет. Но эта процедура всегда доступна через контекстное меню консоли.

Не забудьте на всякий случай код продукта, привязку и код активации где-нибудь сохранить. Секрета из них делать не надо, все равно повторно в другом месте их использовать не получится.

Для активации программы с ограничением по времени включите опцию Trial. В поле привязки появится код конфигурации "железа" компьютера. Дальнейшие действия аналогичны. Для получения ключа используйте отправку запроса на сайт. Отправку запроса по почте не используйте.

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


Мастер конфигурирования

Эта функция доступна из меню в главном окне консоли.

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

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

Выберите тип конфигурации:

· Используется внутренняя и внешняя сеть - полный режим.
· Только внутренняя сеть - будет доступен учет трафика пользователей, прокси-сервер и SOCKS.
· Только внешняя сеть - будет доступен firewall, учет внешнего трафика и SMTP шлюз. Также может быть активирован персональный режим.

wiz1

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

wiz2

Если надо, включите прокси- и SOCKS-сервер. Если прокси-сервер отключить, то локальный веб-сервер также будет недоступен. Иногда также может потребоваться смена портов.

wiz3

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

wiz4

Выберите настройки, связанные с фильтрацией трафика на внешнем интерфейсе.

wiz5

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

wiz6

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

wiz7

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


Общие настройки

Это окно доступно как Properties (Свойства) в главном окне консоли и здесь собраны общие настройки программы, имеющие отношения к различным службам.
В окне имеются следующие разделы свойств:
· сетевой драйвер
· сетевая статистика
· DNS
· журналы и временные файлы
· администрирование

Сетевой драйвер.

mainpropdrv

Настройки сетевого драйвера, они относятся ко всем интерфейсам.

Учитывать заголовки Ethernet - общее правило определения длины пакета. Смотрите раздел.

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

Сетевая статистика.

mainpropns

Общие настройки для сетевой статистики. Принцип работы подробно описан тут.

Если группировку по динамическим портам полностью отключить, то обьем данных в статистике резко возрастет и ее наглядность ухудшится. Если требуется раздельный учет для серверов, работающих по портам более 1023, добавьте их в список. В этом примере добавлен порт 1433 для Microsoft SQL Server.

Если для сетевой статистики включить использование DNS, то для всех IP-адресов в коллекторах будут автоматически определяться имена. Это работает совершенно прозрачно для самой операции сбора статистики, но приводит к увеличению потребления трафика за счет DNS-запросов по каждому новому адресу.

При большом количестве пользователей (более 100-300) эта операция становится ресурсоемкой и может привести к неработоспособности программы. Поэтому предусмотрена возможность разрешить ее отдельно для клиентов.

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

DNS.

mainpropdns

В фильтрах и их списках могут использоваться имена хостов вместо IP-адресов.

Имеется отдельная служба, которая эти имена преобразует в IP-адреса и следит за их изменениями - смотрите раздел. Здесь представлены настройки этой службы, изменять эти параметры в большинстве случаев необходимости нет.

Удалять неизвестный хост из списка - это применяется только к именам хостов в списке фильтра. Если имя используется в самом фильтре, сам фильтр не удаляется, он просто не будет использован.

Журналы и временные файлы.

mainproplog

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

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

Администрирование.

mainproplogin

Это настройки для разграничения доступа при работе через консоль и к API-интерфейсу.

Используется 2 способа аутентификации при соединении консоли с сервером:

· Windows (NTLM) - по умолчанию. При этом используется текущий логин пользователя в системе. Если домена нет, то доступ возможен только при локальном логине на сервере, удаленно этот способ не работает.
· По паролю. По умолчанию пароль пустой (не задан) и такой доступ запрещен.

Оба способа используются последовательно - если доступ по Windows-аутентификации не прошел, то будет произведена попытка войти по паролю.

После первой установки доступ на консоль разрешен всем, прошедшим Windows-аутентификацию (NTLM). Если есть домен, то будет разрешен и удаленный доступ с любого компьютера домена. Если домена нет, то будет разрешен только локальный доступ.

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

Сменить пароль администратора также можно через меню Сменить пароль главной страницы консоли.

Также установите пароль для доступа через API-интерфейс автоматизации.

Если требуется управление системой билинга через API автоматизации, то этот доступ должен быть разрешен. Также введите пароль, который будет использоваться при вызове функций - установленный по умолчанию лучше сменить.

API автоматизации используется в скриптах встроенной поддержки просмотра клиентской статистики через веб-сервер. Если доступ отключить, то это работать не будет.


Внутренние сети

Раздел консоли Внутренние сети доступен, если выбран хотя-бы один внутренний интерфейс или используется персональный режим - смотрите Мастер конфигурирования.

admintnet

На этой странице отображается различная сводная информация по клиентам.


Клиенты и группы

Клиенты могут быть описаны как в общем списке, так и в группах. Это позволяет объединить их по общим тарифам и политикам доступа.

Общие параметры клиентов и групп настраиваются через окно Properties (Свойства) разделов Клиенты или Группы консоли.

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

Общие параметры разделяются на:
· тарификация
· расписание
· авторизация
· статистика
· сервера терминалов

Тарификация.

admbillprop

Здесь задаются общие для всех клиентов и групп тарифы.

Оплата по умолчанию - этот параметр подставляется в поле оплаты при старте сессии клиента и при автодобавлении клиента. Также его использование удобно при рестарте клиентов через API автоматизации.

Расписание.

admusermainprop2

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

admusermainprop3

На этой закладке приведены настройки параметров авторизации клиента.

Можно разрешить клиенту через агента самостоятельно менять свой пароль, но только если не используется аутентификация Windows.

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

Автодобавление клиентов - полезная возможность, упрощающая труд администратора при большом количестве клиентов. Доступно только при интегрированной Windows-аутентификации. Здесь можно задать группу домена Windows, для членов которых это будет разрешено. Клиенты будут добавляться при первой попытке авторизации и у них будут прописываться настройки по умолчанию. Клиенты могут добавляться в общий список или в конкретную группу - см. настройки для групп.

Статистика.

admusermainprop4

Здесь представлены общие для всех клиентов настройки сетевой статистики (смотрите описание). При добавлении клиентов их настройки выставлены по умолчанию, поэтому изменение этих настроек будет применено сразу для всех.

Сервера терминалов.

admusermainprop5
Если в сети имеются сервера терминалов, то их IP-адреса надо прописать. Это необходимо для корректного учета трафика клиентов. Клиенты, работающие на сервере терминалов, будут иметь одинаковый IP-адрес и их раздельный учет возможен только при их работе через прокси-сервер или SOCKS. Поэтому при их авторизации с сервера терминалов IP-фильтры для них не применяются, прямой трафик не разрешается.


Группы

С помощью групп клиенты объединяются по тарифам и политикам доступа. Группы одноуровневые, т.е. группа не может входить в другую группу.

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

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

addgroup

Группу можно добавить через меню узла Группы.

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

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

Если группа удаляется, то клиенты этой группы переносятся в общий список, а ее фильтры удаляются.

Для ввода параметров группы используйте Properties (Свойства) для группы.

Параметры группы имеют следующие разделы:
· группа
· тарификация
· расписание
· фильтрация
· ограничения

Группа.

groupprop

Введите имя группы. Оно должно быть уникальным. Группу впоследствии можно переименовывать, это никак не отразится на работе программы.

Если используется автодобавление клиентов, то для группы можно задать группу домена Windows, членство пользователя в которой приведет к добавлению клиента в эту группу программы.

Примечание - любой текст не более 255 символов.

Тарификация.

groupprop2

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

Расписание.

groupprop3

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

Фильтрация.

groupprop4

Если для группы надо иметь собственные фильтры, включите использовать фильтрацию. ВНИМАНИЕ! Список фильтров для группы в консоли появится только после включения этой опции. Отключение ее приведет к удалению всех ранее введенных фильтров для этой группы.

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

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

Ограничения.

groupprop5

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

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

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

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


Клиенты

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

adduser

Изменить настройки клиента можно через меню или кнопку Properties (Свойства).

Здесь не доступны свойства клиента, задающие статус его сессии. Оперативное управление клиентом и его тарификацией вынесено в раздел Монитор работы, где клиенты всех групп объеденены в один список.

Свойства клиента подразделяются следующим образом:
· клиент
· идентификация
· доступ
· расписание
· тарификация
· ограничения
· статистика
· журнал

Клиент.

admuser1

Введите отображаемое имя клиента. Это поле не обязательное, если его оставить пустым, то в качестве этого имени будет использоваться его логин, IP-, MAC- или E-Mail-адрес в зависимости от способа авторизации.

Имя впоследствии всегда можно поменять, на работе программы это никак не отразится.

Группу клиента также всегда можно сменить. Если группа в последствии удаляется, то ее клиенты переносятся в общий список.

Примечание - любой текст не более 255 символов. Используйте для любых заметок.

Идентификация.

admuser2

Если клиент авторизуется по имени, то введите Логин и Пароль. Если аутентификация производится через домен Windows, то пароль оставьте пустым. Поля IP-адресов в этом случае также можно заполнить для дополнительного ограничения доступа. Поле MAC-адреса игнорируется.

Клиент также может идентифицироваться по IP-адресам или MAC-адресу. Логин при этом не заполняйте.

Если для клиента также надо вести учет почтового трафика при использовании SMTP-шлюза, введите его E-Mail-адрес. Если адресов несколько, то введите дополнительные, нажав на кнопку Дополнительно. Если имеется домен Windows, то E-Mail-адреса можно взять из Active Directory у одноименного пользователя. Для этого нажмите на кнопку Загрузить из AD.

Для учета входящей почты на некоторые E-Mail-адреса, которые не соотносятся с конкретными пользователями, например на E-Mail группы, можно прописать пользователя, который идентифицируется только по E-Mail-адресу. Заметим, что это придется сделать обязательно, если у SMTP-шлюза включен режим приема почты только для известных получателей, так как E-Mail-адрес группы будет невозможно соотнести конкретным
пользователям.

Адрес PPTP-клиента - IP-адрес компьютера клиента, с которого идет подключение на VPN-сервер. Описание этого решения см. тут.

Доступ.

admuser3

Задайте режимы доступа - см. описание.

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

Расписание.

admuser4

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

Тарификация.

admuser5

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

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

Ограничения.

admuser6

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

Разрешить работу через службы - можно выставить персональные разрешения на работу через конкретные службы сервера. Если клиент входит в группу, то для нее есть и общая настройка.

Также тут можно выставить и персональные лимиты скорости работы. Смотрите описание принципа работы и соответствующие настройки для группы.

Статистика.

admuser7

Здесь вводятся индивидуальные настройки сбора сетевой статистики для клиента - смотрите раздел Принцип работы.

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

Журнал.

admuser8

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

Интервал - задает как часто записывать состояние клиента. Это определит степень детализации динамики его работы. Если клиент не работает, или счетчики его трафика не меняются, то запись не производится. Запись также обязательно производится по каждому событию, связанному с изменением параметров тарификации для него. Это позволяет в журнале в дальнейшем отследить все эти изменения.

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

Журнал ведется в стиле других прокси-серверов и имеет формат, похожий на Microsoft ISA Server. Для разрешения записи это также должно быть разрешено в настройках прокси-сервера. Журнал довольно объемный и для всех клиентов его включать не надо. Для анализа их работы лучше использовать сетевую статистику.


Фильтры

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

Перед настройкой фильтров желательно ознакомиться с разделом.

Фильтры могут быть как в общем списке, так и в списках для групп.

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

Фильтры могут быть перенесены из одного списка в другой. Если группа удаляется, то ее фильтры удаляются также.

Фильтры добавляются через меню Добавить, для редактирования используйте кнопку или меню Properties (Свойства).

addfilter

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

Свойства фильтров подразделяются следующим образом:
· фильтр
· тип
· IP
· список
· контекст
· расписание
· действия

Фильтр.

admfilter0

Отключить фильтр - фильтр можно отключить, не удаляя его из списка.

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

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

Применять фильтр в службах - можно ограничить действие фильтра соответствующими службами.

Примечания - введите любой текст для заметок не более 255 знаков.

Тип.

admfilter1

Тип фильтра:

· На разрешение - этот фильтр доступен только если он Для всех или в группе, у которой трафик по умолчанию заблокирован. Иначе, так как для клиента все по умолчанию разрешено, такой фильтр смысла не имеет.
· На запрещение - блокирует трафик, подпадающий под условия фильтра.
· Клиентский - фильтры на запрещение, управляемые клиентами. Задают разные режимы "сбережения" трафика. Будет использован, если текущий уровень клиента не менее чем уровень фильтра. Т.е. если у клиента уровень F2, для него будут применены фильтры F1 и F2. Отметим, что минимальный уровень для каждого клиента может быть ограничен - смотрите раздел. Текущий уровнем может управлять как клиент через агента, так и администратор через Монитор работы. Смысловое значение уровне F1-F4 может быть любым. Для изменения их названия используйте соотв. настройки.
· Только для тарификации или ограничения скорости - особый фильтр для случаев, когда надо описать тип трафика и применить это правило для каких-либо действий по изменению тарификации или ограничения скорости, без применения фильтрации.

Применение:

· Применить для клиентов - фильтр применяется только для клиентов, когда для них известен IP-адрес. Если клиент идентифицируется по диапазону IP-адресов, то такой фильтр применяется для каждого.
· Применить для всех - применяется для любого источника из внутренних сетей. Будет применяться, в том числе, и для отключенных клиентов. Такой фильтр не может использоваться в группах. Используйте его для разрешения доступа на сам сервер, если есть VPN или сервер маршрутизирует трафик на DMZ или другие интерфейсы. Для домовой сети таким фильтром можно разрешить трафик на внутренний Web-сервер. Если имеются некие общие "черные" списки ресурсов, не задаваемых на уровне приложений, то для них надо всегда ставить Применить для всех - при этом минимизируется количество фильтров IP-стека. Такой фильтр также будет распространяться и на группы, даже если у них снято Использовать общие фильтры.

Тип сети - задает тип внутренней сети, для которой применяется фильтр. Тем самым можно сформировать различные политики доступа из разных по сути сетей. Для публичной сети логично произвести ограничение доступа как на сам сервер, так на другие внутренние сети - явно разрешить только то, что необходимо.

Фильтр приложений - включить, если требуется задание условий уровня приложений - HTTP, FTP. Эти условия могут проверяться при работе клиента только через прокси-сервер, для фильтрации прямого трафика такой возможности нет. При отключении этой опции ввод всех критериев уровня приложений - URL, контента и др. будет недоступен. Фильтр приложений для прямого трафика (через NAT) применяться не будет.

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

IP.

admfilter2

Здесь задаются критерии IP-протокола.

Порты источника - можно задать для типа протокола TCP или UDP. Заполняется, например, если используется фильтр На разрешение, клиент является сервером и надо разрешить какой-либо тип трафика на его серверые службы.

IP-протокол - можно задать тип: UDP, TCP, ICMP, IPSec или указать явно его номер. ICMP и IPSec - композитные фильтры, они сразу задают группу фильтров уровня IP-стека. Если используется фильтр уровень приложений, то протокол всегда TCP.

Адрес назначения - задает адреса, к которым применяется фильтр. Тут возможно много вариантов:

· Локальный интерфейс - фильтр описывает трафик на IP-адреса интерфейсов внутренних сетей. Если на интерфейс назначено несколько IP- адресов, то фильтры будут применяться к каждому. Используйте для разграничения доступа на сам сервер или описания платного трафика для его служб.
· IP-адрес или сеть - можно задать любой внешний для клиентов IP-адрес или сеть, на который возможен трафик изнутри. Это может быть внешний Интернет ресурс, а может быть сеть DMZ или VPN.
· Имя хоста - задайте имя хоста вместо IP-адреса. Для того, чтобы такой фильтр можно было применить и для фильтрации на уровне IP-стека, имеется специальная служба преобразования имен через DNS. Ее настройки смотрите здесь. Если используется фильтр приложений, то это поле может описывать не только хост, но и целиком домен - см. далее.
· Использовать список - если надо описать похожие фильтры сразу к большой группе хостов, целесообразно использовать список. Это уменьшает количество фильтров, упрощает администрирование и ускоряет работу программы.

Порты назначения - можно задать порты для протоколов TCP или UDP.

Список.

admfilter3

Для не фильтров приложений в списке можно задать:

· IP-адрес.
· IP-сеть в формате типа 11.22.33.44/24 или 11.22.33.44/255.2455.255.0, где правая часть - это маска.
· диапазон IP-адресов в формате типа 11.22.33.44-11.22.33.49, причем допускается использовать не более 16 адресов в этом диапазоне.
· имя хоста. Для фильтрации прямого трафика это имя будет через DNS преобразовываться в IP-адрес - смотрите здесь. Текущий статус этого процесса можно контролировать в отдельном окне Список хостов, доступном в меню консоли для списка фильтров.

Для фильтров приложений в списке задаются абсолютные URL в формате Host/Path. Порядок анализа (совпадение по началу или полное) задается тут.

Список хранится в каталоге config на сервере в виде отдельного файла. Используйте Имя файла конфигурации для прямого доступа к нему.

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

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

Сортировать - нажмите для сортировки данных списка.

Преобразовать URL в хост - отбросить пути в записях списка и оставить только хост. Используйте для того, чтобы отбросить HTTP-путь и оставить только имена хостов и IP-адреса. Наличие пути в описании ресурса не позволит применить его как блокирующий для IP-уровня. Если список большой и импортировался из какого-нибудь "черного списка", то это может оказаться полезным.

Контекст.

admfilter4

Здесь задаются условия фильтрации только для фильтра уровня приложений.

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

URL или ключевые слово - используется при анализе строки запроса, способ анализа задается Совпадением. При анализе запроса используются и его параметры (отделенные символом ?)

Если выбрано По началу, то в поле URL следует указать относительный путь. Из полной строки запроса берется относительный путь и условие выполняется, если начало этой строки совпадает со строкой в поле URL.

Если выбрано Полное, то условие выполняется, если строка относительного запроса и поле URL полностью совпадают.

Способы По началу и Полное также применяются к способу анализа пути, если они заданы в списках.

Любое - это условие позволяет применить контекстный поиск по ключевым словам в строке запроса. В этом случае используется строка запроса вместе с именем хоста. В примере приведен фильтр с ключевым словом banner, он сработает на все запросы, где хоть как-нибудь упоминается это слово - например www.banner.com, www.host.com/banner или www host.com?banner=123

Типы данных - выберите группы типов данных, для которых применять данный фильтр. Типы данных описаны в отдельном конфигурационном файле CntGrp.ini. Возможности работы с ним через консоль не предусмотрено, так как это может потребоваться достаточно редко. Все стандартные типы там уже описаны и собраны по очевидным группам. Если все-таки надо что-то подправить, его можно отредактировать напрямую.

Трактовать имя хоста как домен - если разрешить, то имена хостов будут рассматриваться как домен и фильтры будут применяться ко всем хостам и поддоменам этого домена. Например, если задать имя хоста microsoft.com, то фильтр будет применен ко всем ресурсам Misrosoft, относящихся к этому домену (www.microsoft.com). Это также относится и к хостам, заданным в списке.

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

Расписание.

admfilter5

Расписание действия фильтра. Эти настройки позволят динамически во времени менять политики доступа, управлять тарифами и ограничениями скорости.

Отменить ограничения - нажатие снимет все ограничения по времени.

Действия.

admfilter6
Эти настройки описывают действия, связанные с изменением стоимости трафика, вычислением текущей скорости и ее ограничением на определенную категорию трафика.

Это возможно только для фильтров типов На разрешение или Для тарификации или ограничения скорости.

Не использовать этот трафик для измерения скорости - это правило позволяет исключить какой-либо трафик при вычислении скорости с целью применения ограничений. Смотрите принцип работы.

Использовать фильтр для ограничения скорости - вводит ограничения на заданный вид трафика. Если клиент имеет свои ограничения, то они имеют приоритет. Установите Переопределять ограничения клиента для того, чтобы это правило было применено независимо от настроек клиента.


Настройки F1-F4

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

admfilterlevel


Списки хостов

Это окно доступно для фильтра, имеющего список хостов и который не является фильтром приложений. В нем отображается статус DNS преобразования имен хостов в их IP-адрес. Окно доступно через меню консоли в списке фильтров.

admfilterhl

Удалить - можно немедленно удалить выбранный хост из списка.
Удалить с ошибками - будут удалены все хосты, для которых преобразование было выполнено с ошибкой.

Общие настройки процедуры DNS преобразования в списках задаются здесь.


Монитор работы

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

admclientstate1

В таблице отображаются все текущие счетчики трафика клиента, его текущее состояние, тарифы и начисления. Некоторые колонки по умолчанию скрыты, используйте меню консоли View/Choose columns для настройки таблицы. Значения в угловых скобках означают, что у клиента используются настройки по умолчанию.

Сверху имеются кнопки, которыми изменяются состояния сессии клиента.

Кнопки фильтрации F0-F4 и режимов кеширования полностью аналогичны тем, что есть у клиентского агента. Они позволяют манипулировать этими настройками со стороны администратора.

Эта таблица автообновляемая с интервалом около 10 секунд, чтобы ее обновить немедленно, используйте кнопку Refresh.

В этом разделе консоли вводятся проплаты и можно ввести индивидуальные тарифы. Для этого используйте кнопку или меню Properties (Свойства) для вызова окна редактирования.

usermonprop

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

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

Это окно автоматически вызывается также при запуске новой сессии. Если от предыдущей сессии остался остаток средств, то эта сумма может быть добавлена нажатием на кнопку Добавить из предыдущей сессии.

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

admnote
Если установить Больше не показывать, то это окно вызываться в дальнейшем не будет. Включить или отключить вывод этого окна можно также через меню консоли в разделе монитора работы.


Журнал работы

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

userlogprop

Тут клиента можно выбрать из списка, но также есть возможность ввести его имя или GUID. Это может быть полезно в том случае, если клиент уже удален и в списке отсутствует.

Формат таблицы полностью соответствует формату файла журнала. В некоторых колонках используются статусные коды, они заменены на описание. Колонок очень много, и поэтому некоторые по умолчанию скрыты. Используйте меню консоли View/Choose columns для настройки таблицы.

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

Заметим также, что файлы журналов можно всегда загрузить в Excel или Access и обработать там.

При работе с этим списком имеется такая полезная функция, как восстановление состояния клиента по ранее сохраненным записям журнала. Это позволит исправить какие-либо ошибки администрирования и "откатить" данные назад. Для этого следует выбрать требуемую запись события и через меню консоли нажать Восстановить данные и статистику клиента.


Прокси-сервер

В этом разделе собраны все настройки прокси-сервера и SOCKS. Встроенный веб-сервер полностью интегрирован с прокси-сервером и своих настроек не имеет. прокси-сервер имеет большое количество настроек, и если есть необходимость их менять, то надо обязательно ознакомиться с разделом Прокси-сервер.

admproxymain
На главной странице прокси-сервера отображается его текущий статус и имеются иконки для быстрого доступа к основным операциям.

Настройки прокси-сервера поделены следующим образом:
· настройки
· HTTP-кеширование
· FTP-прокси
· настройки клиентов
· журнал

Настройки.

admproxyprop1

Задайте каталог для размещения кеша на диске и его размер. Кеш использует один большой файл и создается сразу заданного размера. В случае перемещения кеша старый файл не удаляется, его придется удалить самим.

Изменять размер кеша можно без проблем, но при уменьшении его размера некоторые данные могут быть потеряны.

Тайм-аут соединения с сервером - максимальное время установления соединения с вызываемым ресурсом. Этот параметр общий для всех режимов прокси-сервера и SOCKS.

Каскадирование - здесь задаются параметры вышестоящего прокси-сервера, на который будут перенаправляться HTTP-запросы. Для FTP-прокси и SOCKS каскадирование не поддерживается. Задавать имя пользователя и пароль необязательно, может использоваться и анонимный доступ.

HTTP-кеширование.

admproxyprop2

Здесь вводятся настройки функций кеширования прокси-сервера.

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

Разрешить кеширование HTTP-контента - разрешает использование кеширования вообще. Запрещение этой функции не приводит к очистке содержимого кеша.

Проверять обновление всех обьектов - включение приведет к тому, что все запрашиваемые обьекты, когда они есть в кеше, будут проверяться на сервере на предмет их "свежести" - не обновились ли они. Это будет гарантировать, что клиент всегда получит правильные данные, но экономия трафика будет минимальная.

Логика работы кеша и назначение параметров вычисления TTL подробно описаны здесь.

Кешировать обьекты с неизвестным временем создания - в большинстве случаев отключать не стоит, существует много сайтов, которые время создания ресурсов не сообщают .

Кешировать динамические обьекты - также отключать не стоит. Динамические обьекты - это, если строка запроса содержит параметры после символа ? или используется специальный тип контента Chanked.

Возвращать ошибку, если не удается проверить на сервере - если не включать, то при невозможности произвести проверку "свежести" обьекта, а он есть в кеше, клиенту будет возвращен объект из кеша.

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

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

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

FTP-прокси.

admproxyprop3

Здесь собраны настройки FTP-прокси.

Задержка выдачи промпта FTP прокси-сервера - это задержка перехода из режима HTTP в FTP. Классический FTP-прокси и HTTP работает через один порт. После соединения клиента сервер ожидает HTTP-запрос, если его какое-то время нет, то переходит в режим FTP и выдает промпт. В некоторых случаях при задержках во внутренних сетях может быть полезно это время увеличить.

Следующие параметры используются как для режима классического FTP-прокси, так и в режиме FTP через HTTP:

Тайм-аут команд - время ожидания отклика от сервера. При превышении сессия закрывается. Не следует это путать с параметром Тайм-аут соединения на первой закладке окна.

Тайм-аут начала передачи данных - время ожидания начала передачи данных после открытия активного режима. Для режима FTP через HTTP по истечении этого времени будет предпринята попытка использовать пассивный режим.

Пассивный режим - не применять активный режим при FTP через HTTP. Для других режимов FTP-прокси это определяется FTP-клиентом.

Интервал выдачи команды NOOP - для режима FTP через HTTP команда NOOP используется для удержания соединения с FTP-сервером. Для других режимов прокси это определяется FTP-клиентом.

Настройки клиентов.

admproxyprop4

Разрешить интегрированную Windows-аутентификацию - удобная возможность для клиентов, работающих с сервером в одном домене и не использующих клиентского агента. Браузер при этом не запрашивает пароль, а применяется текущий логин клиента. Следует отметить, что это работает также на системах Windows 95/98/ME. Но в некоторых случаях, когда имеются клиенты, которые логинятся в Windows под одной учетной записью, но с Traffic Inspector могут использовать разные другие, эту возможность для предотвращения ошибочных логинов можно отключить.

Конфигурирование браузера - настройки, связанные с автоконфигурированием прокси на браузерах клиентов. Для этого сервер выдает стандартный wpad.dat Java-скрипт. Следует отметить, что сервер также откликается и на запрос config.script. Кроме настроек на сам прокси - его адрес и порт, в этот скрипт также может быть включена LAT - таблица локальных адресов. В ней задаются IP-адреса или сети, с которыми браузер должен работать напрямую, минуя прокси-сервер.

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

Для других браузеров (Mozilla, Opera) пропишите скрипт вручную типа http://server:port/wpad.dat. Конфигурирование через скрипт намного предпочтительнее задания явных настроек, так все изменения заносятся централизованно.

Указывать в скрипте SOCKS-сервер - если включить, то для браузера в качестве альтернативного варианта будет указан и SOCKS-сервер. Включение этой опции может иметь некоторые нежелательные последствия - если браузер при попытке работать через HTTP-прокси почему-то получит ошибку, в дальнейшем он переключится на SOCKS и будет работать через эту службу, больше не проверяя доступность HTTP-прокси.

Блокировать кеширование на браузере клиентов - если включить, то прокси всегда будет возвращать HTTP-атрибут no-cache. В соответствии стандартам это должно отключить кеширование у браузера, но на работу кеша в Internet Explorer этот атрибут почему-то особого действия не оказывает.

Игнорировать no-cache в запросе клиента - если клиенты используют переключение режимов кеширования с помощью агента, то это целесообразно включить.

Журнал.

admproxyprop5

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

Также записывать блокированные запросы - может быть полезно для отладки фильтров, в этом случае в журнал попадут и отфильтрованные запросы.


Правила кеширования

Если кеш прокси-сервера настроен на максимальную экономию трафика, то для просмотра заранее известных быстрообновляемых ресурсов правила кеширования целесообразно описать отдельно.

В данном примере правила задают обязательную проверку ресурсов на погодном сайте gismeteo.ru, а также для форумов. Форумы определяем по наличию в запросе ключевых слов board или forum.

admproxyrule

admproxyruleprop

Верхняя часть окна настроек правил кеширования несколько напоминает фильтры, тут задаются критерии запроса.

В поле URL можно задать строку запроса (вводится относительный путь), или ключевое слово. В отличие от фильтров тут можно ввести только одно ключевое слово.

Также можно задать типы данных, к которым применяется этот запрос. Однако при задании типов данных есть один нюанс - для запроса, когда ресурс явно не указан, тип данных не известен, и это такое правило может не сработать.

Нижняя часть переопределяет правила кеширования, заданные в настройках прокси-сервера.

Примечания - любой текст длиной не более 255 символов.


Активные клиенты.

В этой таблице отображаются все активные сессии прокси-сервера, SOCKS и встроенного веб-сервера.

Сессия может быть принудительно закрыта - используйте кнопку или меню Delete.

Особый интерес может быть к полю Служ.TCP. Это поле по умолчанию скрыто. В нем отображается служебный внешний TCP-трафик, представляющий собой "довесок" к полезным данным. Это заголовки пакетов и служебные пакеты TCP-протокола. На классических прокси-серверах этот трафик не учитывется, что приводит к существенному занижению данных по трафику.


Журнал.

Здесь можно просмотреть записи журнала запросов прокси-сервера.

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

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

admproxylogprop

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

Ресурс, соответствующий записи в журнале, может быть тут же открыт браузером - используйте команду Открыть из меню консоли.

Особо следует пояснить поля:

Из кеша - если ресурс взят из кеша, то это его обьем в байтах.

Кеш-статус - сюда заносятся флажки операций с кешем:

· W - произведена запись в кеш,
· R - чтение из кеша,
· V -обьект из кеша был проверен.

Сочетания этих флажков могут означать следующее:

VW - объект есть в кеше, проверен, получен с сервера более свежий и записан в кеш.
VR - обьект есть в кеше, проверен и взят из кеша.

Эти данные могут быть полезны для отладки кеширования и оценки его эффективности.

Если была включена операция записи блокированных запросов, то для них значения Передано и Принято будут 0.


Внешние сети

Раздел консоли Внешние сети доступен, если при конфигурировании сервера выбран хотя бы один внешний интерфейс или разрешено его автоконфигурирование.

Здесь представлены настройки внешних счетчиков и сетевого экрана (firewall).

admextnet

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

Отсюда также доступны некоторые настройки - используйте кнопку или меню Properties (Свойства) в левой части консоли.

admextnetprop

SYN Attack protect - включение защиты в Windows от TCP SYN атак. Эта настройка вносит изменения в настройки TCP/IP в реестре системы. Для применения этого потребуется перезагрузка системы.


Контролируемые счетчики

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

admcontlist

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

В данном примере приведено 3 счетчика, и логично здесь разграничение трафика делать в соответствии с тарифами провайдера:

1. Мой провайдер - внутрисетевой бесплатный трафик провайдера.
2. Российский трафик - льготный трафик.
3. Internet - весь остальной трафик, не подпадающий под два предыдущих критерия.

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

Счетчики можно очистить через меню консоли, но лучше это делать автоматически скриптом через API автоматизации.

Для редактирования счетчиков используйте кнопку или меню Properties (Свойства) консоли.

Свойства контролируемых счетчиков делятся на:
· счетчик
· контроль
· статистика
· журнал

Счетчик.

admcontprop1
Обязательно введите имя счетчика.

Счетчик описывается IP адресами внешних сетей.

Счетчик типа на Весь трафик может быть только один и он присутствует по умолчанию.

Для других счетчиков пропишите IP-адрес или задайте IP сети в отдельном окне.

Примечание - любой текст длиной не более 255 символов.

Контроль.

admcontprop2

Здесь вводятся лимиты на предупреждение, перерасход и ежедневный лимит отдельно на прием и передачу.

Оповещать администраторов по почте - включить, если надо извещать об изменениях состояний счетчиков. Рассылки настраиваются в свойствах SMTP-служб.

ВНИМАНИЕ! Если рассылку включить, но SMTP-службу отправки сообщений не настроить, то сообщения будут скапливаться в очереди.

Разрешить блокировку внешнего трафика при превышении лимита - может использоваться, если соотв. опция была включена при конфигурировании сервера.

Если разрешена блокировка и произошел перерасход в счетчике на Весь трафик, то внешние сети будут полностью отключены. Если перерасход произошел в счетчике, где задан IP-адрес или сети, то заблокируются только эти сети. Блокировка срабатывает по лимиту и ежедневному лимиту.

Статистика.

admcontprop3

Записывать сетевую статистику - выберите, если надо вести детальную статистику трафика в контексте этого счетчика. Смотрите описание.

Здесь также надо указать способ сортировки записей в коллекторе. Отметим, что аналогичной настройки для сетевой статистики у клиентов нет, там используется сортировка в соответствии с их тарифами.

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

Журнал.

admcontprop4

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

При изменении состояния счетчика данные в журнал будут записаны независимо от этих настроек.


Информационные счетчики

Эти счетчики используются для анализа внешнего трафика. Смотрите Основные функции.

adminfoprop1

В этой таблице показаны некоторые настройки информационных счетчиков, текущее состояние и трафик по ним.

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

Счетчики можно очистить через меню консоли, но лучше это делать автоматически скриптом через API автоматизации.

Для редактирования счетчиков используйте кнопку или меню Properties (Свойства) консоли.

Свойства информационных счетчиков делятся на:
· счетчик
· статистика
· журнал

Счетчик.

adminfoprop2

Обязательно введите имя счетчика.

Счетчик описывается IP-адресами внешних сетей, а также, в отличие от контролируемых счетчиков, дополнительно можно задать тип IP-протокола и порты для TCP и UDP.

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

Примечание - любой текст длиной не более 255 символов.

Статистика.

adminfoprop3
Записывать сетевую статистику - выберите, если надо вести детальную статистику трафика в контексте этого счетчика. Смотрите описание.

Здесь также надо указать способ сортировки записей в коллекторе. Отметим, что аналогичной настройки для сетевой статистики у клиентов нет, там используется сортировка в соответствии с их тарифами.

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

Журнал.

adminfoprop4
Данные счетчиков могут записываться в журнал для формирования отчетов по трафику. Отчеты формируются единые для клиентов и внешних счетчиков, что позволяет вести сравнительный анализ. Интервал задает детализацию данных по времени.


Журнал внешних счетчиков

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

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

admextlist

При выводе списка выберите счетчик из списка, также можно задать интервал дат.


Сетевой экран

Сетевой экран (firewall).

Сетевой экран включается в процессе работы мастера конфигурирования. По умолчанию при его активации разрешены все исходящие запросы по TCP, UDP и ICMP (смотрите описание).

admfw

Если надо разрешить входящие запросы по TCP, UDP, ICMP или какой-то другой IP-трафик, то надо добавить фильтры на разрешение.

В данном примере разрешены запросы DHCP-клиента и FTP DATA для FTP клиента.

admfwprop

Протокол - задайте IP-протокол.

Для ICMP можно задать тип и подтип. Тип 8 подставляется по умолчанию - это ICMP ECHO Request, такой фильтр разрешает входящие ICMP- запросы.

Для TCP и UDP также можно задать диапазоны портов источника и приемника. Нажатием на кнопки рядом с портами введутся для них значения динамических портов (более 1023).

IPSec - композитный фильтр. Включает UDP/500 и IP-протоколы 50 и 51.

Если надо ограничить доступ только с конкретного внешнего IP-адреса или сети, то введите ее.

Также можно ввести и IP-адрес приемника. Если сервер имеет только один "белый" IP-адрес, то заполнять это значение смысла не имеет.

Отключить фильтр - можно временно отключить фильтр, не удаляя его из списка.

Примечание - любой текст длиной не более 255 символов.

Следует отметить, что для встроенного SMTP-шлюза 25 порт по TCP открывать не надо - он это сделает сам.


SMTP-службы

К этим службам относятся служба отправки сообщений и SMTP-шлюз - смотрите настройки SMTP-сервера и описание работы.

admsmtp

На главной странице этих служб отображается статистика службы отправки и иконки для быстрого доступа к некоторым настройкам.

Служба отправки отправляет сообщения, принятые SMTP-шлюзом и оповещения для администраторов. Если это используется, то ее обязательно надо настроить - используйте кнопку или меню Properties (Свойства) узла SMTP-службы консоли.

Свойства SMTP-шлюза делятся на:
· отправка сообщений
· оповещение

Отправка сообщений.

admsmtp1
Обязательно пропишите SMTP-сервер, на который будут отправляться сообщения. Можно использовать как имя хоста, так и IP-адрес. Этот сервер может находиться как во внутренней сети, так и на самом сервере доступа. В последнем случае, особенно если на нем используются еще и антивирусные шлюзы, возможно придется использовать порты, отличные от стандартного 25. Поменяйте порт в настройках, если надо.

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

Оповещение.

admsmtp2
Использовать оповещение администраторов по электронной почте - разрешает автоматические рассылки сообщений программой. В текущей версии имеются рассылки оповещения об изменении состояний контролируемых счетчиков и об фильтрации сообщений на SMTP-шлюзе.

Список рассылки - заполняется E-Mail-адресами, кому будут рассылаться сообщения.

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

Послать проверочное сообщение - можно сразу же проверить настройки службы отправки сообщений, послав пробное сообщение.


Очередь отправки

Список Очередь отправки позволяет просмотреть, сообщения, находящиеся в очереди у службы отправки сообщений. Учитывая, что SMTP-сервер, куда отправляются сообщения, как правило, находится во внутренней сети и проблем со связью тут обычно нет, то эта очередь обычно будет пустой.

Если все-таки сообщения тут скапливаются, то:

· Проверьте настройки службы отправки. Пошлите проверочное сообщение.
· Проверьте сам SMTP-сервер.
· Сообщение может нести в себе какую-то ошибку.

Для сообщения в очереди отображается его статус и сообщение об ошибке. Служба отправки сообщений при невозможности отправки будет пытаться его отправить повторно в течение какого-то времени (см. настройки), после чего удалит.

Эти сообщения очереди находятся на сервере в подкаталоге \MailRoot\Queue. Предусмотрена возможность их просмотра через консоль, для этого используйте кнопку или меню Properties (Свойства) консоли. Сообщение будет считано в виде стандартного EML-файла и будет запущено приложение, которое в системе используется для просмотра таких файлов. Как правило, это Outlook Express.

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

Если сообщение в очереди ошибочное или оно не нужно, то его можно удалить.


Журнал отправки

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

Для облегчения поиска имеется возможность получения выборки по различным критериям:

admsmtplog

Тут может быть задан интервал дат и условия поиска по отправителю, получателю и теме. Если Строгое соответствие не включено, то используется контекстный поиск. Строчные и прописные буквы не различаются.


SMTP-сервер

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

Разрешается работа шлюза в процессе работы мастера конфигурирования, где также можно задать порт сервера.

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

admsmtpserv
Для настройки сервера используйте кнопку или меню Properties (Свойства) узла SMTP-сервер консоли.

Свойства SMTP-сервера делятся на:
· соединения
· получатель
· фильтрация
· "черные" списки
· тарификация

Соединения.

admsmtpserv1

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

Тайм-аут простоя при соединении - по истечению этого времени при простое входящее соединение будет закрыто.

Максимальный размер сообщения - можно ограничить размер принимаемых сообщений.

Максимальное количество адресатов - введите для ограничения количества получателей для каждого сообщения.

Получатель.

admsmtpserv2

SMTP-сервер шлюза принципиально не может работать для пересылки (relay) сообщений произвольному адресату. Это сделано потому, что задача шлюза - это прием почты извне, ее фильтрация, учет трафика и пересылка на почтовый сервер, а рассылку почты наружу он не выполняет.

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

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

Фильтрация.

admsmtpserv3

В программе Traffic Inspector имеется некоторый набор мер по фильтрации нежелательной почты - СПАМА. Эти меры позволяют при минимальном участии администратора довольно эффективно отсечь большую часть сорной почты, но практически не затрагивая полезную. Смотрите описание SMTP-шлюза.

Проверять адрес отправителя - если отключить, то почта будет приниматься, когда адрес отправителя любой, в том числе и пустой.

Если включить, то будет проводится некоторый анализ на его правильность. Хотя протокол SMTP позволяет использовать любой адрес отправителя, а полностью проверить наличие почтового ящика у отправителя возможности нет, некоторый анализ адреса отправителя какое-то количество сорной почты отсекает.

Здесь прежде всего проверяется его синтаксис. Дополнительно можно использовать проверку домена адреса отправителя на наличие DNS MX записи. Если адрес отправителя верный, то для его домена такие записи обязательно должны быть.

Также имеется возможность подключить для проверки хостов отправителя RBL-службы. Они прописываются в отдельном списке и какое-то их количество при установке программы по умолчанию введено. Смотрите раздел по администрированию RBL-служб.

Таймаут запросов на RBL-службы - время ожидания ответов от служб. Служб может быть подключено много и запросы на них рассылаются одновременно. Если от какой-то из служб пришел ответ о блокировке, то ответы от остальных дожидаться смысла нет, сообщение отсекается. Иначе ответы от служб будут ожидаться в течение этого времени, пока не придут от всех.

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

Проверять через RBL-службы и черные списки после получения и проверки адреса отправителя и получателя - Если отключить, то проверка хоста отправителя будет производиться сразу после коннекта. Но это не позволит применить "белые списки" к адресам, так как эти адреса на этом этапе приема сообщения еще неизвестны.

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

"Черные" списки.

admsmtpserv4

"Черные списки" - это списки нежелательных отправителей электронной почты. Администратор может сам вручную его заполнять и вести.

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

Если это включить, то хосты отправителей будут попадать туда при наличие блокировок через RBL-службы или при фиксировании заданного количества попыток отправок отфильтрованной почты за какой-то промежуток времени.

Например, в данном примере:

· Если письмо, полученное с какого-то хоста было отфильтровано по RBL, то этот хост сразу заносится в "черный список" с блокировкой и будет из него удален только через 120 минут (2 часа), если с него не будет предприниматься повторных попыток отправки сообщений.
· Если письмо было отфильтровано по какому-то признаку, связанному с возможной рассылкой спама, то хост помещается в "черный список" как кандидат. Если в течение 10 минут таких попыток больше не было, он из "черного списка" удаляется. Если же с хоста набирается 2 попытки, то он ставится на блокировку и сообщения по нему будут немедленно отсекаться.

ВНИМАНИЕ!
При использовании этого механизма заполнения "черных списков" очень вероятно занесение в них SMTP backup серверов. Это такие сервера, которые прописаны в MX DNS почтовых доменов входящей почты как запасные. Для предотвращения внесения их в "черные списки" обязательно внесите их в "белые списки"!

Тарификация.

admsmtpserv5

Эти настройки управляют тарификацией и приемом почтовых сообщений для клиентов программы.


Соединения

В этом списке отображаются текущие входящие соединения SMTP-сервера почтового шлюза.


RBL-службы

Используйте этот список для администрирования подключенных RBL-служб.

admrbllist

Кроме параметров служб также отображается некоторая статистика их работы, позволяющая оценить их эффективность. Злоупотреблять большим количеством служб не стоит, так как они потребляют некоторый трафик. Можно собрать статистику и затем отключить не совсем эффективные.

admrblprop

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

DUL - Включить, если служба представляет DUL (Dial-up List). Это списки адресов модемных пулов провайдеров. Предполагается, что "правильный" отправитель почты отправит ее через SMTP-сервер, в то время как спаммеры часто отправляют почту напрямую, используя специальные программы рассылки. Анализ отправителя в DUL позволяет отсечь таким образом нежелательную почту. Но, если используется проверка RBL-службами в заголовках сообщений, DUL не должны использоваться, так как отсекут "правильного" отправителя.

Ссылка на WEB ресурс и Примечания - информативные поля, в программе непосредственно не используются.


Белые списки

Для того чтобы предотвратить нежелательную фильтрацию почты, используйте белые списки. Тут можно описать хост, IP-адрес отправителя и его E-Mail-адрес.

Наличие отправителя в белом списке имеет безусловный приоритет и это сообщение никогда фильтроваться не будет. Но, если в белых списках имеются E-Mail-адреса, необходимо в настройках SMTP-сервера включить позднюю проверку адресов.


Черные списки

Черные списки - это списки отправителей нежелательной почты.

admbllist

Они ведутся администратором, но также могут заполнятся автоматически - смотрите настройки.

Если хост попал в список автоматически, то администратор отредактировать эту запись не может, он может ее только удалить.

admbllistprop

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

Примечание - любой текст не более 255 символов.


Журнал блокировок

Каждый факт блокировки сообщения на SMTP-шлюзе фиксируется в журнале блокировок. В нем отображается различная информация о письме и причина его блокировки.

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


Отчеты

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

При больших размерах файлов и больших анализируемых интервалах формирование отчетов может занять некоторое время.

Детально различные задачи по формированию отчетов описаны здесь.


По трафику

Отчет по трафику.

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

Следует отметить, что сброс счетчиков клиентов путем рестарта из сессий и сброс внешних счетчиков на формируемую здесь статистику никак не влияет.

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

admreptraf1

Отчет имеет 4 страницы:

1. Графики по времени отдельно по каждому объекту - клиенту и счетчику. При этом может выводиться как скорость, так и трафик в мегабайтах. Здесь также может быть включена группировка данных по часам и суткам.
2. Суммарная статистика за отчетный период в виде горизонтальной гистограммы.
3. Суммарная статистика в виде таблицы. Кроме данных по трафику здесь также отображаются некоторые расчетные данные по билингу - начисленный трафик и отпущенные за трафик услуги. Так как единицы тарификации у клиентов могут быть разные, суммы по услугам имеют смысл, если в отчет включены клиенты, имеющие одинаковые единицы.
4. Круговая гистограмма суммарной статистики. Она выводится только по одному счетчику и одной категории обьектов - настройки этого отчета см. здесь.

Таким образом, в зависимости от настроек, здесь можно получить больше десятка различных отчетов.

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

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

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

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


Настройки

Отчет по трафику - настройки.

Для настройки отчета откройте окно редактирования через меню.

admreptrafprop1

Задайте отчетный период. По умолчанию даты выставляются на текущий день. Для удобства этот интервал может быть запомнен - включите опцию Запомнить даты.

Также здесь задается тип отчета:

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

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

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

Для внешних счетчиков данные Из кеша, Почтовый и Начисленный трафик смысла не имеют и никак не отображаются.

admreptrafprop2

admreptrafprop3

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

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


Билинг

Отчет по событиям тарификации.

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

admrepbill

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

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

Обновить список - можно обновить список клиентов, если в процессе работы он изменился.


Сетевая статистика

Отчет по сетевой статистике.

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

Для знакомства с описанием работы сетевой статистики смотрите раздел. Общие настройки для этой службы приведены здесь.

admrepns

Сверху можно выбрать обьекты статистики - клиенты или внешние счетчики. Запись статистики для этих обьектов должна быть разрешена - для клиентов смотрите здесь, для внешних счетчиков здесь и здесь.

Текущий - если включено, то отображается текущая сетевая статистика, считываются из коллекторов. Автообновление - если включить, то данные будут периодически обновляться.

Для формирования отчета за период времени выключите опцию Текущий и в появившихся полях ввода задайте интервал. Нажмите Обновить.

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

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

Для анализа IP-адресов на предмет хозяина сети - регистранта, имеется возможность сделать запрос через службы WhoIs или NetGeo - используйте меню Информация о сети или просто дважды кликните мышью. Также можно попытаться открыть WWW-страницу - используйте соотв. меню.

Для настройки отчета можно вызвать окно, нажав меню или кнопку Properties.

admrepnsprop1

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

Список в отчете можно отфильтровать - для этого используйте меню Фильтр или кнопку на панели консоли.

admrepnsprop

В окне фильтра можно задать выборку по хосту или IP адресу, IP протоколам и портам.


Диагностика

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

События.

Таблица системных сообщений сервера. Здесь выводятся только некоторое количество последних сообщений сервера и только за время его работы. Все эти сообщения пишутся в Application Log операционной системы, и могут быть там просмотрены в полном объеме стандартными средствами.

Сетевые настройки.

Полный аналог команды ipconfig -all Windows, но позволяет удаленно проверить сетевые настройки сервера.

Таблица маршрутов.

Аналог системной команды route print, в отличие от нее работает удаленно.

TCP/UDP-сокеты.

Аналог команды netstat Windows. Показывает открытые сокеты и TCP-соединения на сервере. В отличие от нее дополнительно отображает имена процессов и позволяет работать удаленно.

По умолчанию отображаются только открытые сокеты, привязанные к внешним интерфейсам. Но через меню показать все можно включить отображение всех.

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

Отчет.

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

Также из раздела диагностики можно вызвать WhoIs сервис - используйте меню консоли.


WhoIs

WhoIs сервис.

Этот сервис используется для определения "хозяев" - регистрантов IP-адресов. Его можно вызвать из отчетов по сетевой статистике или отдельно из раздела Диагностика.

Кроме стандартной службы WhoIs можно также использовать NetGeo. Эта служба для многих IP-адресов сообщает местонахождение регистранта, хотя не всегда точно.

admwhois


Редактирование сетей.

Это окно ввода и редактирования списка сетей используется в различных случаях, например во внешних счетчиках или таблице LAT автоконфигурирования браузеров клиентов.

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

admnetedit

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


IP-адреса для интранет-сети.

Для внутренних IP-сетей в соответствии с документом RFC1918 назначены следующие сети:

· 10.0.0.0 - 10.255.255.255 (10/8 prefix)
· 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
· 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

Использование других адресов недопустимо!

ВНИМАНИЕ! При использовании службы "Internet connection Sharing", имеющийся во всех версиях Windows 2000/XP,
возможно использование только сети 192.168.0.0/24 (маска 255.255.255.0), причем серверу должен быть назначен адрес 192.168.0.1.


Внутренние сервера

Внутренние сервера - это серверные приложения во внутренней сети, работающие с Интернет.

Авторизацию для них надо делать или по IP-, или по MAC-адресам. Доступ назначать безлимитный.

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

Для почтового сервера (например, Microsoft Exchange) можно применить такие настройки:

· В группе задаем Блокировать весь трафик по умолчанию и снимаем Использовать общие фильтры.
· Добавляем фильтр, разрешающий ICMP - это может потребоваться для диагностики. Отметим, что ICMP будет доступно только для исходящих запросов.
· Если внутреннего DNS сервера нет, то пропишите разрешения на исходящие запросы - добавьте 2 фильтра по TCP и UDP c портом назначения 53.
· Для разрешения исходящего SMTP (отправка почты) добавьте фильтр по TCP с портом назначения 25.
· Для приема почты добавьте фильтр на TCP с портом источника 25.

По этой аналогии можно настроить и другие сервера (например, веб-сервер). Но для них заведите отдельную группу.

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

Очень неплохо такие сервера вынести в DMZ - смотрите это решение.


Тарифные планы

Возможности программы позволяют создавать много различных тарифных планов. Кроме заданий базовых тарифов для клиентов имеются возможности:

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

Тариф с ежемесячным добавлением лимита.

Простой вариант для офисной сети. Клиент работает с автоотключением и ему ежемесячно добавляется лимит (вводится оплата). Лимит добавляет администратор вручную или используется автоматический запуск скрипта - он уже есть готовый.

Лимит лучше сразу описать в тарифе - заполнить поле Оплата по умолчанию. Тогда при старте сессии клиента администратором или при автодобавлении клиента оплата сразу будет введена.

В этом случае неиспользованный лимит за прошлый месяц переносится в новый. Если клиент лимит досрочно исчерпает, до он может быть добавлен отдельно.

Сессии клиентов в этом случае не сбрасываются - счетчики накапливаются по нарастающей.

Тариф с ежемесячным лимитом без переноса остатков.

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

Лимит трафика может быть задан как в виде предоплаченного трафика в тарифе или просто добавлением лимита при старте сессии. Второй вариант предпочтительнее - наличие предоплаченного трафика в тарифе вносит некоторые сложности при работе с отчетами по трафику.

Если при старте сессии будет добавляться лимит - его лучше сразу описать в тарифе, заполнив поле Оплата по умолчанию.

Тариф с ежемесячным лимитом с переносом остатков.

"Классический" вариант для провайдера, но может применяться и для офисной сети.

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

Тарифы по расписанию.

Для провайдера может потребоваться назначение разных тарифов в разное время суток или дней недели - например, скидки в ночное время или по выходным дням. Это можно реализовать добавлением фильтров, активирующихся по расписанию. Отметим еще раз, что в фильтрах сам тариф не задается, а только скидка в % от стоимости трафика.

Кроме скидок на весь трафик, можно задавать скидки и на выборочный тип трафика - например, на игровой сервер.

Платный трафик из кеша.

В некоторых случаях может потребоваться трафик из кеша сделать платным.

Например, в домовой сети, стоимость этого трафика 50% будет стимулировать клиентов использовать прокси-сервер и кеш, и при этом даст дополнительную экономию трафика самому провайдеру. Отметим, что если на какой-то вид трафика имеются скидки, то они также будут распространены на трафик из кеша.

Скидки на различный трафик.

Если эти скидки определяются тарифами Вашего провайдера, то эта тема описана в следующем разделе.


Льготные сети

Льготные и бесплатные сети

Если у провайдера есть скидки на некоторый тип трафика, то логично эти скидки распространить и на клиентов.

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

Рассмотрим пример.

У провайдера имеется своя сеть с адресами 11.100.100.0/22 и 11.100.200.0/24. Трафик на нее бесплатный. Также он дает отдельный тариф на национальный трафик и публикует списки этих сетей в Интернет. В качестве примера укажем российский список компании Зенон или список украинских сетей.

Чтобы корректно оценить трафик, потребленный у провайдера, надо иметь 3 контролируемых счетчика - Мой провайдер, Национальный трафик и Весь Интернет - тем самым потом можно будет разобраться, сколько какого трафика потребили и насколько корректно выставлен нам счет.

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

Важный момент - сети Мой провайдер, скорее всего, войдут в сети национального трафика. Поэтому счетчик Мой Провайдер в списке надо сделать первым!

Настраиваем на счетчиках лимиты, если надо отслеживать расход трафика по этим направлениям, и включаем оповещения.

Теперь настраиваем тарифы для пользователей.

Определяем скидку на национальный трафик у провайдера - для своих клиентов даем такую же. Для ввода скидки создаем в общем списке фильтр Для клиентов, Только для тарификации и со списком. В список импортируем сети. Вводим стоимость трафика (в %).

Для внутренней сети провайдера полностью бесплатным трафик, например, делать не хотим.

У него есть игровой сервер с адресом 11.100.100.25. На него делаем трафик бесплатным. На остальные его сети делаем стоимость 10%. Для этого прописываем 2 фильтра. Для игрового сервера стоимость даем 0%.

Тут следует учесть следующее - если трафик подпадает под несколько фильтров, меняющих его стоимость, то правило будет применено несколько раз. Например, если трафик подпал сразу под Национальный с 50% и Местный с 10%, то результатом будет его стоимость 50% * 10% = 5%. Это надо обязательно учитывать при определении скидок. В нашем случае для игрового сервера всегда получим бесплатный трафик 0%.

Если у клиентов есть группы, которые общие фильтры не используют, то для них в их группах придется эти правила продублировать.

Может быть ситуация, когда надо не только сделать какие-то внешние ресурсы бесплатными, но и открыть их для всех. Например, есть игровой клуб, у провайдера есть игровой сервер и надо, чтобы клиенты могли всегда без проблем работать с этим сервером независимо от того, разрешен ли у них выход в Интернет.

Для этого в общий список фильтров добавляем фильтр на разрешение Для всех и прописываем там IP-адрес игрового сервера. Этот фильтр полностью откроет доступ на этот сервер для всех из внутренней сети независимо от того, авторизован клиент или нет.

На эту задачу похожа еще одна. У фирмы есть филиал и внутренние сети объединены через VPN. Трафик между этими сетями должен быть всегда разрешен для всех. Эта задача также решается добавлением фильтров на разрешение Для всех, где прописываются внутренние сети удаленного офиса.

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

Для этих примеров надо также для авторизованных клиентов сделать трафик бесплатным - добавить еще один фильтр.


Администрирование из Интернет

При работе с программой может потребоваться удаленное администрирование через Интернет - из внешних сетей.

Самый оптимальный вариант с точки зрения безопасности и требования к качеству канала - это терминальный сервер, но он есть только в серверных версиях Windows. Настройка программы в этом случае сведется к разрешению на firewall TCP-соединений на локальный порт 3389.

Если канал до удаленного администратора достаточно скоростной и стоимость трафика при этом значения не имеет, то можно работать консолью программы, настроив DCOM для работы через Интернет. Задача настройки безопасности в этом случае непростая и рекомендуем этот вариант применять только если IP-адрес удаленного администратора заранее известен и гарантированно принадлежит только ему.

Надстройка DCOM для Интернет называется CIS - COM Internet Service, детально описана для серверной стороны и для клиентской стороны.


VPN PPTP-сервер.

VPN PPTP-сервер для защищенного подключения клиентов может быть настроен на серверных версиях Windows 2000/2003 на одном компьютере с Traffic Inspector. Он настраивается как сервер удаленного доступа (RAS-сервер) в службе RRAS. О настройке см. тут.

Трафик VPN-клиентов должен сниматься с интерфейса Internal службы RRAS. Но на этом интерфейсе не работает фильтрация и, как следствие, механизм отключения пользователей. Снимать же трафик с интерфейса внутренней сети некорректно, так как на нем будет сниматься PPTP-трафик и данные о трафике будут сильно завышены. Кроме того, в сетевую статистику попадет PPTP-трафик, а не реальный.

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

Для этого решения есть ограничения:

· Компьютеры клиентов должны быть подключены через интерфейс внутренней сети. Этот интерфейс должен быть назначен в Traffic Inspector.
· Поддерживается только протокол PPTP.
· Компьютеры клиентов должны иметь фиксированные IP-адреса, VPN-клиенты также. Будет работать только авторизация по IP-адресу. Но агента для управлениея режимами работы использовать получится.
· Интерфейс Internal также должен быть назначен, поэтому версия программы с одним внутренним интерфейсом (HomeNet, например) не подойдет.
· Так как фильтрация на интерфейсе Internal не работает, не будут работать фильтры клиентов через NAT. Но ограничения трафика можно организовать средствами политик RRAS-сервера.

Порядок настройки следующий:

1. Настраиваем RRAS. При этом обязательно явно назначаем пул IP-адресов для VPN-сервера (в окне общих настроек RRAS). Самый первый адрес из этого пула возьмет сам сервер, а остальные распределяем клиентам. Также обратите внимание на количество выделенных портов для PPTP. По умолчанию там 5. Это значение должно соответствовать максимальному количеству соединений. Измените, если надо.
2. Настраиваем NAT. Интерфейс Internal назначаем в NAT как внутренний.
3. В Traffic Inspector со стороны внутренней сети должен быть разрешен PPTP на IP-адрес интерфейса внутренней сети. Если предустановленный фильтр Для всех на этот интерфейс не трогали, то PPTP он разрешит. Но для коммерческой сети следует этот фильтр заменить разрешениями на конкретный трафик. Оставьте ICMP и DNS (если DNS служба есть). Для PPTP пропишите фильтр на TCP/1723 и на протокол с номером 47.
4. Пропишите в Windows VPN-клиентов. Если есть домен, то в нем, если нет, то локально. В свойствах клиента на закладке Dial-In обязательно пропишите адрес VPN-клиента (из пула адресов RAS-сервера).
5. Далее надо добавить интерфейс Internal в Traffic Inspector. Там он будет виден под названием WAN (PPP/SLIP)-interface и IP-адрес на нем будет первый из пула IP-адресов RAS-сервера. Но после старта RRAS этот интерфейс, как правило, не активен. Чтобы он появился, надо подключиться хотя бы одним клиентом.
6. В Traffic Inspector пропишите клиентов. Авторизация только по IP-адресу. В поле IP-адреса клиента прописываем адрес VPN-клиента из пула адресов RAS-сервера, в поле PPTP-клиента указываем IP-адрес компьютера.
7. В агенте у клиента прописываем IP-адрес RAS-сервера. Это первый адрес в пуле, тот, который у интерфейса Internal. Имя и пароль вводятся любые, при авторизации по IP-адресу они значения не имеют, но ввести их надо, иначе агент может выдать сообщение об ошибке. Этот же IP-адрес надо использовать для прокси-сервера и сервера статистики.
8. Процедура более тонкой настройки VPN-сервера описана в справке Windows. Дополнительно может потребоваться настройка PPP-параметров (компресии, аутентификации, шифрования и т.д.) и фильтрации в политиках RAS сервера.

Если что-то не работает, то:

1. Если VPN-соединение не устанавливается, то включите запись всех логов RAS-сервера, остановите Traffic Inspector и проверяйте без него.
2. Если без Traffic Inspector соединение устанавливается, а с ним нет, то проверьте, разрешен ли PPTP со стороны внутренней сети и не заблокирован ли клиент.


ISA сервер

Microsoft ISA Server - мощный сервер, представляющий модульную платформу. Хотя Traffic Inspector решает большинство задач, могут быть ситуации, когда его использование необходимо (например, применяются специфичные Application Filter).

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

Следует отметить недостатки применения ISA сервера:

· Будут использованы не все возможности Traffic Inspector. Хотя тут все зависит от выбора служб и настроек. См. далее.
· SecureNAT в ISA сервере не работает с WAN-интерфейсами RRAS. А точнее, ISA сервер вообще не видит эти интерфейсы. Хотя дозвон для RAS соединений имеется, но поддержка WAN и VPN на этом заканчивается.

ISA Server состоит из 2-х основных компонент:

· Firewall service. Включает NAT, подключает внутренних клиентов через редиректор winsock и включает внешний firewall. Особый интерес также представляют подключаемые дополнительные Application Filter, которые решают самые различные задачи, и которых уже довольно много выпущено как Microsoft, так и другими производителями.
· Proxy service. Кешируемый HTTP/FTP прокси-сервер.

Эти 2 компонента ISA Server могут быть установлены как вместе, так и по отдельности.

Если у ISA server установлен только прокси-сервер, то в Traffic Inspector может быть задействовано все без ограничения. Надо только прокси-сервера разнести по разным портам.

У Traffic Inspector прокси-сервер вообще отключать не стоит, так как через него работает веб-сервер статистики.

Если у ISA сервера установлена служба firewall service, то в Traffic Inspector надо отключить все, что использует фильтры на внешних интерфейсах, иначе произойдет конфликт. Это служба firewall и функция блокировки трафика на внешних счетчиках. Обе эти опции отключаются на одной странице мастера конфигурирования.

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

Firewall Client использовать не стоит. Ввиду того, что эта служба использует транспорт сети Windows, будет почти невозможно отделить трафик Интернет от служебного. Надо использовать SecureNat. Этот механизм обычно стараются не применять из-за отсутсивия аутентификации, то в данном случае это несущественно, так как ограничение доступа сделает Traffic Inspector.

Трафик через SecureNat идет транзитный и поэтому для его учета никаких особых настроек в Traffic Inspector делать не надо.

Авторизацию и аутентификацию должен делать Traffic Inspector. Это однозначно так, так как он считает трафик. Поэтому в ISA сервер аутентификацию можно вообще отключить. Т.е. в политиках разрешить всем все.

Прокси-сервер можно использовать как от Traffic Inspector, так и от ISA. Можно настроить даже оба сразу.

Прокси-сервер от Traffic Inspector намного более функциональный, более эффективно экономит трафик на кеше. У ISA сервер он более производительный. SOCKS-сервер также можно использовать тот или другой.

Если Вы будете использовать прокси-сервер от ISA, то у Вас не будут работать фильтры приложений в Traffic Inspector, переключение клиентами режимов фильтрации и кеширования.

Если используются HTTP, FTP, SOCKS или другие сервера от ISA сервера, то в Traffic Inspector надо:

1. Включить учет трафика для этих служб. Трафик на них пойдет на IP-адрес локального интерфейса, а он по умолчанию бесплатный. Для того, что-бы сделать его платным, добавьте фильтры для тарификации на порты этих служб. В фильтре укажите протокол (TCP) и в качестве адреса локальный интерфейс.
2. Включить управление этим трафиком. В программе имеется предустановленный разрешающий фильтр на локальный интерфейс для всех. Из-за него доступ на эти службы ISA сервера будет всегда разрешен. Поэтому его придется удалить. После этого доступ на этот сервер изнутри сети будет разрешен только для авторизированных клиентов. Если надо разрешить доступ на этот сервер всем для сети Windows, то придется прописать разрешения для всех протоколов сети.

Если используется firewall от ISA сервер, то следует учесть что SOCKS или FTP прокси-сервер от Traffic Inspector не сможет управлять им. Поэтому не все будет работать.


Примеры

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


Простая сеть

Классический вариант. Сеть состоит из одного или нескольких Ethernet-сегментов и подключена к Интернет через сервер доступа с ОС Windows. Это типичный случай для небольшой или средней организации , простой домовой сети или компьютерного клуба.

sol1
Traffic Inspector устанавливается на сервер доступа. Для доступа в интернет из внутренней сети используется NAT Windows и прокси-сервер программы Traffic Inspector. На сервере программа работает с одним внешним и одним внутренним интерфейсами. Для варианта домовой сети под рабочими станциями подразумеваются подключенные клиенты.

Для защиты сервера извне используется firewall. Это может быть встроенный сетевой экран программы Traffic Inspector.

На сервере доступа также могут быть установлены почтовый сервер или другие прокси-сервера - например SOCKS. Также может потребоваться установка антивирусного шлюза, так как в Traffic Inspector это пока не реализовано. Почтовый сервер может находится и внутри локальной сети - смотрите вариант. Также внутри сети могут находиться и другие сервера, например WEB. Они могут быть опубликованы через NAT.

Следует отметить, что подключение к Интернет может производится не напрямую, а через какое-нибудь "железное" устройство вроде файерволла. Оно также может использовать NAT и тогда все IP-адреса за ним будут внутренними. В этом случае, наверное, целесообразно NAT на сервере доступа не использовать и настроить его как роутер.


Офисная сеть

Простейший вариант - один внутренний сегмент и сервер имеет 2 интерфейса - внешний и внутренний.

sol1
Для начала сразу выставите ограничения доступа с консоли. Если домена нет, то введите пароль. Также назначьте группу администраторов. Если домена нет, то используется локальная группа сервера, если есть - то группа домена.

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

Далее прописываем пользователей и назначаем группы. Перед этим надо определиться с тарифными планами и политиками доступа.

Тема построения тарифных планов подробно изложена здесь.

Всех пользователей рекомендуется авторизовать по имени, выделенные сервера - по IP или MAC. Если есть домен Windows, то лучше всего применить windows-аутентификацию, но могут быть ограничения для Windows 95/98/ME. Именно для этого случая можно:
· Если необходима работа только с веб и почтой, используется Internet Explorer, а почтовый сервер внутренний, то можно NAT не использовать. В этом случае агента можно не ставить, а в прокси будет работать NTLM-аутентификация - пароль каждый раз запрашиваться не будет.
· Если нужен NAT, то придется авторизоваться агентом. При этом интегрированная Windows-аутентификация работать не будет - у клиента придется прописывать пароль.

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

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

Если предполагается работа с внешними бесплатными сетями или сетями, имеющими льготный трафик - то эти вопросы описаны здесь.

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

Если группы назначаются, то:
· введите общий тариф. Это поможет минимизировать количество групп - часть пользователей можно вообще оставить в общем списке или на группе своих тарифов не назначать.
· введите тариф для группы.
· если для группы предусматриваются ограничения по типу трафика, то разрешите для нее фильтрацию. У нее после этого появится список фильтров для группы. Если для клиентов группы предполагается строго ограниченный доступ к определенным ресурсам, то установите Блокировать весь трафик по умолчанию.
· Пропишите фильтры для группы, если это надо. Если было включено Блокировать весь трафик по умолчанию, то не забудьте задать хотя бы один фильтр на разрешение!

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

Назначьте пользователю права для автодобавления. Для этого выберите группу домена. Лучше всего в домене для этого завести новую группу. Новый клиент может быть сразу помещен в свою группу. Для этого надо в домене завести группы и в настройках групп Traffic Inspector выбрать эти группы домена. Заметим, что консоль администрирования пользователей в Active Directory позволяет делать групповые операции, поэтому эти процедуры даже для большого количества пользователей можно выполнить очень быстро.

В тарифе есть поле Оплата по умолчанию. Если оно не нулевое, то новый клиент будет добавлен с автоотключением и ему будет добавлена эта сумма, если нет, то он будет добавлен с безлимитным доступом.

Настройте, если надо, запись логов клиента. По умолчанию она включена с интервалом 10 минут. Здесь есть общая настройка для всех и индивидуальная для клиента.

Также настройте, если надо, запись сетевой статистики клиента. По умолчанию она включена, но распознавание имен через DNS отключено. Не следует ее включать, если клиентов будет больше 100 или ресурсов компьютера недостаточно.

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

Firewall, как правило, настраивать не надо - достаточно просто включить в мастере конфигурирования. В нем по умолчанию имеются разрешения на DHCP-клиента и FTP DATA для активного режима FTP.

Настройте внешние счетчики. Если у провайдера есть льготные или бесплатные сети, то добавьте отдельные контролируемые счетчики на них - см. подробно. Также на контролируемые счетчики выставьте лимиты. Включите оповещение для администраторов, но это потребует настройки SMTP службы и списка рассылки.

Запись в журнал у внешних счетчиков по умолчанию включена и сетевая статистика уже настроена.

Далее раздайте клиентских агентов и проверьте работу клиентов.

Проверьте работу клиентской статистики на веб-сервере. Настраивать, как правило, ничего не надо. Можно только поменять название сети SMART-SOFT на свое - для этого подредактируйте файл common.xml в каталоге wwwroot.


Сеть провайдера

В отличие от офисной сети, настройка программы для сети провайдера (домовой) несет некоторые отличия.

Сеть провайдера может быть простой - клиенты подключены к одному внутреннему интерфейсу. Домен Windows в такой сети, как правило, отсутствует, и авторизовать клиентов надо по имени и паролю.

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

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

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

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

Публичная сеть - это когда предоставляются платные услуги путем подключения клиентов через свою сеть. Особенности организации "последней мили" значения не имеют. Для такого публичного сегмента ввиду его неподконтрольности администратору должны применяться дополнительные меры безопасности.

Для этого на сервере доступа Traffic Inspector настраивается на работу с несколькими внутренними интерфейсами и к сетям могут быть применены различные политики доступа.

Клиентам также могут назначаться "белые" IP-адреса и на них могут маршрутизироваться подсети. В этом случае сервер доступа выступает роутером. Для минимизации количества требуемых "белых" IP-адресов назначаемых клиентам также можно использовать IP-Address Mapping службы NAT.


Сеть с почтовым сервером

Почтовый сервер, находящийся внутри сети, может быть опубликован через SMTP-шлюз программы Traffic Inspector. Но это доступно только для версий PRO и LITE. Иначе можно воспользоваться публикацией через NAT. SMTP-шлюз тарифицирует входящий почтовый трафик. Если он не используется или надо также тарифицировать исходящий почтовый трафик, то следует использовать это решение.
solsmtp

Здесь Traffic Inspector для учета почтового трафика клиентов использует режим "прослушки". Если локальная сеть использует коммутаторы (switch), то потребуется сервер доступа и почтовый сервер подключить через концентратор - HUB. Отметим, что анализировать почтовый трафик получится, если клиенты используют стандартные протоколы SMTP, POP3 и IMAP. Этот TCP-трафик на порты 25, 110 и 143 почтового сервера должен быть прописан в программе Traffic Inspector как платный.

Если используется Microsoft Exchange и клиенты используют Outlook, то их почтовый трафик таким способом учесть не получится. Возможен только учет входящей почты с использованием SMTP-шлюза.

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

Чтобы все-таки нормально учесть почтовый трафик, можно для почтового сервера на сервер доступа установить еще одну сетевую карту, назначив на нее отдельную IP-подсеть и не прописывать этот интерфейс в Traffic Inspector, или почтовый сервер вынести в DMZ - смотрите следующий раздел.

Но если почтовый сервер все-таки находится в локальной сети, то самое предпочтительное решение - это для учета входящей почты использовать SMTP-шлюз, а для отправки почты поставить на сервер доступа поставить отдельный SMTP-сервер, например, входящий в Windows 2000 Server.


Сеть с DMZ

Если имеются сервера с публичными Интернет-службами - WEB, FTP или другими, то их можно вынести в DMZ - специальный сегмент сети ( "демилитаризованную зону"). Это предпочтительно, если для размещения этих служб на сервере доступа не хватает ресурсов и нужны дополнительные меры по безопасности.
soldmz
С точки зрения возможности взлома наиболее уязвимы именно те службы, у которых открыты порты на прием. Если на самом сервере доступа таких служб нет, то и сломать его напрямую будет невозможно. Служба Firewall программы Traffic Inspector полностью закрывает такую возможность извне. А WEB-сервера довольно уязвимы из-за их сложности и наличия в них скрытых ошибок. Также довольно легко может ошибиться и администратор при их настройке.

Сервера в DMZ и все остальное должно быть настроено так, чтобы в случае их взлома внутренняя сеть никак не пострадала. Эти сервера не должны входить в домен Windows, поэтому, например, серверу Microsoft Exchange здесь не место.

Если не требуется учитывать трафик отдельно для служб серверов сети DMZ, то в программе Traffic Inspector интерфейс этой сети можно совсем не описывать. Это позволит использовать версию STANDART, для которой можно прописать только один внутренний интерфейс. Но тогда для защиты сервера доступа и внутренней сети из сети DMZ надо принять отдельные меры, например настроить службу RRAS Windows на фильтрацию трафика.


Сеть с интернет через устройство доступа

solbill
В этом случае Traffic Inspector выполняет функции сервера билинга. Он использует единственный внутренний интерфейс. Для учета трафика он должен использовать режим "прослушки". Как и в варианте с почтовым сервером, если локальная сеть использует коммутаторы (switch), то потребуется сервер билинга и устройство доступа подключить через концентратор - HUB.

Однако этот вариант применения ограничен тем, что блокировка клиентов будет невозможна - Traffic Inspector не умеет управлять фильтрацией трафика на другом оборудовании. Для реализации всех функций блокировки трафик должен обязательно идти через сервер, где установлена программа.


Сеть с VPN

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

Если требуется защищенное подключение клиентов с шифрованием трафика, то для этого также может использоваться VPN. VPN-сервер может быть настроен на самом сервере доступа. При этом Traffic Inspector сможет нормально считать трафик VPN-клиентов и управлять их работой. Это решение подробно описано здесь.


Работа с агентом

Агент - небольшое приложение, запускаемое у пользователя. Он предназначен для:

· Авторизации клиента.
· Переключения режимов фильтрации и кеширования.
· Отображения баланса - остатка на счете.
· Смены пароля.
· Конфигурирования Internet Explorer.

agent

Меню программы доступно через правую кнопку мыши или кнопку "?".

Агент всегда стоит в автозапуске через реестр и сворачивается в иконку в трее панели задач. Имеется окошко конфигурирования:

agentprop

Сервер - прописывается имя сервера или его IP-адрес.

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

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

При установке агента ярлыков программы не создается - имеется апплет панели управления. Запустить агента можно оттуда.


Программирование

В своих собственных программах и скриптах Вы можете использовать интерфейс автоматизации Трафик Инспектора.

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

· Требования к билингу очень разнообразны, зависят от конкретного применения и просто невозможно заранее учесть все возможные пожелания.
· Любое усложнение самой программы влечет за собой увеличение размера кода, снижение эффективности и увеличивает вероятность появления ошибок.

Поэтому в Traffic Inspector реализован COM-интерфейс, позволяющий из любого приложения работать с билингом, расширяя возможности программы. Чаще всего это может потребоваться, например, для следующих операций:

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

По простому для выполнения этих операций может быть использован стандартный Scripting Host Windows и для запуска vbs файлов по расписанию можно задействовать службу Sheduler Task Windows. При установке сервера в отдельный каталог scripts помещается некоторый набор скриптов в качестве примеров. Используйте их как шаблон для написания собственных сценариев.

Доступ через API к системе билинга возможен из любых приложений, поддерживающих интерфейс COM автоматизации - это семейство Microsoft Office, 1С предприятие и многие другие.

API-интерфейс поддерживает и удаленную работу через DCOM, но для этого само приложение должно уметь это делать.

Функции API-интерфейса также используются в клиентском веб-сервисе.


Описание интерфейса

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

Для инициализации интерфейса используется строка ClassId "TrafInsp.TrafInspAdmin". Для VB это выглядит так:

set Srv = CreateObject("TrafInsp.TrafInspAdmin")

Дальше необходимо ввести пароль, иначе все дальнейшие операции будут недоступны:

Srv.APILogon("Password")

Здесь Password - это пароль, заданный при конфигурировании.

Функции, доступные для вызова через интерфейс:

APIGetBillProp | Чтение данных тарификации
APISetBillProp | Запись данных тарификации
APIGetUserState | Чтение состояния пользователя
APISetUserState | Запись состояния пользователя
APIGetAttr | Чтение атрибутов
APISetAttr | Запись атрибутов
APIPushUserLog | Запись состояния пользователя в журнал
APIGetFilterProp | Чтение данных фильтра
APISetFilterProp | Запись данных фильтра
APIReadUserLog | Чтение файлов журнала
APIReadLogXML | Чтение файлов журнала в XML формате
APIResetExpCounter | Сброс внешних счетчиков
APIDNSResolve | Преобразование IP-адресов или имен через DNS
APIWhoIs | Запрос об IP-адресе через службу WhoIs или NetGeo
APISchemaAttr | Получение символического имени атрибута
APISchemaFindAttr | Поиск атрибута по символическому имени
APIBlockReasonAsString | Получение описания кода блокировки
APIBillTraffTypeAsString | Получение описания типа учета трафика
APIBillModeAsString | Получение описания режима работы клиента
APISessStateAsString | Получение описания состояния сессии клиента
APIServiceAsString | Получение описания сервиса
APIServiceSetAsString | Получение описания набора сервисов
APIIPProtoAsString | Получение описания IP-протоколов
APIAppProtoAsString | Получение описания протоколов приложений
APIAddUser | Добавление пользователя
APIDeleteUser | Удаление пользователя
APISaveUserConfig | Сохранение данных всех пользователей

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

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

Также отметим, что для пользователя его отображаемое имя явно может быть не задано. В этом случае оно будет генерироваться на основе его идентификатора - логина, IP-адреса, MAC или E-Mail.

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


APIGetBillProp

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

Data = APIGetBillProp(ObjType, ObjID)

ObjType - Тип запрашиваемых данных. Может принимать значения:

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

ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

Если ObjType = 1, то этот параметр игноируется.

Если ObjType = 2, и ObjID пустая строка, то выводится список групп, иначе выводятся параметры для конкретной группы.

Если ObjType = 3, и ObjID пустая строка, то выводится список всех пользователей, иначе если ObjID задает группу, то выводится список пользователей этой группы, а если ObjID задает пользователя, то выводятся параметры этого пользователя.

Data - возвращаемые данные в виде одномерного массива для одиночного объекта или в виде двумерного массива (таблицы) для списка объектов.

Формат выводимых данных следующий:

0 | Имя пользователя или группы
1 | GUID обьекта (пользователя или группы)
2 | Если обьект - пользователь, то здесь выводится GUID его группы.
3 | Если обьект пользователь или группа, то тут выводится boolean значение, означающее что у этого объекта настройки тарификации применяются по умолчанию. Если это так, то следующие параметры берутся из общих настроек или из настроек группы пользователя.
4 | Способ тарификации трафика. См. далее.
5 | Цена за трафик
6 | Предоплаченный трафик
7 | Цена за время (абонентская плата).
8 | Кредитный лимит

Способ тарификации трафика отображается значением:

0. Входящий.
1. Исходящий.
2. Сумма входящего и исходящего.
3. Максимальное значение входящего и исходящего.

Смотрите пример использования.


APISetBillProp

Эта функция используется для изменения параметров тарификации. Ее можно применить для общих настроек, групп и клиентов.

Ret = APISetBillProp(ObjType, ObjID, Price, TraffExclude, PriceTime, CacheCost, MailCost, Cash, AdminName, AdminNote)

ObjType - Тип запрашиваемых данных. Может принимать значения:

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

ObjID - идентификатор клиента или группы. Обязательный параметр, эта функция может применяться только к одному обьекту.

Price - цена трафика.
TraffExclude - предоплаченный трафик.
PriceTime - абонентская плата.
CacheCost - стоимость трафика из кеша в % от тарифа. Вводится целое значение.
MailCost - стоимость почтового трафика в % от тарифа. Вводится целое значение.
Cash - сумма оплаты. Отметим, что это значение к существующему не добавляется, а переписывает имеющееся. Имеет смысл только для клиента.

Если для этих параметров вводятся отрицательные значения, то они игноируются. Это обстоятельство можно использовать для того, чтобы изменять параметры выборочно.

Значения CacheCost и MailCost округляются до целого, и ничто не мешает занести более 100%.

AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.
AdminNote - любое примечание, также заносится в файл журнала.

Заметим, что запись в журнал будет произведена только, если были заданы AdminName или AdminNote.

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


APIGetUserState

Эта функция отображает текущее состояние клиента.

Data = APIGetUserState(UserID)

UserID - идентификатор клиента. Может быть GUID или его отображаемое имя.

Data - возвращаемые данные состояния пользователя в виде одномерного массива, формат их следующий:

0
Отображаемое имя клиента
1
GUID
2
GUID группы
3
Тип доступа.
0. - запрещен
1. - автоотключение
2. - безлимитный
4
Состояние сессии.
0. - СТОП
1. - ПАУЗА
2. - РАБОТА
5
Цена за трафик
6
Предоплаченный трафик
7
Цена за время - абонентская плата. Также смотрите параметр "14"
8
Оплачено.
9
true, если заблокирован.
10
Состояние.
11
Код причины блокировки. Смотрите функцию APIBlockReasonAsString
12
Время рестарта сессии.
13
Время старта работы сесии
14
Время работы. Это часы или дни в зависимости от режима - смотрите параметр "15"
15
Режим начисления абонентской платы.
false - почасовой
true - посуточный.
16
Начисленный трафик.
17
Сумма за трафик.
18
Сумма за время.
19
Баланс.
20
Принято байт.
21
Передано байт.
22
Принято из кеша (Байт).
23
Принято почтового трафика.
24
IP-адрес клиента
25
Минимальный уровень фильтрации
26
Текущий уровень фильтрации
27
Режим кеширования
28
Единица тарификации
29
Принято через прокси (Байт)
30
Учтенный трафик (байт)
31
Сетевая статистика разрешена
32
Запись лога прокси-сервера разрешена
33
Текущая скорость приема (Байт/сек)
34
Текущая скорость передачи (Байт/сек)
35
Текущая скорость приема (Пакеты/сек)
36
Текущая скорость передачи (Пакеты/сек)

Смотрите пример использования.


APISetUserState

Эта функция используется для изменения состояния клиента.

Ret = APISetUserState(UserID, Cash, NewState, AdminName, AdminNote)

UserID - идентификатор клиента. Это GUID или отображаемое имя.

Cash - сумма оплаты. Отметим, что это значение к существующему не добавляется, а переписывает имеющееся. Имеет смысл только для клиента. Если оно отрицательное, то игноируется.

NewState - новое состояние сессии клиента. Могут использоваться значения:

0. - СТОП
1. - ПАУЗА
2. - РАБОТА

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

AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.
AdminNote - любое примечание, также заносится в файл журнала.

Эта функция возвращает true, если какие-либо параметры были изменены.

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

Эта функция совместно с функцией APISetBillProp может использоваться для различных действий, связанных с тарификацией. Так как они позволяют манипулировать только с одним клиентом, то для групповых операций надо применять циклы. Для получения списков пользователей и групп используйте функцию APIGetBillProp.


APIGetAttr

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

Value = APIGetAttr(ObjType, ObjId, Attr)

ObjType - Тип запрашиваемых данных. Может принимать значения:

1. Общие настройки билинга.
2. Атрибуты групп.
3. Атрибуты клиентов.

ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

Если ObjType = 1, то этот параметр игноируется. Иначе это идентификатор клиента или группы.

Attr - атрибут или массив атрибутов. Атрибуты могут задаться как по номеру, так и по имени.

Value - возвращаемое значение атрибута или списка значений в виде массива.

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


APISetAttr

Эта функция используется для изменения атрибутов клиента, группы или общих параметров билинга.

APISetAttr(ObjType, ObjId, Attr, Value, DoUpdate)

ObjType - Тип данных. Может принимать значения:

1. Общие настройки билинга.
2. Атрибуты групп.
3. Атрибуты клиентов.

ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

Если ObjType = 1, то этот параметр игноируется. Иначе это идентификатор клиента или группы.

Attr - атрибут или массив атрибутов. Атрибуты могут задаваться как по номеру, так и по имени.

Value - новое значение атрибута или список значений в виде массива.

DoUpdate - установить в true, если надо кроме изменения значений также произвести все сопутствующие действия, например, перенастройку фильтров.

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


APIPushUserLog

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

APIPushUserLog(UserID, AdminName, AdminNote)

UserID - идентификатор клиента. Это GUID или отображаемое имя.

AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.

AdminNote - любое примечание, также заносится в файл журнала.

Возвращаемого значения нет.


APIGetFilterProp

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

Data = APIGetFilterProp(FilterID)

FilterID - это GUID или имя фильтра, если задано.

Значения возвращаются в виде одномерного массива в формате:

0 | Имя, если задано
1 | GUID
2 | true, если разрешен (опция Отключить фильтр выключена)
3 | true, если фильтр управляет тарификацией (опция Изменить стоимость трафика). Если false, то параметр Стоимость трафика значения не имеет и этот фильтр на тарификацию влияния не оказывает.
4 | Стоимость трафика в % от тарифа.

Совместно с функцией APISetFilterProp эта функция может использоваться для манипуляции стоимостью различного вида трафика.


APISetFilterProp

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

APISetFilterProp(FilterID, Enabled, Cost, BillEnabled)

FilterID - это GUID или имя фильтра, если задано.

Enabled - true для разрешения фильтра или false для его запрета.

Cost - Стоимость трафика в % от тарифа. Если значение отрицательное, то оно игнорируется. Округляется до целого.

BillEnabled - true, если фильтр управляет тарификацией. Если false, то значение стоимости трафика значения не имеет.

Вызов этой функции никаких значений не возвращает.

Отметим, что параметр Enabled = false отключает весь фильтр, а BillEnabled = false отключает только управление тарификацией. Поэтому для фильтров, которые кроме тарификации управляют также и доступом (тип На разрешение), логично использовать параметр BillEnabled тогда, когда сам трафик заданный фильтром запрещать не надо. Если надо манипулировать только одним параметром Enabled или BillEnabled, не изменяя другого, то их значения надо предварительно считать вызвав функцию APIGetFilterProp.


APIReadUserLog

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

Table = APIReadUserLog(Date1, Date2, UserID)

Date1 и Date2 задают интервал времени, за который производится выборка.

UserID - если задан, то GUID или отображаемое имя пользователя, для которого будет произведена выборка.

Table - двумерный массив, по формату таблицы полностью соответствующий формату файла журнала.

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

Для работы в составе встроенного веб-сервера более удобна функция APIReadLogXML.


APIReadLogXML

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

APIReadLogXML(LogType, Date1, Date2, ObjID, XMLData, Param1)

LogType - задает журнал и вид отчета.

1 - Журнал работы клиента.
2 - Журнал запросов через прокси-сервер.
3 - Журнал сетевой статистики клиентов. Необработанные данные.
4 - Журнал сетевой статистики клиентов. Сгруппированные и отсортированные данные.

Date1 и Date2 задают интервал времени, за который производится выборка.

ObjID - если задан, то GUID или отображаемое имя пользователя, для которого будет произведена выборка.

XMLData - предварительно созданный обьект класса Msxml2.DOMDocument.4.0, в который будут занесены данные.

Param1 - необязательный параметр. При выводе отсортированной сетевой статистики задает параметр сортировки. Может принимать значения от 0 до 3 и соответствует Способу тарификации трафика.


APIResetExpCounter

Эта функция может использоваться для сброса внешних счетчиков. Например, логично это делать в начале каждого месяца.

APIResetExpCounter(CounterType, CounterID)

CounterType - тип счетчика. Разрешены значения:

1. - контролируемый.
2. - информационный.

CounterID - GUID или имя счетчика. Если не задано, то производится сброс для всех.

Вызов этой функции никаких значений не возвращает.


APIDNSResolve

Используйте эту функцию для преобразования имени хоста в IP-адрес и наоборот.

Res = APIDNSResolve(Request)


APIWhoIs

Эта функция используется для определения владельцев IP-сетей и их географического местонахождения. Может использоваться запрос через службу WhoIs или NetGeo.

Res = APIWhoIs(IP, Service)

Здесь Service задает службу.

0 - используется WhoIs
1 - NetGeo. Следует отметить, что NetGeo имеет довольно большое время отклика.


APISchemaAttr

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

Name = APISchemaAttr(Schema, Attr)

Schema - код списка.

0 - Атрибуты клиента
1 - Атрибуты группы
2 - Атрибуты общих настроек билинга
3 - Атрибуты журнала клиента
4 - Атрибуты журнала прокси-сервера
5 - Атрибуты журнала сетевой статистики

Смотрите также функцию APISchemaFindAttr, которая делает обратное преобразование.


APISchemaFindAttr

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

Attr = APISchemaFindAttr(Name)

Смотрите также функцию APISchemaAttr, которая делает обратное преобразование.


APIBlockReasonAsString

Эта функция используется для вывода описания кода блокировки клиента.

Info = APIBlockReasonAsString(Code)

Пример использования смотрите здесь.


APIBillTraffTypeAsString

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

Info = APIBillTraffTypeAsString(Value)

Value - значение от 0 до 3.

0 - учитывается входящий трафик.
1 - учитывается исходящий трафик.
2 - учитывается по сумме.
3 - учитывается по максимуму.

Этот тип данных используется как параметр тарификации, используется в соответствующих функциях API, в атрибутах ХХХ_BillType и как параметр сортировки при выводе отчета по сетевой статистики.


APIBillModeAsString

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

Info = APIBillModeAsString(Value)

Value - значение от 0 до 2.

0 - Клиент запрещен.
1 - Клиент работает с автоотключением.
2 - Безлимитный доступ.


APISessStateAsString

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

Info = APISessStateAsString(Value)

Value - значение от 0 до 2.

0 - Работа остановлена (СТОП).
1 - ПАУЗА.
2 - РАБОТА.


APIServiceAsString

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

Info = APIServiceAsString(Value)

Value - значения смотрите здесь


APIServiceSetAsString

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

Info = APIServiceSetAsString(Values)

Value - побитовое значение, описания смотрите здесь


APIIPProtoAsString

Эта функция может использоваться для получения описания типа IP протокола из его числового значения. Может использоваться для расшифровки атрибута NetStatLog_IPProto в отчете по сетевой статистике. Это значение полностью совпадает с соотв. полем в IP-пакетах.

Info = APIIPProtoAsString(Proto)


APIAppProtoAsString

Эта функция может использоваться для получения описания типа протокола приложений из его числового значения. Может использоваться для расшифровки атрибута NetStatLog_AppProto в отчете по сетевой статистике.

Info = APIAppProtoAsString(Proto)

Proto - возможны значения:

0 - Протокол неизвестен
1 - HTTP
2 - SSL
3 - FTP


APIAddUser

Это функция добавляет пользователя с настройками по умолчанию.

NewUserID = APIAddUser(UserID, DisplayName, Group)

UserID - GUID нового пользователя. Если не задать (пустая строка), то уникальный идентификатор будет создан новый.

DisplayName - отображаемое имя. Обязательный параметр, должен быть уникальным.

Group - GUID группы. Если не задать (пустая строка), то пользователь будет помещен в общий список.

NewUserID - возвращает GUID нового пользователя.

Пользователь создается с параметрами по умолчанию. Авторизация не прописана, он находятся в состоянии СТОП.

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

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


APIDeleteUser

Удаление пользователя.

APIDeleteUser(UserID)

UserID - это GUID или имя пользователя.


APISaveUserConfig

Без параметров.

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


Атрибуты клиента

  User_DisplayName = 0;
  User_Note = 1;
  User_IPAddr = 2;
  User_IPAddr2 = 3;
  User_MAC = 4;
  User_LogonName = 5;
  User_Password = 6;
  User_Group = 7;
  User_GroupName = 8;
  User_EMail = 9;
  User_EMailArr = 10;
  User_Date1 = 11;
  User_Date2 = 12;
  User_AccessTime = 13;
  User_BillDefault = 14;
  User_BillType = 15;
  User_Price = 16;
  User_TrafExclude = 17;
  User_PriceTime = 18;
  User_TimeDaily = 19;
  User_ProxyCacheCost = 20;
  User_MailCost = 21;
  User_Cash0 = 22;
  User_Cash = 23;
  User_BillMode = 24;
  User_BillState = 25;
  User_FilterLevel = 26;
  User_FilterCurrLevel = 27;
  User_ServiceMask = 28;
  User_ServiceMaskDef = 29;
  User_BandwidthDef = 30;
  User_InBandwidth = 31;
  User_OutBandwidth = 32;
  User_NetStatDef = 33;
  User_NetStatInt = 34;
  User_NetStatTop = 35;
  User_LogState = 36;
  User_LogStateInt = 37;
  User_LogProxy = 38;
  User_StartSession = 39;
  User_StartActiveSess = 40;
  User_DayWork0 = 41;
  User_BillTime = 42;
  User_Blocked = 43;
  User_Active = 44;
  User_BillTraffic = 45;
  User_BillSumma = 46;
  User_BillSummaTime = 47;
  User_BillBall = 48;
  User_BlockReason = 49;
  User_RxBytes = 50;
  User_TxBytes = 51;
  User_RxPackets = 52;
  User_TxPackets = 53;
  User_RxCacheBytes = 54;
  User_RxMailBytes = 55;
  User_TxMailBytes = 56;
  User_MailMessages = 57;
  User_RxCurrSpeed = 58;
  User_TxCurrSpeed = 59;
  User_ClientVer = 60;
  User_ClientIP = 61;
  User_CacheMode = 62;
  User_Currency = 63;
  User_RxProxyBytes = 64;
  User_Credit = 65;
  User_Admin = 66;
  User_TxTraffCorr = 67;


Атрибуты группы

  Group_DisplayName = 0;
  Group_Note = 1;
  Group_BillDefault = 2;
  Group_BillType = 3;
  Group_Price = 4;
  Group_TrafExclude = 5;
  Group_PriceTime = 6;
  Group_TimeDaily = 7;
  Group_ProxyCacheCost = 8;
  Group_MailCost = 9;
  Group_Cash0 = 10;
  Group_AccessTime = 11;
  Group_FilterCustom = 12;
  Group_FilterDefBlock = 13;
  Group_FilterUseParent = 14;
  Group_ServiceMask = 15;
  Group_InDefBandwidth = 16;
  Group_OutDefBandwidth = 17;
  Group_InBandwidth = 18;
  Group_OutBandwidth = 19;
  Group_Currency = 20;
  Group_Credit = 21;
  Group_TxTraffCorr = 22;


Общие атрибуты

  BillCommon_BillType = 0;
  BillCommon_Price = 1;
  BillCommon_TrafExclude = 2;
  BillCommon_PriceTime = 3;
  BillCommon_TimeDaily = 4;
  BillCommon_ProxyCacheCost = 5;
  BillCommon_MailCost = 6;
  BillCommon_Cash0 = 7;
  BillCommon_AccessTime = 8;
  BillCommon_Currency = 9;
  BillCommon_Credit = 10;
  BillCommon_TxTraffCorr = 11;
  BillCommon_ViewAllUserSess = 12;


Атрибуты журнала клиента

  UserLog_Time = 0;
  UserLog_GUID = 1;
  UserLog_DisplayName = 2;
  UserLog_Active = 3;
  UserLog_BillType = 4;
  UserLog_BillMode = 5;
  UserLog_BillState = 6;
  UserLog_Price = 7;
  UserLog_PriceTime = 8;
  UserLog_TrafExclude = 9;
  UserLog_Cash = 10;
  UserLog_StartSession = 11;
  UserLog_BillTime = 12;
  UserLog_BillTraffic = 13;
  UserLog_BillSumma = 14;
  UserLog_BillSummaTime = 15;
  UserLog_BillBall = 16;
  UserLog_BlockReason = 17;
  UserLog_RxBytes = 18;
  UserLog_TxBytes = 19;
  UserLog_RxPackets = 20;
  UserLog_TxPackets = 21;
  UserLog_RxIntBytes = 22;
  UserLog_TxIntBytes = 23;
  UserLog_RxIntPackets = 24;
  UserLog_TxIntPackets = 25;
  UserLog_Interval = 26;
  UserLog_RxCache = 27;
  UserLog_RxIntCache = 28;
  UserLog_RxMailBytes = 29;
  UserLog_TxMailBytes = 30;
  UserLog_MailMessages = 31;
  UserLog_RxIntMailBytes = 32;
  UserLog_TxIntMailBytes = 33;
  UserLog_IntMailMessages = 34;
  UserLog_Admin = 35;
  UserLog_AdminNote = 36;


Атрибуты журнала прокси-сервера

  ProxyLog_UserName = 0;
  ProxyLog_UserIP = 1;
  ProxyLog_UserAgent = 2;
  ProxyLog_Date = 3;
  ProxyLog_Time = 4;
  ProxyLog_Reffered = 5;
  ProxyLog_Host = 6;
  ProxyLog_HostIP = 7;
  ProxyLog_HostPort = 8;
  ProxyLog_TimeToken = 9;
  ProxyLog_Tx = 10;
  ProxyLog_Rx = 11;
  ProxyLog_Protocol = 12;
  ProxyLog_Method = 13;
  ProxyLog_URI = 14;
  ProxyLog_ContType = 15;
  ProxyLog_RespStatus = 16;
  ProxyLog_GUID = 17;
  ProxyLog_CacheRead = 18;
  ProxyLog_CachInfo = 19;


Атрибуты журнала статистики

  NetStatLog_Time = 0;
  NetStatLog_GUID = 1;
  NetStatLog_ObjectName = 2;
  NetStatLog_Interval = 3;
  NetStatLog_LocIP = 4;
  NetStatLog_LocPort = 5;
  NetStatLog_PeerIP = 6;
  NetStatLog_PeerPort = 7;
  NetStatLog_Host = 8;
  NetStatLog_IPProto = 9;
  NetStatLog_AppProto = 10;
  NetStatLog_Rx = 11;
  NetStatLog_Tx = 12;
  NetStatLog_RxPackets = 13;
  NetStatLog_TxPackets = 14;
  NetStatLog_List = 15;
  NetStatLog_LocMAC = 16;


Типы сервиса

  UserServiceTypeIP = 1;
  UserServiceTypeProxy = 2;
  UserServiceTypeSocksConn = 4;
  UserServiceTypeSocksBind = 8;


Запуск скриптов

Для доступа к API автоматизации проще всего использовать технологию Scripting Host, а для запуска по расписанию службу Sheduler Task (Планировщик заданий) Windows.

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

Скрипт на языке VB Script пишется в виде файла и сохраняется с типом vbs. Для выполнения он запускается с консоли:

cscript task.vbs

Отметим, что в системе еще есть утилита wscript.exe, которая по умолчанию ассоциирована с vbs файлами. Если их открыть, то запустится именно она. Но в отличие от cscript.exe она при выводе использует модальные окна, что совсем нехорошо для данного применения.

При вызове скрипта ему также могут передаваться различные параметры в командной строке. Это используется в прилагаемых примерах. Это удобно, когда один скрипт надо применить к разным объектам. Но особо логику усложнять не надо, для различных задач лучше иметь разные скрипты.

Для запуска скрипта по расписанию пропишите задачу через панель управления Windows, используя Sheduler Task. Также эти задания доступны для удаленного управления, для этого используйте проводник Windows.


Вывод параметров билинга

Этот пример использует функцию APIGetBillProp и выводит различные параметры тарификации. Скрипт запускается из командной строки в директории scripts.

cscript.exe billprop.vbs APIPassword ObjectType ObjectID /sn:ServerName

ObjectID - опциональный параметр.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count < 2 Then
   WScript.Echo "??? usage: cscript.exe billprop.vbs APIPassword ObjectType ObjectID /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
ObjType = Args(1)
If Args.Count >= 3 Then
   ObjID = Args(2)
End If

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)
BillData = Srv.ApiGetBillProp(ObjType, ObjID)

If Not IsArray(BillData) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

If IsArray(BillData(0)) Then
   For I = 0 To UBound(BillData, 1)
      Data = BillData(I)
      WScript.Echo Data(0) & Chr(9) & Data(1) & Chr(9) & Data(2) & Chr(9) & Data(3) & Chr(9) & Data(4) & Chr(9) & Data(5) & Chr(9) & Data(6) & Chr(9) & Data(7)
   Next
Else
   WScript.Echo "Объект" & Chr(9) & BillData(0)
   WScript.Echo "GUID" & Chr(9) & BillData(1)
   WScript.Echo "Группа" & Chr(9) & BillData(2)
   WScript.Echo "По умолчанию" & Chr(9) & BillData(3)
   WScript.Echo "Способ тариф. трафика" & Chr(9) & BillData(4)
   WScript.Echo "Цена за трафик" & Chr(9) & BillData(5)
   WScript.Echo "Предопл. трафик" & Chr(9) & BillData(6)
   WScript.Echo "Цена за время" & Chr(9) & BillData(7)
End If


Вывод состояния клиента

Этот пример использует функцию APIGetUserState и выводит различные параметры тарификации. Скрипт запускается из командной строки в директории scripts.

cscript.exe viewstate.vbs APIPassword UserID /sn:ServerName

ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 2 Then
   WScript.Echo "??? usage: cscript.exe viewstate.vbs APIPassword UserID /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
UserID = Args(1)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)
State = Srv.APIGetUserState(UserID)

If Not IsArray(State) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

WScript.Echo "Имя" & Chr(9) & State(0)
WScript.Echo "GUID" & Chr(9) & State(1)
WScript.Echo "Группа" & Chr(9) & State(2)
WScript.Echo "Доступ" & Chr(9) & State(3)
WScript.Echo "Сессия" & Chr(9) & State(4)
WScript.Echo "Цена за трафик" & Chr(9) & State(5)
WScript.Echo "Предопл. трафик" & Chr(9) & State(6)
WScript.Echo "Цена за время" & Chr(9) & State(7)
WScript.Echo "Оплачено" & Chr(9) & State(8)
WScript.Echo "Заблокирован" & Chr(9) & State(9)
WScript.Echo "Активен" & Chr(9) & State(10)
WScript.Echo "Причина блокировки" & Chr(9) & Srv.APIBlockReasonAsString(State(11))
WScript.Echo "Старт сессии" & Chr(9) & State(12)
If State(14) Then
   WScript.Echo "Время работы" & Chr(9) & State(13) & " дней"
Else
   WScript.Echo "Время работы" & Chr(9) & State(13) & " часов"
End If
WScript.Echo "Начисленный трафик" & Chr(9) & State(16) & " мбайт"
WScript.Echo "Сумма за трафик" & Chr(9) & State(17)
WScript.Echo "Сумма за время" & Chr(9) & State(18)
WScript.Echo "Баланс" & Chr(9) & State(19)
WScript.Echo "Принято байт" & Chr(9) & State(20)
WScript.Echo "Передано байт" & Chr(9) & State(21)
WScript.Echo "Считано из кеша" & Chr(9) & State(22)
WScript.Echo "Принято байт - почтовый трафик" & Chr(9) & State(23)


Добавление оплаты для группы клиентов

Этот скрипт добавляет для всех клиентов группы некоторую сумму на счет. Скрипт запускается из командной строки в директории scripts.

cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName

Здесь
APIPassword - пароль доступа.
GroupID - GUID или имя группы.
Cash - добавляемая сумма.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
   WScript.Echo "??? usage: cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
   User = UserList(I)
   ' Получили строку - описание пользователя
   UserID = User(1)
   UserState = Srv.APIGetUserState(UserID)
   ' Считали текущее состояние пользователя - надо узнать сумму на счете
   Cash0 = UserState(8)
   ' Добавляем сумму на счет, состояние пользователя не меняем. Добавьте свой комментарий для записи в журнале.
   Srv.APISetUserState UserID, Cash0+Cash, -1, "Script", "Пример"
   WScript.Echo "Клиент " & User(0) & " добавлено " & Cash & " было " & Cash0 & " стало " & Cash0+Cash
Next


Рестарт сессии для группы клиентов

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

Скрипт запускается из командной строки в директории scripts.

cscript.exe rstsess.vbs APIPassword GroupID Cash /sn:ServerName

Здесь
APIPassword - пароль доступа.
GroupID - GUID или имя группы.
Cash - новый лимит на месяц.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Заметим, что этот скрипт после сброса сессии возвращает клиента в то состояние, в котором он был ранее. Т.е. если он был в паузе, то и снова будет в паузе.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
   WScript.Echo "??? usage: cscript.exe rstsess.vbs APIPassword GroupID Cash /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
   User = UserList(I)
   ' Получили строку - описание пользователя
   UserID = User(1)
   UserState = Srv.APIGetUserState(UserID)
   ' Считываем текущее состояние сессии
   OldState = UserState(4)
   ' Переводим пользователя в СТОП
   Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
   ' Переводим сессию пользователя в состояние, которое было ранее. Если надо всех запустить, то поправьте на '2'
   Srv.APISetUserState UserID, Cash, OldState, "Script", "Запускаем сессию"
   WScript.Echo "Клиент " & User(0)
Next


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

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

Скрипт запускается из командной строки в каталоге scripts.

cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName

Здесь
APIPassword - пароль доступа.
GroupID - GUID или имя группы.
Cash - Можно также положить некоторую сумму в дополнение к перенесенному остатку. Если не надо, задайте 0.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Заметим, что этот скрипт после сброса сессии возвращает клиента в то состояние, в котором он был ранее. Т.е. если он был в паузе, то и снова будет в паузе.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
   WScript.Echo "??? usage: cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
   User = UserList(I)
   ' Получили строку - описание пользователя
   UserID = User(1)
   UserState = Srv.APIGetUserState(UserID)
   ' Считываем текущее состояние сессии
   OldState = UserState(4)
   OldBall = UserState(19)
   ' Переводим пользователя в СТОП
   Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
   ' Переводим сессию пользователя в состояние, которое было ранее.
   ' Если надо всех обязательно запустить, то поправьте OldState на '2'
   Srv.APISetUserState UserID, Cash+OldBall, OldState, "Script", "Запускаем сессию"
   If Cash+OldBall < 0 Then
   ' Так как APISetUserState не вводит отрицательное значение оплаты, вводим это через атрибут
      Srv.APISetAttr 3, UserID, "User_Cash", Cash+OldBall, True
   End If
   WScript.Echo "Клиент " & User(0) & " на счету " & Cash+OldBall
Next


Рестарт сессии со сдвигом дат

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

Скрипт запускается из командной строки в каталоге scripts.

cscript.exe rstsess3d.vbs APIPassword GroupID Cash /sn:ServerName

APIPassword - пароль доступа.
GroupID - GUID или имя группы в пределах которой производится выполнение скрипта.
Cash - сумма, добавляемая к текущему балансу клиента (если требуется вычитание - параметр указывается со знаком минус).
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
   WScript.Echo "??? usage: cscript.exe rstsess3d.vbs APIPassword GroupID Cash /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
   WScript.Echo "Нет данных"
   WScript.Quit
End If

Dim ArAtr(1)
ArAtr(0) = 11 'User_Date1
ArAtr(1) = 12 'User_Date2

Dim ArAtrVal(2)

For I = 0 To UBound(UserList, 1)
   User = UserList(I)
   ' Получили строку - описание пользователя
   UserID = User(1)
   UserState = Srv.APIGetUserState(UserID)

   ' Считываем текущее состояние сессии
   OldState = UserState(4)
   OldBall = UserState(19)

   If OldBall >= (Cash*Sgn(Cash)) Then
      UserAttr = Srv.APIGetAttr(3, UserID, ArAtr)
      Date1s = UserAttr(0)
      Date2e = UserAttr(1)
      ' Переводим пользователя в СТОП
      Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
      ' Переводим сессию пользователя в состояние, которое было ранее
      ' Если надо всех обязательно запустить, то поправьте OldState на '2'
      Srv.APISetUserState UserID, Cash+OldBall, OldState, "Script", "Запускаем сессию"
      If Cash+OldBall < 0 Then
      ' Так как APISetUserState не вводит отрицательное значение оплаты, вводим это через атрибут
         Srv.APISetAttr 3, UserID, "User_Cash", Cash+OldBall, True
      End If
      If Date1s <> "0:00:00" Then
         D1Year = Int(Right(Date1s,4))
         D1Month = Int(Mid(Date1s,4,2))
         D1Month = D1Month +1
         If D1Month = 13 Then
            D1Year = D1Year + 1
            D1Month = 1
         End If
         Date1s = "01." & Right("00" & D1Month,2) & "." & D1Year
      End If
      If Date2e <> "0:00:00" Then
         D2Year = Int(Right(Date2e,4))
         D2Month = Int(Mid(Date2e,4,2))
         D2Month = D2Month +1
         If D2Month = 13 Then
            D2Year = D2Year + 1
            D2Month = 1
         End If
         Date2e = "01." & Right("00" & D2Month,2) & "." & D2Year
      End If
      ArAtrVal(0) = CDate(Date1s)
      ArAtrVal(1) = CDate(Date2e)
      Srv.APISetAttr 3, UserID, ArAtr, ArAtrVal, True
      WScript.Echo "Клиент " & User(0) & ": доступ " & ArAtrVal(0) & "|" & ArAtrVal(1) & ", на счету " & Cash+OldBall
   End If
Next


Очистка внешних счетчиков

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

Скрипт запускается из командной строки в каталоге scripts.

cscript.exe rstcnt.vbs APIPassword /sn:ServerName

ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 1 Then
   WScript.Echo "??? usage: cscript.exe rstcnt.vbs APIPassword /sn:ServerName"
   WScript.Quit
End If

APIPass = Args(0)

If WScript.Arguments.Named.Exists("sn") Then
   ServName = WScript.Arguments.Named.Item("sn")
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
   Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

Srv.APIResetExpCounter 1, ""
Srv.APIResetExpCounter 2, ""


Почтовая рассылка

Скрипт, используя API интерфейс программы Traffic Inspector, производит рассылку данных тарификации и статистики клиентам по адресам электронной почты.

Рассылка может быть реализована либо по всем пользователям, либо по определенной группе пользователей.

Для организации рассылки необходимо задать адреса электронной почты, по которым будет производится рассылка в поле E-Mail (закладка Авторизация свойств клиентов). Если адрес не указывать, рассылка данному клиенту производится не будет.

Далее настраиваем праметры рассылки. Для этого открываем файл MailSend1.vbs в любом текстовом редакторе. Там надо (см. комментарии в тексте скрипта):
1. Вписать Ваш почтовый SMTP сервер.
2. Указать адрес отправителя.
3. Указать тему сообщения.

Скрипт запускается из командной строки в каталоге scripts.

cscript.exe MailSend1.vbs APIPassword ObjectID /sn:ServerName

Здесь
APIPassword - пароль доступа.
ObjectID - необязательный параметр - имя группы в пределах которой производится рассылка, если данный параметр не задан, то рассылка производится всем пользователям.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Dim Mess, Conf

On Error Resume Next

WScript.Echo "---------------Выполнено: " & Date & " " & Time & "----------------------------"

Set Args = WScript.Arguments
If Args.Count < 1 Then
   WScript.Echo "??? usage: cscript.exe mailsend.vbs APIPassword ObjectID"
   WScript.Quit
End If

APIPass = Args(0)
ObjType = 3 'Пользователи
If Args.Count >= 2 Then
   ObjID = Args(1)
End If

Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
Srv.APILogon(APIPass)
BillData = Srv.ApiGetBillProp(ObjType, ObjID)

If Not IsArray(BillData) Then
   WScript.Echo "Данные отсутствуют"
   WScript.Quit
End If

Set Mess = CreateObject("CDO.Message")
Set Conf = Mess.Configuration.Fields
With Conf
'Впишите Ваш почтовый SMTP сервер - IP адрес или имя хоста
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "10.1.1.10"
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
     .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru"
     .Item("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2
     .Update
End With
With Mess.BodyPart
   .CharSet = "koi8-r"
   .ContentTransferEncoding = "8bit"
End With

'Укажите адрес отправителя
Mess.From = "tarif@send.ru"
'Укажите тему сообщения
Mess.Subject = "Ваш трафик"

Dim MasAtr(2)
MasAtr(0) = 9 'User_EMail
MasAtr(1) = 8 'User_GroupName

For I = 0 To UBound(BillData, 1)
   Data = BillData(I)
   ClientID = Data(0)

   AttribData = Srv.ApiGetAttr(ObjType, ClientID, MasAtr)
   MailTo = Trim(AttribData(0))
   ClientGroup = AttribData(1)

   If Len(MailTo) > 0 Then
      Mess.To = MailTo

      StateData = Srv.ApiGetUserState(ClientID)

      Select Case Data(4)
         Case 0  TrMethod = "входящий"
         Case 1  TrMethod = "исходящий"
         Case 2  TrMethod = "сумма входящего и исходящего"
         Case 3  TrMethod = "максимальное значение входящего и исходящего"
      End Select

      Tariffing = Space(22) & "ТАРИФИКАЦИЯ" & Chr(13) &_
               Space(10) & "Тип учета трафика: " & TrMethod & Chr(13) &_
               Space(6) & "Предоплаченный трафик: " & Round(StateData(6), 2) & Chr(13) &_
               Space(13) & "Цена за трафик: " & Round(StateData(5), 2) & Chr(13) &_
               Space(18) & "начислено: " & Round(StateData(17), 2) & Chr(13) &_
               Space(10) & "Абонентская плата: " & Round(StateData(7), 2) & Chr(13) &_
               Space(18) & "начислено: " & Round(StateData(18), 2) & Chr(13) &_
               Space(12) & "Итого начислено: " & Round(StateData(17)+StateData(18), 2) & Chr(13) &_
               Space(19) & "Оплачено: " & Round(StateData(8), 2) & Chr(13) &_
               Space(21) & "Баланс: " & Round(StateData(19), 2) & Chr(13)
   Statistics = Space(23) & "СТАТИСТИКА" & Chr(13) &_
               Space(14) & "Принято, байт: " & StateData(20) & Chr(13) &_
               Space(13) & "Передано, байт: " & StateData(21) & Chr(13) &_
               "Загружено через HTTP прокси: " & StateData(21) & Chr(13) &_
               Space(12) & "Считано из кеша: " & StateData(21) & Chr(13) &_
               Space(2) & "Принято почтового трафика: " & StateData(5)

      Mess.TextBody = Tariffing & Chr(13) & Chr(13) & Statistics
      Mess.Send()

      If Err.Number <> 0 Then
         ErrN = Err.Number
         WScript.Echo "ВНИМАНИЕ! Ошибка исполнения № " & ErrN & "!!!"
         WScript.Echo "  => " & Err.Description
         Err.Clear
         WScript.Quit(ErrN)
      End If
      WScript.Echo "Клиенту " & ClientID & " группы " & ClientGroup & " отправлено сообщение на e-mail: " & MailTo
   Else
      WScript.Echo "Клиенту " & ClientID & " группы " & ClientGroup & " сообщение не отправлено - отсутствует e-mail"
   End If
Next

Set Conf = Nothing
Set Mess = Nothing


Удаление лог файлов

Скрипт производит удаление лог файлов из подпапок директории Log.

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

Скрипт запускается из командной строки в каталоге scripts.

cscript.exe DelLog.vbs DaysAmount

DaysAmount - количество дней, считая от текущей даты, за которое лог файлы не будут удалены.

Например, при запуске скрипта с параметрами:

cscript.exe DelLog.vbs 1234 90

будут оставлены логи, созданные за последние 90 дней. Если за текущую дату принять 30.07.2004, то будут удалены все лог файлы, дата последней модификации которых меньше 01.05.2004. Если у лог файла установить атрибут "Только для чтения", то он не будет удален.

'Задайте путь к директории Log:
LogDirPath = "C:\Program Files\TrafInsp\Log\"

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 1 Then
   WScript.Echo "??? usage: cscript.exe DelLog.vbs DaysAmount"
   WScript.Quit
End If

DayAm = CInt(Args(0))

Set fso = CreateObject("Scripting.FileSystemObject")
Set LogDir = fso.GetFolder(LogDirPath)
Set LogFolders = LogDir.SubFolders

For Each LFolder In LogFolders
   WScript.Echo LFolder.Name
   Set LogFiles = LFolder.Files
   For Each LFile In LogFiles
      If (LFile.DateLastModified < DateAdd("d",-DayAm,Date)) And (Right(LFile.Name,3) = "log") Then
         FileRO = LFile.attributes And 1
         If FileRO = 0 Then
            WScript.Echo "  Удаляется файл " & LFile.Name & "  " & DateValue(LFile.DateLastModified) & "..."
            LFile.Delete
         Else
            WScript.Echo "  Невозможно удалить файл " & LFile.Name & "  " & DateValue(LFile.DateLastModified) & " - только для чтения!"
         End If
      End If
   Next
Next

WScript.Echo "Удалены все логи до " & DateAdd("d",-DayAm,Date) & "."


Автоматическое начисление бонусов

Задача: привязать сотимость мегабайта к потребленному объему информации. Решая эту задачу есть предложение производить ежемесесячное начисление бонусов. Т.е. раз в месяц осуществлять начисление бонуса в зависимости от наработанного трафика.

Как автоматизировать данный процесс?

Решение:
Исправляем стандартный скрипт rstsess2.vbs:

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
    WScript.Echo "??? usage: cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)
' Получили список клиентов группы

' Проверяем, что это таблица - двухмерный массив
If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
    User = UserList(I)
    ' Получили строку - описание пользователя
    UserID = User(1)
    UserState = Srv.APIGetUserState(UserID)
    ' Считываем текущее состояние сессии
    OldState = UserState(4)
    OldBall = UserState(19)

    ' Вот тут вычисляем бонус! Вставьте свою формулу.
    ' Можно привязаться к принятому трафику (байты)
    Bonus = UserState(20)*...

    ' Переводим пользователя в СТОП
    Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
    ' Переводим сессию пользователя в состояние, которое было ранее.
    ' Если надо всех обязательно запустить, то поправьте OldState на '2'
    Srv.APISetUserState UserID, Cash+OldBall, OldState, "Script", "Запускаем сессию"
    If Cash+OldBall < 0 Then
        ' Так как APISetUserState не вводит отрицательное значение оплаты, вводим это через атрибут
        Srv.APISetAttr 3, UserID, "User_Cash", Cash+OldBall, True
    End If

    Srv.APISetUserState UserID, Cash+OldBall+Bonus, -1, "Script", "Засчитываем бонус"
    If Cash+OldBall < 0 Then
        ' Так как APISetUserState не вводит отрицательное значение оплаты, вводим это через атрибут
        Srv.APISetAttr 3, UserID, "User_Cash", Cash+OldBall+Bonus, True
    End If

    WScript.Echo "Клиент " & User(0) & " на счету " & Cash+OldBall+Bonus & ", в том числе бонус " & Bonus
Next

Этот скрипт надо запускать в начале каждого месяца. Значение параметра комментария при вызове функции APISetUserState отписывается в лог и его будет видно при просмотре отчета по билингу. Для случая с градациями формула вычисления бонуса будет смотреться так:

If User(20) > ...
    Bonus = ...
ElseIf User(20) > ...
    Bonus = ...
End If

Вместо принятого трафика User(20) можно использовать начисленный трафик User(16) в мегабайтах.


Веб-сервис

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

Доступ на сервер производится на тот же адрес и порт, что и на прокси-сервер. При конфигурировании прокси-сервер должен быть разрешен. Никаких специальных настроек для веб-сервера нет. Этот сервер представляет собой классический веб-сервер с поддержкой выполнения JScript или VBScript, на которых формируется динамический контент.

Содержимое веб-сервера находится в подкаталоге wwwroot. В нем имеется подкаталог user и доступ туда разрешен только активным клиентам. Аутентификация может выпоняться как через браузер, так и через другие службы обычным для Traffic Inspector способом. На другие разделы веб- сервера открыт анонимный доступ.

Для запуска скриптов в запросе предусмотрено зарезервированное расширение *.tisp. При этом будет запускаться одноименный файл Windows Scripting Host скрипта типа *.wsf. Он может содержать скрипт на любом языке, который поддерживается Windows. В примерах этого раздела используется JScript.

Веб сервер также понимает страницы по умолчанию, при этом используется следующая последовательность их поиска:

default.wsf
index.wsf
default.htm
default.html
index.htm
index.html

Описание особенностей написания скриптов для веб-сервера смотрите в разделе. Также можно изучить скрипты клиентского веб-сервиса.


Написание скриптов для веб-сервиса

С помощью запуска скриптов на веб-сервере может быть сформирован любой динамический контент. Скрипт пишется в файле типа *.wsf и полностью соответствует формату Windows Scripting Host. В примерах раздела используется язык JScript, но также может использоваться и VBScript.

Скрипт может вызываться как по методу GET, так и POST. Для доступа к параметрам запроса следует использвать именованную коллекцию WScript.Arguments.Named. Также при вызове скрипта ему передаются следующие параметры:

_RootDir_ | Путь к корневому каталогу веб-сервера
_CurrentDir_ | Путь к текущему каталогу
_Method_ | GET или POST
_APIPassword_ | Пароль доступа к API программы
_UserName_ | Имя пользователя
_UserID_ | GUID пользователя. Следует использовать при работе с API.
_ServerName_ | Отображаемое имя сервера (сети). Задается в настройках прокси сервера. Параметр не передается, если он не задан.

Если скрипт был запущен при анонимном доступе, то последние два параметра будут отсутствовать.

Для вывода данных могут использоваться функция WScript.Echo или поток WScript.StdOut. Следует отметить, что при выводе через WScript.Echo будут проблемы с русской кодировкой, так как эта функция использует OEM (DOS) кодировку. Поэтому для вывода контента используйте только WScript.StdOut.

Данные из скрипта выводятся двумя порциями, отделяемыми пустой строкой. Сначала, если необходимо, выводятся HTTP заголовки, затем через пустую строку сам контент. Если заголовки явно не выводятся, то будет автоматически подставлен content-type: text/html; charset=windows-1251. Заголовок длины данных content-length формировать в скрипте не надо, он добавляется автоматически. Таким образом, при выводе html-контента достаточно просто перед данными вывести пустую строку.

Следующий пример выводит список всех входных параметров запроса:

<job id="default">
<script language="JScript">

WScript.Echo("");
WScript.Echo("<html><body>");

objArgs = WScript.Arguments;
for (i = 0; i < objArgs.length; i++)
{
   WScript.Echo(objArgs(i)+"<br>");
}

WScript.Echo("</body></html>");

</script>
</job>

Следующий пример выводит отчет работы пользователя в виде xml данных. Для форматирования его в html скрипт надо дополнить подключением xsl шаблона.

<job id="default">
<script language="JScript">

var Serv = WScript.CreateObject("TrafInsp.TrafInspAdmin");

// Получаем пароль для доступа с API и получаем доступ
objArgs = WScript.Arguments.Named;
Serv.APILogon(objArgs.Item("_APIPassword_"));

var UserID = objArgs.Item("_UserID_");

var Dom =  WScript.CreateObject("Msxml2.DOMDocument.4.0");

// Считываем параметры запроса. Они могут быть получены методом GET или POST
var Date1 = objArgs.Item("Date1");
var Date2 = objArgs.Item("Date2");

// Читаем данные отчета
Serv.APIReadLogXML(1, Date1, Date2, UserID, Dom, 0);

// Выдаем HTTP заголовок
WScript.Echo("content-type: text/xml; charset=windows-1251");
WScript.Echo("");

// Выдаем данные
WScript.StdOut.Write(Dom.xml);

</script>
</job>


Решение проблем

Одной из возможных причин полной или частичной неработоспособности программы может быть наличие ранее установленных firewall, NAT или прочих программ, которые работают с сетью и используют свои сетевые драйвера. Также следует иметь в виду, что простая остановка их работы проблему может не решить - их надо удалить. Также такие программы могли быть ранее не полностью удалены. Тут радикальным решением проблемы может быть полная переустановка системы.

Проверьте, не забыли ли Вы установить дополнительные компоненты - драйвер программы, MSXML, Windows Script и прочее - см. раздел.

При возникновении проблем, появлении ошибок и прочих затруднений:

· попробуйте найти ответ в этих разделах.
· зайдите на сайт разработчика http://www.smart-soft.ru и форум по этой программе (на сайте есть ссылка), может проблема там уже обсуждалась и ее решение описано.
· Проверьте наличие более свежего билда программы на сайте и изучите список изменений и исправленных там ошибок, может в более свежем билде проблема решена. Номер билда отображается в главном окне консоли в правом верхнем углу. Если консоль вообще запустить не получается, то номер версии можно посмотреть, открыв свойства файла сервиса программы trafinsp.exe.
· В любом случае поставьте последний билд и проверьте, не решилась ли проблема.

Отправьте запрос в службу техподдержки. При этом обязательно должен быть установлен последний билд релиза и проверено, что проблема в после этого не решилась. Запросы по старым билдам программы рассматриваться не будут. Для отправки запроса используйте встроенный генератор отчета (Support report) в консоли - раздел Диагностика.

В запросе опишите задачи, которые решаются программой и подробно саму проблему. Если support report недоступен, то также укажите операционную систему и конфигурацию сети.


Запуск сервера

Сервис не запускается.

Проверьте системные логи (Event Log). В разделе System Log могут появиться сообщения службы запуска сервисов Windows, а в Application Log сообщения сервиса самой программы.


Запуск консоли

При запуске сразу выдается ошибка на неправильные данные - Bad data, MMC cannot open the file... или похожее.

Причина - некорректный файл оснастки или он поврежден. Создайте новый - см. описание работы с MMC в справке Windows или в этой документации.

При запуске консоли выводится ошибка "Snap-in failed to initialize".

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

Консоль запускается, но соединение происходит с ошибкой "Interface not supported".

Если консоль запускается локально, то попробуйте переустановить программу.
При удаленном подключении причин может быть несколько :
· Проверьте, разрешен ли DCOM на удаленном компьютере и сервере - утилита dcomcnfg.
· Проверьте настройки безопасности DCOM на сервере.

Консоль запускается, но выводится ошибка "Access Denied".

Настройте DCOM на сервере.

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

Это может произойти, если компьютер с удаленной консолью и сервер не находятся в домене Windows. Для этого случая надо запустить консоль на самом сервере и задать пароль для администратора - анонимный доступ на сервер не допускается.

Сообщение "Доступ запрещен, пароль на сервере не назначен".

Это ошибка Windows-аутентификации администратора, а пароль для альтернативной встроенной аутентификации ему ранее назначен не был (поэтому не было окна запроса пароля).
Если есть домен, то, возможно, ранее в программе была задана группа администраторов, членом которой данный пользователь не является. Для удаления этой группы придется остановить сервис и в файле main.ini удалить строчку AdminGroup.
Если домена нет, то такое сообщение может быть вызвано при попытке удаленного входа - для разрешения удаленного администрирования надо подключиться локально и задать пароль администратора.

Сообщение о несоответствии версий консоли и сервера.

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

Сообщение "Драйвер не установлен или сеть не сконфигурирована".

Драйвера программы нет вообще или он полностью выгружен. Если драйвер был установлен, проверьте наличие его привязок к сетевым интерфейсам. Может также потребоваться переустановка драйвера.


Интерфейсы

В списке интерфейсов на консоли нет какого-нибудь интерфейса, необходимого для работы.

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

Также причиной может быть неподдерживаемый программой тип интерфейса (он имеет тип не 802.3, 802.11 или WAN - см. Спецификацию), или к нему не привязан протокол TCP/IP, или ему не назначены IP-адреса. Для проверки можно использовать системную утилиту "ipconfig -all" или открыть "Диагностика/сетевые настройки" консоли. У там у интерфейса должен обязательно присутствовать Ethernet MAC-адрес и IP-адрес.

С интерфейса не снимается трафик - счетчики принятых пакетов в списке интерфейсов консоли пустые.

Возможная причина - некорректная установка драйвера программы. Удалите драйвер, перегрузите компьютер и установите его заново. Обязательно выполняйте все рекомендации, описанные здесь.

В статистике интерфейса появились потерянные пакеты.

Причина появления потерянных пакетов - нехватка ресурсов процессора для обработки пакетов, принятых драйвером программы. Это приводит к занижению результатов по трафику. Если процент потери пакетов большой, то необходимо принять меры:
· Если пакеты теряются на внутреннем интерфейсе и компьютер используется как файл-сервер, то целесообразно от этой его функции отказаться. Файл-сервер при быстрой внутренней сети приводит к генерации большого потока данных для Traffic Inspector.
· Проверьте ресурсы компьютера - нет ли нехватки оперативной памяти, какая загрузка процессора, не тормозят ли HDD диски.


Ошибки авторизации

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

Агент при попытке запуска выдает ошибку типа "Socket error - Valid name, no data record of requested type" или "Host not found".

Это ошибка распознавания имен внутри сети - некорректно сконфигурирован DNS. Если внутреннего DNS с интранет-зоной нет, то в настройках DNS на клиентской машине не следует указывать зону сети - в этом случае система при обращении по простому имени будет использовать распознавание имен Windows. Проверить это можно, запустив ping по имени сервера.

Как вариант можно сервер в агенте прописать по IP-адресу.

При авторизации агентом на сервере появляется ошибка типа "Неверная отметка времени"

С целью защиты от перехвата данных аутентификации в программе применен метод криптозащиты, который требует расхождения часов на компьютерах не более 5 минут. Эта ошибка появляется в случае, если расхождение больше. Для Windows 2000/XP/2003 имеется служба синхронизации часов и когда все машины в домене, время синхронизируется автоматически. Иначе придется для этого принимать дополнительные меры:

· Система Windows 95/98/ME и в домене с сервером - используйте при запуске команду net time \\server /set.
· В любом случае можно применить любую бесплатную утилиту коррекции времени, работающую по протоколу NTP.

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

Возможные причины - потери пакетов во внутренней сети или перегрузка сервера (нехватка ресурсов). При большом количестве запущенных агентов можно порекомендовать увеличить время обновления данных на нем - см. настройку. Потери пакетов можно оценить командой ping.


Проблемы доступа в интернет

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

Нет доступа в Интернет. Клиент работает через NAT.

Для начала надо проверить, а работает ли NAT вообще - особенно если и другие клиенты тоже работать не могут. Для этого остановите сервис Traffic Inspector и используйте команду ping с машины клиента. Пропингуйте сначала сам сервер, а затем любой близлежащий хост, причем сначала по имени, а потом, если имя не нашлось, то по IP-адресу. Если по IP-адресу пинг прошел, а по имени нет - то проблема в DNS. Если по IP-адресу пинг не идет, то это надо сделать с самого сервера - вдруг отсутствует доступ в Интернет вообще.

Если NAT с остановленным Traffic Inspector работает, а с запущенным нет, а клиент авторизовался нормально (в системных логах есть событие), то причина - не открыты фильтры.

Если клиент не в группе, у которой по умолчанию трафик запрещен, то проверьте фильтры на запрет, нет ли в них ошибок. Можно временно вообще отключить такие фильтры.

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

Далее, чтобы отделить проблемы Интернет от проблем самого клиентского приложения, используйте телнет (имеется на всех версиях Windows, утилита telnet.exe) для проверки доступности TCP-соединений с сервером. Надо только знать порты служб. Типовые - это 80 для HTTP, 25 для SMTP, 110 для POP3 и 143 для IMAP.

Не работает FTP. прокси-сервер не используется.

В скрипте автоконфигурации браузера ftp доступ не прописывается, так как это прекрасно работает через NAT. По умолчанию, как правило, на клиентах используется активный режим. Для него надо на firewall выставить разрешающий фильтр - протокол TCP, порт источника 20. Этот фильтр по умолчанию устанавливается, проверьте его наличие.

Если по какой-то причине используется пассивный режим, то надо учесть, что многие ftp сервера это не поддерживают, так как сами находятся за firewall.


Прокси и веб-сервер

Прокси и встроенный веб-сервер.

Не открываются страницы в браузере. Используется прокси-сервер.

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

Если браузер просто зависает на соединении или пишет какие-то свои ошибки, то можно порекомендовать следующее:

· Попробуйте в настройках браузера отключить прокси-сервер вообще и открыть на нем веб-сервер программы, набрав http://server:port. Здесь server и port - это хост и порт прокси-сервера. Чтобы отделить проблемы DNS, вместо имени хоста введите IP-адрес.
· Если веб-сервер программы не открывается - проверьте, а включен ли прокси-сервер вообще? Также проверьте наличие ошибок в системном журнале сервера. Также можно попробовать подключиться телнетом.

При обращении к веб-серверу на браузер выдается ошибка 500 - Internal Server Error.

Проверьте системные логи. Если там появляются ошибки типа >>> Script run error.... - то одна из причин - не установлен MSXML 4.0 и Windows Script 5.6.
Вторая причина - ошибки в скриптах. Если скрипты самостоятельно не переделывались, то вышлите полностью сообщение об ошибке службе техподдержки и опишите ситуацию, при которой она проявляется.

При запросе веб-страниц через прокси-сервер появляется странное сообщение типа - 220 Traffic inspector HTTP/FTP Proxy server...

и дальше может быть:
530 Not logged in. Type "USER FTPUserName@FTPServer[:Port] ProxyUserName"
221 Quit OK.

Причина - прокси-сервер переключается в режим FTP, не дождавшись HTTP-запроса от браузера. Это может быть вызвано сильной нехваткой ресурсов на клиенте, сервере или медленной работой внутренней сети. Можно увеличить таймаут переключения режима до 5-8 секунд, правда это отразится на увеличении задержек при работе FTP прокси.


Отчеты

При генерации отчетов в них нет данных.

Все данные для отчетов (кроме текущей сетевой статистики) берутся из журналов. Возможно, запись в эти журналы была не включена. Проверьте эти настройки. Также можно посмотреть и сами записи логов - для этого в консоли для каждого журнала есть такая возможность. Тут одно исключение - журнал сетевой статистики. Но если очень надо, можно открыть эти логи обычным редактором (каталог Log\NetStat).

Также запись в логи не производится, если на диске исчерпан лимит свободного места - см. настройки журналов. Также могут быть и другие проблемы записи на диск. В любом случае следует просмотреть системные события (Application Log) на предмет ошибок.

Если записи в журналах есть, а отчет пустой - проверьте еще раз параметры отчетов.


Словарь терминов

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

N

NAT (Network Address Translation) - принцип работы NAT - это простая трансляция IP-адресов и портов в пакетах при прохождении через сервер. Для доступа через NAT не требуется никакая настройка клиентских программ - служба прозрачно транслирует все исходящие запросы наружу. Также этот подход отличает максимальная производительность и не требовательность к ресурсам сервера. Но NAT не позволяет приложению открывать входящие соединения. Это накладывает ограничения на некоторые протоколы, например IRC.

NetGeo - эта служба для многих IP-адресов сообщает местонахождение регистранта, хотя не всегда точно.

S

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

W

WhoIs - этот сервис используется для определения "хозяев" - регистрантов IP-адресов.

А

В

Внутренние сервера - это серверные приложения во внутренней сети, работающие с Интернет.

И

Интерфейс автоматизации - это поддерживаемый сервером COM-интерфейс с набором функций для управления билингом из других приложений.

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

К

Клиентский агент - небольшая программа, запускаемая на компьютере клиента. Основная ее задача - авторизация клиента по имени. Используемые в ней методы криптозащиты надежно защищают от возможностей перехвата паролей и их несанкционированного использования. Кроме этого агент решает и ряд других задач: отображает текущее состояние лицевого счета клиента, позволяет оперативно управлять фильтрацией и режимом кеширования, автоматически конфигурирует Internet Explorer. Для его установки имеется утилита массовой удаленной установки на компьютеры сети, а также инсталлятор можно загрузить через встроенный веб-сервер.

Контролируемые счетчики - предназначены для контроля потребления трафика от провайдера, как платного ресурса. Они описываются как внешние IP-адреса или сети.

П

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

С

Сетевой экран (firewall) - это отдельная служба, использующая фильтрацию входящего трафика на внешнем интерфейсе. Концепция сетевого экрана - по умолчанию разрешить все исходящие запросы и запретить все входящие. Для этого на входящий трафик на внешнем интерфейсе разрешены TCP-пакеты без SYN флага (для установленных соединений) и отклики по ICMP.

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

Ч

Черные списки - это списки нежелательных отправителей электронной почты.

Ш

Шейпер - это функция ограничения скорости работы клиентов. Реализована на уровне сетевого драйвера и позволяет работать с любым трафиком на внутреннем интерфейсе. Принцип работы шейпера - это вычисление скорости работы клиента и внесение задержек в передачу пакетов.


.topic 1300

1.	Обладателем исключительных прав на программу ТРАФИК ИНСПЕКТОР и ее разработчиком является ООО СМАРТ-СОФТ.

2.	Программа версии LITE и PE предназначена исключительно для НЕКОММЕРЧЕСКОГО ИСПОЛЬЗОВАНИЯ или
    ТЕСТИРОВАНИЯ. Регистрации программы не требуется и ограничения срока ее использования нет.

3.	Информация о приобретении других версий программы и порядка ее установки размещена на сайте http://www.smart-soft.ru.

4.	Если данный дистрибутив используется для установки платных версий программы ТРАФИК ИНСПЕКТОР, то в
    этом случае действует соответствующий лицензионный договор, заключенный между лицензиатом и ООО СМАРТ-СОФТ, или уполномоченным дилером.

5.	ООО СМАРТ-СОФТ оставляет за собой право отменить действие данной лицензии для любой из следующих версий ТРАФИК ИНСПЕКТОР.

6.	ТРАФИК ИНСПЕКТОР версии LITE (PE) распространяется свободно, при условии того, то настоящий дистрибутив не изменен. Ни одно частное лицо или организация не может брать плату за распространение ТРАФИК ИНСПЕКТОР без письменного разрешения авторов.

7.	ТРАФИК ИНСПЕКТОР ВЕРСИИ LITE ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. ООО СМАРТ-СОФТ НЕ  БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

8.	Для ТРАФИК ИНСПЕКТОР версии LITE (PE) гарантированная техническая поддержка не предусматривается, но по всем вопросам использования программы вы можете обращаться к разработчикам, и по возможности помощь будет оказана.

9.	Вы не можете использовать, копировать, эмулировать, создавать новые версии, сдавать в наем или аренду, продавать, изменять, декомпилировать, дизассемблировать, изучать код программы другими способами, передавать зарегистрированную программу или любые из ее составляющих, иначе, чем определено настоящим лицензионным соглашением. Любое такое нелегальное использование означает автоматическое и немедленное прекращение действия настоящего соглашения и может преследоваться по закону. Все права, не предоставленные здесь явно, сохраняются за ООО СМАРТ-СОФТ.

10.Установка и использование ТРАФИК ИНСПЕКТОР означает, что Вы понимаете положения настоящего лицензионного соглашения и согласны с ними.

11.Если Вы почему-либо не согласны с этим лицензионным соглашением, Вам необходимо удалить файлы дистрибутива ТРАФИК ИНСПЕКТОР с Ваших устройств хранения информации и прекратить использование этой программы.

12. ООО СМАРТ-СОФТ гарантирует отсутствие умышленных деструктивных и шпионских функций в программе.

13.Данное лицензионное соглашение не является действительным для последующих версий программы.

.topic 10000

    При запуске консоли сервис должен стартовать автоматически. Если консоль запустилась с ошибкой, то смотрите соотв. раздел.

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

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

    Если каких-то интерфейсов не хватает, но они должны быть - смотрите здесь.

    Из главной страницы консоли доступны операции:

Refresh (обновить) - обновить соединение с сервером. Следует использовать, если при работе консоли соединение с сервером по каким-то причинам было потеряно и отображаются ошибки соединения типа RPC call failed. Также приводит к обновлению данных в главном окне консоли.
Соединение с сервером. Выбор сервера для администрирования.
Конфигурирование. Запускается мастер настройки сети и выбор используемых служб.
Properties (свойства) - общие настройки программы.
Активация платной версии программы или смена ключа при переходе на другую версию.
Смена пароля. Если используется аутентификация администратора по паролю, то можно ввести новый пароль. Введенный пароль может быть запомнен в файле оснастки консоли.
Сброс интерфейсов - производится полное обновление всех настроек программы и рестарт ее служб.

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

.topic 10010

    Эта функция доступна из меню в главном окне консоли. Предварительно ознакомьтесь с этим разделом.

    В окне отображается код продукта и текущая привязка.

    Действия для активации купленной программы могут быть следующие:

Ключа активации нет. Надо отправить запрос продавцу на получение ключа. Нажмите на кнопку Копировать и данные запроса будут скопированы в буфер обмена. Можно далее вызвать почтовую программу и отправить запрос по почте. Также имеется кнопка прямой отправки запроса через сайт (но это для активации платной версии пока не реализовано!).
Ключ активации уже есть. Если он был выдан продавцом до установки программы, то к нему должен быть приложен код продукта и привязка (IP- адрес или код конфигурации "железа"). Смените код продукта в этом окне, предварительно это разрешив, включив опцию Сменить. Проверьте соответствие привязки. Если была выдана привязка на несколько IP-адресов, а в текущей привязке каких-либо не хватает (интерфейсы не активны), то введите все адреса через запятую. Порядок адресов в списке значения не имеет. После этого введите ключ и нажмите Ввести. В главном окне консоли проверьте версию лицензии. Если версия не сменилась, попробуйте через несколько секунд обновить данные, нажав на Refresh.

    После активации платной версии иконка этой операции на главном окне консоли пропадет. Но эта процедура всегда доступна через контекстное меню консоли.

    Не забудьте на всякий случай код продукта, привязку и код активации где-нибудь сохранить. Секрета из них делать не надо, все равно повторно в другом месте их использовать не получится.

    Для активации программы с ограничением по времени включите опцию Trial. В поле привязки появится код конфигурации "железа" компьютера. Дальнейшие действия аналогичны. Для получения ключа используйте отправку запроса на сайт. Отправку запроса по почте не используйте.

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

.topic 10020

    Эта функция доступна из меню в главном окне консоли.

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

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

    Выберите тип конфигурации:

Используется внутренняя и внешняя сеть - полный режим.
Только внутренняя сеть - будет доступен учет трафика пользователей, прокси-сервер и SOCKS.
Только внешняя сеть - будет доступен firewall, учет внешнего трафика и SMTP шлюз. Также может быть активирован персональный режим.

#
    Если внутренняя сеть используется, выберите интерфейсы внутренних сетей и их тип. Для упрощения выбора нажмите Выбрать с интранет IP-адресами. Также для каждого интерфейса отдельно может быть задан тип сети - локальная или публичная (см. описание).

#
Если надо, включите прокси- и SOCKS-сервер. Если прокси-сервер отключить, то локальный веб-сервер также будет недоступен. Иногда также может потребоваться смена портов.

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

#
    Выберите настройки, связанные с фильтрацией трафика на внешнем интерфейсе.

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

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

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

.topic 10030

    Это окно доступно как Properties (Свойства) в главном окне консоли и здесь собраны общие настройки программы, имеющие отношения к различным службам.
    В окне имеются следующие разделы свойств:
сетевой драйвер
сетевая статистика
DNS
журналы и временные файлы
администрирование

Сетевой драйвер.

    Настройки сетевого драйвера, они относятся ко всем интерфейсам.

    Учитывать заголовки Ethernet - общее правило определения длины пакета. Смотрите раздел.

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

Сетевая статистика.

    Общие настройки для сетевой статистики. Принцип работы подробно описан тут.

    Если группировку по динамическим портам полностью отключить, то обьем данных в статистике резко возрастет и ее наглядность ухудшится. Если требуется раздельный учет для серверов, работающих по портам более 1023, добавьте их в список. В этом примере добавлен порт 1433 для Microsoft SQL Server.

    Если для сетевой статистики включить использование DNS, то для всех IP-адресов в коллекторах будут автоматически определяться имена. Это работает совершенно прозрачно для самой операции сбора статистики, но приводит к увеличению потребления трафика за счет DNS-запросов по каждому новому адресу.

    При большом количестве пользователей (более 100-300) эта операция становится ресурсоемкой и может привести к неработоспособности программы. Поэтому предусмотрена возможность разрешить ее отдельно для клиентов.

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

DNS.

    В  фильтрах и их списках могут использоваться имена хостов вместо IP-адресов.

    Имеется отдельная служба, которая эти имена преобразует в IP-адреса и следит за их изменениями - смотрите раздел. Здесь представлены настройки этой службы, изменять эти параметры в большинстве случаев необходимости нет.

    Удалять неизвестный хост из списка - это применяется только к именам хостов в списке фильтра. Если имя используется в самом фильтре, сам фильтр не удаляется, он просто не будет использован.

Журналы и временные файлы.

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

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

Администрирование.

    Это настройки для разграничения доступа при работе через консоль и к API-интерфейсу.

    Используется 2 способа аутентификации при соединении консоли с сервером:

Windows (NTLM) - по умолчанию. При этом используется текущий логин пользователя в системе. Если домена нет, то доступ возможен только при локальном логине на сервере, удаленно этот способ не работает.
По паролю. По умолчанию пароль пустой (не задан) и такой доступ запрещен.

    Оба способа используются последовательно - если доступ по Windows-аутентификации не прошел, то будет произведена попытка войти по паролю.

    После первой установки доступ на консоль разрешен всем, прошедшим Windows-аутентификацию (NTLM). Если есть домен, то будет разрешен и удаленный доступ с любого компьютера домена. Если домена нет, то будет разрешен только локальный доступ.

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

    Сменить пароль администратора также можно через меню Сменить пароль главной страницы консоли.

    Также установите пароль для доступа через API-интерфейс автоматизации.

    Если требуется управление системой билинга через API автоматизации, то этот доступ должен быть разрешен. Также введите пароль, который будет использоваться при вызове функций - установленный по умолчанию лучше сменить.

    API автоматизации используется в скриптах встроенной поддержки просмотра клиентской статистики через веб-сервер. Если доступ отключить, то это работать не будет.

.topic 20000

    Раздел консоли Внутренние сети доступен, если выбран хотя-бы один внутренний интерфейс или используется персональный режим - смотрите Мастер конфигурирования.

    На этой странице отображается различная сводная информация по клиентам.

.topic 20010

    Клиенты могут быть описаны как в общем списке, так и в группах. Это позволяет объединить их по общим тарифам и политикам доступа.

    Общие параметры клиентов и групп настраиваются через окно Properties (Свойства) разделов Клиенты или Группы консоли.

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

    Общие параметры разделяются на:
тарификация
расписание
авторизация
статистика
сервера терминалов

Тарификация.

    Здесь задаются общие для всех клиентов и групп тарифы.
#
    Оплата по умолчанию - этот параметр подставляется в поле оплаты при старте сессии клиента и при автодобавлении клиента. Также его использование удобно при рестарте клиентов через API автоматизации.

Расписание.

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

#

    На этой закладке приведены настройки параметров авторизации клиента.

    Можно разрешить клиенту через агента самостоятельно менять свой пароль, но только если не используется аутентификация Windows.

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

    Автодобавление клиентов - полезная возможность, упрощающая труд администратора при большом количестве клиентов. Доступно только при интегрированной Windows-аутентификации. Здесь можно задать группу домена Windows, для членов которых это будет разрешено. Клиенты будут добавляться при первой попытке авторизации и у них будут прописываться настройки по умолчанию. Клиенты могут добавляться в общий список или в конкретную группу - см. настройки для групп.

Статистика.

    Здесь представлены общие для всех клиентов настройки сетевой статистики (смотрите описание). При добавлении клиентов их настройки выставлены по умолчанию, поэтому изменение этих настроек будет применено сразу для всех.

Сервера терминалов.

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

.topic 20020

    С помощью групп клиенты объединяются по тарифам и политикам доступа. Группы одноуровневые, т.е. группа не может входить в другую группу.

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

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

    Группу можно добавить через меню узла Группы.

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

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

    Если группа удаляется, то клиенты этой группы переносятся в общий список, а ее фильтры удаляются.

    Для ввода параметров группы используйте Properties (Свойства) для группы.

    Параметры группы имеют следующие разделы:
группа
тарификация
расписание
фильтрация
ограничения

Группа.

    Введите имя группы. Оно должно быть уникальным. Группу впоследствии можно переименовывать, это никак не отразится на работе программы.

    Если используется автодобавление клиентов, то для группы можно задать группу домена Windows, членство пользователя в которой приведет к добавлению клиента в эту группу программы.

    Примечание - любой текст не более 255 символов.

Тарификация.

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

Расписание.

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

Фильтрация.

    Если для группы надо иметь собственные фильтры, включите использовать фильтрацию. ВНИМАНИЕ! Список фильтров для группы в консоли появится только после включения этой опции. Отключение ее приведет к удалению всех ранее введенных фильтров для этой группы.

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

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

Ограничения.

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

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

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

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

.topic 20030

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

    Изменить настройки клиента можно через меню или кнопку Properties (Свойства).

    Здесь не доступны свойства клиента, задающие статус его сессии. Оперативное управление клиентом и его тарификацией вынесено в раздел Монитор работы, где клиенты всех групп объеденены в один список.

    Свойства клиента подразделяются следующим образом:
клиент
идентификация
доступ
расписание
тарификация
ограничения
статистика
журнал

Клиент.

    Введите отображаемое имя клиента. Это поле не обязательное, если его оставить пустым, то в качестве этого имени будет использоваться его логин, IP-, MAC- или E-Mail-адрес в зависимости от способа авторизации.

    Имя впоследствии всегда можно поменять, на работе программы это никак не отразится.

    Группу клиента также всегда можно сменить. Если группа в последствии удаляется, то ее клиенты переносятся в общий список.

    Примечание - любой текст не более 255 символов. Используйте для любых заметок.

Идентификация.

    Если клиент авторизуется по имени, то введите Логин и Пароль. Если аутентификация производится через домен Windows, то пароль оставьте пустым. Поля IP-адресов в этом случае также можно заполнить для дополнительного ограничения доступа. Поле MAC-адреса игнорируется.

    Клиент также может идентифицироваться по IP-адресам или MAC-адресу. Логин при этом не заполняйте.

    Если для клиента также надо вести учет почтового трафика при использовании SMTP-шлюза, введите его E-Mail-адрес. Если адресов несколько, то введите дополнительные, нажав на кнопку Дополнительно. Если имеется домен Windows, то E-Mail-адреса можно взять из Active Directory у одноименного пользователя. Для этого нажмите на кнопку Загрузить из AD.

    Для учета входящей почты на некоторые E-Mail-адреса, которые не соотносятся с конкретными пользователями, например на E-Mail группы, можно прописать пользователя, который идентифицируется только по E-Mail-адресу. Заметим, что это придется сделать обязательно, если у SMTP-шлюза включен режим приема почты только для известных получателей, так как E-Mail-адрес группы будет невозможно соотнести конкретным
пользователям.

    Адрес PPTP-клиента - IP-адрес компьютера клиента, с которого идет подключение на VPN-сервер. Описание этого решения см. тут.

Доступ.

    Задайте режимы доступа - см. описание.

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

Расписание.

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

Тарификация.

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

Ограничения.

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

    Разрешить работу через службы - можно выставить персональные разрешения на работу через конкретные службы сервера. Если клиент входит в группу, то для нее есть и общая настройка.

    Также тут можно выставить и персональные лимиты скорости работы. Смотрите описание принципа работы и соответствующие настройки для группы.

Статистика.

    Здесь вводятся индивидуальные настройки сбора сетевой статистики для клиента - смотрите раздел Принцип работы.

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

Журнал.

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

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

    Журнал ведется в стиле других прокси-серверов и имеет формат, похожий на Microsoft ISA Server. Для разрешения записи это также должно быть разрешено в настройках прокси-сервера. Журнал довольно объемный и для всех клиентов его включать не надо. Для анализа их работы лучше использовать сетевую статистику.

.topic 20040

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

    Перед настройкой фильтров желательно ознакомиться с разделом.

    Фильтры могут быть как в общем списке, так и в списках для групп.

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

    Фильтры могут быть перенесены из одного списка в другой. Если группа удаляется, то ее фильтры удаляются также.

    Фильтры добавляются через меню Добавить, для редактирования используйте кнопку или меню Properties (Свойства).

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

    Свойства фильтров подразделяются следующим образом:
фильтр
тип
IP
список
контекст
расписание
действия

 Фильтр.

    Отключить фильтр - фильтр можно отключить, не удаляя его из списка.

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

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

    Применять фильтр в службах - можно ограничить действие фильтра соответствующими службами.

    Примечания - введите любой текст для заметок не более 255 знаков.

Тип.

    Тип фильтра:
#
На разрешение - этот фильтр доступен только если он Для всех или в группе, у которой трафик по умолчанию заблокирован. Иначе, так как для клиента все по умолчанию разрешено, такой фильтр смысла не имеет.
На запрещение - блокирует трафик, подпадающий под условия фильтра.
Клиентский - фильтры на запрещение, управляемые клиентами. Задают разные режимы "сбережения" трафика. Будет использован, если текущий уровень клиента не менее чем уровень фильтра. Т.е. если у клиента уровень F2, для него будут применены фильтры F1 и F2. Отметим, что минимальный уровень для каждого клиента может быть ограничен - смотрите раздел. Текущий уровнем может управлять как клиент через агента, так и администратор через Монитор работы. Смысловое значение уровне F1-F4 может быть любым. Для изменения их названия используйте соотв. настройки.
Только для тарификации или ограничения скорости - особый фильтр для случаев, когда надо описать тип трафика и применить это правило для каких-либо действий по изменению тарификации или ограничения скорости, без применения фильтрации.

    Применение:

Применить для клиентов - фильтр применяется только для клиентов, когда для них известен IP-адрес. Если клиент идентифицируется по диапазону IP-адресов, то такой фильтр применяется для каждого.
Применить для всех - применяется для любого источника из внутренних сетей. Будет применяться, в том числе, и для отключенных клиентов. Такой фильтр не может использоваться в группах. Используйте его для разрешения доступа на сам сервер, если есть VPN или сервер маршрутизирует трафик на DMZ или другие интерфейсы. Для домовой сети таким фильтром можно разрешить трафик на внутренний Web-сервер. Если имеются некие общие "черные" списки ресурсов, не задаваемых на уровне приложений, то для них надо всегда ставить Применить для всех - при этом минимизируется количество фильтров IP-стека. Такой фильтр также будет распространяться и на группы, даже если у них снято Использовать общие фильтры.

    Тип сети - задает тип внутренней сети, для которой применяется фильтр. Тем самым можно сформировать различные политики доступа из разных по сути сетей. Для публичной сети логично произвести ограничение доступа как на сам сервер, так на другие внутренние сети - явно разрешить только то, что необходимо.

    Фильтр приложений - включить, если требуется задание условий уровня приложений - HTTP, FTP. Эти условия могут проверяться при работе клиента только через прокси-сервер, для фильтрации прямого трафика такой возможности нет. При отключении этой опции ввод всех критериев уровня приложений - URL, контента и др. будет недоступен. Фильтр приложений для прямого трафика (через NAT) применяться не будет.

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

IP.

    Здесь задаются критерии IP-протокола.

    Порты источника - можно задать для типа протокола TCP или UDP. Заполняется, например, если используется фильтр На разрешение, клиент является сервером и надо разрешить какой-либо тип трафика на его серверые службы.

    IP-протокол - можно задать тип: UDP, TCP, ICMP, IPSec или указать явно его номер. ICMP и IPSec - композитные фильтры, они сразу задают группу фильтров уровня IP-стека. Если используется фильтр уровень приложений, то протокол всегда TCP.

    Адрес назначения - задает адреса, к которым применяется фильтр. Тут возможно много вариантов:

Локальный интерфейс - фильтр описывает трафик на IP-адреса интерфейсов внутренних сетей. Если на интерфейс назначено несколько IP- 	адресов, то фильтры будут применяться к каждому. Используйте для разграничения доступа на сам сервер или описания платного трафика 	для его служб.
IP-адрес или сеть - можно задать любой внешний для клиентов IP-адрес или сеть, на который возможен трафик изнутри.  Это может быть 	внешний Интернет ресурс, а может быть сеть DMZ или VPN.
Имя хоста - задайте имя хоста вместо IP-адреса. Для того, чтобы такой фильтр можно было применить и для фильтрации на уровне IP-стека, 	имеется специальная служба преобразования имен через DNS. Ее настройки смотрите здесь. Если используется фильтр приложений, то это 	поле может описывать не только хост, но и целиком домен - см. далее.
Использовать список - если надо описать похожие фильтры сразу к большой группе хостов, целесообразно использовать список. Это уменьшает количество фильтров, упрощает администрирование и ускоряет работу программы.

    Порты назначения - можно задать порты для протоколов TCP или UDP.

Список.

    Для не фильтров приложений в списке можно задать:

IP-адрес.
IP-сеть в формате типа 11.22.33.44/24 или 11.22.33.44/255.2455.255.0, где правая часть - это маска.
диапазон IP-адресов в формате типа 11.22.33.44-11.22.33.49, причем допускается использовать не более 16 адресов в этом диапазоне.
имя хоста. Для фильтрации прямого трафика это имя будет через DNS преобразовываться в IP-адрес - смотрите здесь. Текущий статус этого процесса можно контролировать в отдельном окне Список хостов, доступном в меню консоли для списка фильтров.

    Для фильтров приложений в списке задаются абсолютные URL в формате Host/Path. Порядок анализа (совпадение по началу или полное) задается тут.

    Список хранится в каталоге config на сервере в виде отдельного файла. Используйте Имя файла конфигурации для прямого доступа к нему.

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

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

    Сортировать - нажмите для сортировки данных списка.

    Преобразовать URL в хост - отбросить пути в записях списка и оставить только хост. Используйте для того, чтобы отбросить HTTP-путь и оставить только имена хостов и IP-адреса. Наличие пути в описании ресурса не позволит применить его как блокирующий для IP-уровня. Если список большой и импортировался из какого-нибудь "черного списка", то это может оказаться полезным.

Контекст.

    Здесь задаются условия фильтрации только для фильтра уровня приложений.

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

    URL или ключевые слово - используется при анализе строки запроса, способ анализа задается Совпадением. При анализе запроса используются и его параметры (отделенные символом ?)

    Если выбрано По началу, то в поле URL следует указать относительный путь. Из полной строки запроса берется относительный путь и условие выполняется, если начало этой строки совпадает со строкой в поле URL.

    Если выбрано Полное, то условие выполняется, если строка относительного запроса и поле URL полностью совпадают.

    Способы По началу и Полное также применяются к способу анализа пути, если они заданы в списках.

    Любое - это условие позволяет применить контекстный поиск по ключевым словам в строке запроса. В этом случае используется строка запроса вместе с именем хоста. В примере приведен фильтр с ключевым словом banner, он сработает на все запросы, где хоть как-нибудь упоминается это слово - например www.banner.com, www.host.com/banner или www host.com?banner=123

    Типы данных - выберите группы типов данных, для которых применять данный фильтр. Типы данных описаны в отдельном конфигурационном файле CntGrp.ini. Возможности работы с ним через консоль не предусмотрено, так как это может потребоваться достаточно редко. Все стандартные типы там уже описаны и собраны по очевидным группам. Если все-таки надо что-то подправить, его можно отредактировать напрямую.

    Трактовать имя хоста как домен - если разрешить, то имена хостов будут рассматриваться как домен и фильтры будут применяться ко всем хостам и поддоменам этого домена. Например, если задать имя хоста microsoft.com, то фильтр будет применен ко всем ресурсам Misrosoft, относящихся к этому домену (www.microsoft.com). Это также относится и к хостам, заданным в списке.

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

Расписание.

    Расписание действия фильтра. Эти настройки позволят динамически во времени менять политики доступа, управлять тарифами и ограничениями скорости.

    Отменить ограничения - нажатие снимет все ограничения по времени.

Действия.

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

    Это возможно только для фильтров типов На разрешение или Для тарификации или ограничения скорости.

    Не использовать этот трафик для измерения скорости - это правило позволяет исключить какой-либо трафик при вычислении скорости с целью применения ограничений. Смотрите принцип работы.

    Использовать фильтр для ограничения скорости - вводит ограничения на заданный вид трафика. Если клиент имеет свои ограничения, то они имеют приоритет. Установите Переопределять ограничения клиента для того, чтобы это правило было применено независимо от настроек клиента.

.topic 20050

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

.topic 20055

    Это окно доступно для фильтра, имеющего список хостов и который не является фильтром приложений. В нем отображается статус DNS преобразования имен хостов в их IP-адрес. Окно доступно через меню консоли в списке фильтров.

    Удалить - можно немедленно удалить выбранный хост из списка.
    Удалить с ошибками - будут удалены все хосты, для которых преобразование было выполнено с ошибкой.

    Общие настройки процедуры DNS преобразования в списках задаются здесь.

.topic 20060

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

    В таблице отображаются все текущие счетчики трафика клиента, его текущее состояние, тарифы и начисления. Некоторые колонки по умолчанию скрыты, используйте меню консоли View/Choose columns для настройки таблицы. Значения в угловых скобках означают, что у клиента используются настройки по умолчанию.

    Сверху имеются кнопки, которыми изменяются состояния сессии клиента.

    Кнопки фильтрации F0-F4 и режимов кеширования полностью аналогичны тем, что есть у клиентского агента. Они позволяют манипулировать этими настройками со стороны администратора.

    Эта таблица автообновляемая с интервалом около 10 секунд, чтобы ее обновить немедленно, используйте кнопку Refresh.

    В этом разделе консоли вводятся проплаты и можно ввести индивидуальные тарифы. Для этого используйте кнопку или меню Properties (Свойства) для вызова окна редактирования.

#

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

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

    Это окно автоматически вызывается также при запуске новой сессии. Если от предыдущей сессии остался остаток средств, то эта сумма может быть добавлена нажатием на кнопку Добавить из предыдущей сессии.

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

#

    Если установить Больше не показывать, то это окно вызываться в дальнейшем не будет. Включить или отключить вывод этого окна можно также через меню консоли в разделе монитора работы.

.topic 20070

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

    Тут клиента можно выбрать из списка, но также есть возможность ввести его имя или GUID. Это может быть полезно в том случае, если клиент уже удален и в списке отсутствует.

    Формат таблицы полностью соответствует формату файла журнала. В некоторых колонках используются статусные коды, они заменены на описание. Колонок очень много, и поэтому некоторые по умолчанию скрыты. Используйте меню консоли View/Choose columns для настройки таблицы.

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

    Заметим также, что файлы журналов можно всегда загрузить в Excel или Access и обработать там.

    При работе с этим списком имеется такая полезная функция, как восстановление состояния клиента по ранее сохраненным записям журнала. Это позволит исправить какие-либо ошибки администрирования и "откатить" данные назад. Для этого следует выбрать требуемую запись события и через меню консоли нажать Восстановить данные и статистику клиента.

.topic 20200

    В этом разделе собраны все настройки прокси-сервера и SOCKS. Встроенный веб-сервер полностью интегрирован с прокси-сервером и своих настроек не имеет. прокси-сервер имеет большое количество настроек, и если есть необходимость их менять, то надо обязательно ознакомиться с разделом Прокси-сервер.

    На главной странице прокси-сервера отображается его текущий статус и имеются иконки для быстрого доступа к основным операциям.

    Настройки прокси-сервера поделены следующим образом:
настройки
HTTP-кеширование
FTP-прокси
настройки клиентов
журнал

Настройки.

    Задайте каталог для размещения кеша на диске и его размер. Кеш использует один большой файл и создается сразу заданного размера. В случае перемещения кеша старый файл не удаляется, его придется удалить самим.

    Изменять размер кеша можно без проблем, но при уменьшении его размера некоторые данные могут быть потеряны.

    Тайм-аут соединения с сервером - максимальное время установления соединения с вызываемым ресурсом. Этот параметр общий для всех режимов прокси-сервера и SOCKS.

    Каскадирование - здесь задаются параметры вышестоящего прокси-сервера, на который будут перенаправляться HTTP-запросы. Для FTP-прокси и SOCKS каскадирование не поддерживается. Задавать имя пользователя и пароль необязательно, может использоваться и анонимный доступ.

HTTP-кеширование.

    Здесь вводятся настройки функций кеширования прокси-сервера.

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

    Разрешить кеширование HTTP-контента - разрешает использование кеширования вообще. Запрещение этой функции не приводит к очистке содержимого кеша.

    Проверять обновление всех обьектов - включение приведет к тому, что все запрашиваемые обьекты, когда они есть в кеше, будут проверяться на сервере на предмет их "свежести" - не обновились ли они. Это будет гарантировать, что клиент всегда получит правильные данные, но экономия трафика будет минимальная.

    Логика работы кеша и назначение параметров вычисления TTL подробно описаны здесь.

    Кешировать обьекты с неизвестным временем создания - в большинстве случаев отключать не стоит, существует много сайтов, которые время создания ресурсов не сообщают .

    Кешировать динамические обьекты - также отключать не стоит. Динамические обьекты - это, если строка запроса содержит параметры после символа ? или используется специальный тип контента Chanked.

    Возвращать ошибку, если не удается проверить на сервере - если не включать, то при невозможности произвести проверку "свежести" обьекта, а он есть в кеше, клиенту будет возвращен объект из кеша.

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

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

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

FTP-прокси.

    Здесь собраны настройки FTP-прокси.

    Задержка выдачи промпта FTP прокси-сервера - это задержка перехода из режима HTTP в FTP. Классический FTP-прокси и HTTP работает через один порт. После соединения клиента сервер ожидает HTTP-запрос, если его какое-то время нет, то переходит в режим FTP и выдает промпт. В некоторых случаях при задержках во внутренних сетях может быть полезно это время увеличить.

    Следующие параметры используются как для режима классического FTP-прокси, так и в режиме FTP через HTTP:

    Тайм-аут команд - время ожидания отклика от сервера. При превышении сессия закрывается. Не следует это путать с параметром Тайм-аут соединения на первой закладке окна.

    Тайм-аут начала передачи данных - время ожидания начала передачи данных после открытия активного режима. Для режима FTP через HTTP по истечении этого времени будет предпринята попытка использовать пассивный режим.

    Пассивный режим - не применять активный режим при FTP через HTTP. Для других режимов FTP-прокси это определяется FTP-клиентом.

    Интервал выдачи команды NOOP - для режима FTP через HTTP команда NOOP используется для удержания соединения с FTP-сервером. Для других режимов прокси это определяется FTP-клиентом.

Настройки клиентов.

    Разрешить интегрированную Windows-аутентификацию - удобная возможность для клиентов, работающих с сервером в одном домене и не использующих клиентского агента. Браузер при этом не запрашивает пароль, а применяется текущий логин клиента. Следует отметить, что это работает также на системах Windows 95/98/ME. Но в некоторых случаях, когда имеются клиенты, которые логинятся в Windows под одной учетной записью, но с Traffic Inspector могут использовать разные другие, эту возможность для предотвращения ошибочных логинов можно отключить.

    Конфигурирование браузера - настройки, связанные с автоконфигурированием прокси на браузерах клиентов. Для этого сервер выдает стандартный wpad.dat Java-скрипт. Следует отметить, что сервер также откликается и на запрос config.script. Кроме настроек на сам прокси - его адрес и порт, в этот скрипт также может быть включена LAT - таблица локальных адресов. В ней задаются IP-адреса или сети, с которыми браузер должен работать напрямую, минуя прокси-сервер.

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

    Для других браузеров (Mozilla, Opera) пропишите скрипт вручную типа http://server:port/wpad.dat. Конфигурирование через скрипт намного предпочтительнее задания явных настроек, так все изменения заносятся централизованно.

    Указывать в скрипте SOCKS-сервер - если включить, то для браузера в качестве альтернативного варианта будет указан и SOCKS-сервер. Включение этой опции может иметь некоторые нежелательные последствия - если браузер при попытке работать через HTTP-прокси почему-то получит ошибку, в дальнейшем он переключится на SOCKS и будет работать через эту службу, больше не проверяя доступность HTTP-прокси.

    Блокировать кеширование на браузере клиентов - если включить, то прокси всегда будет возвращать HTTP-атрибут no-cache. В соответствии стандартам это должно отключить кеширование у браузера, но на работу кеша в Internet Explorer этот атрибут почему-то особого действия не оказывает.

    Игнорировать no-cache в запросе клиента - если клиенты используют переключение режимов кеширования с помощью агента, то это целесообразно включить.

Журнал.

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

    Также записывать блокированные запросы - может быть полезно для отладки фильтров, в этом случае в журнал попадут и отфильтрованные запросы.

.topic 20210

    Если кеш прокси-сервера настроен на максимальную экономию трафика, то для просмотра заранее известных быстрообновляемых ресурсов правила кеширования целесообразно описать отдельно.

    В данном примере правила задают обязательную проверку ресурсов на погодном сайте gismeteo.ru, а также для форумов. Форумы определяем по наличию в запросе ключевых слов board или forum.

#

    Верхняя часть окна настроек правил кеширования несколько напоминает фильтры, тут задаются критерии запроса.

    В поле URL можно задать строку запроса (вводится относительный путь), или ключевое слово. В отличие от фильтров тут можно ввести только одно ключевое слово.

    Также можно задать типы данных, к которым применяется этот запрос. Однако при задании типов данных есть один нюанс - для запроса, когда ресурс явно не указан, тип данных не известен, и это такое правило может не сработать.

    Нижняя часть переопределяет правила кеширования, заданные в настройках прокси-сервера.

    Примечания - любой текст длиной не более 255 символов.

.topic 20220

    В этой таблице отображаются все активные сессии прокси-сервера, SOCKS и встроенного веб-сервера.

    Сессия может быть принудительно закрыта - используйте кнопку или меню Delete.

    Особый интерес может быть к полю Служ.TCP. Это поле по умолчанию скрыто. В нем отображается служебный внешний TCP-трафик, представляющий собой "довесок" к полезным данным. Это заголовки пакетов и служебные пакеты TCP-протокола. На классических прокси-серверах этот трафик не учитывется, что приводит к существенному занижению данных по трафику.

.topic 20230

    Здесь можно просмотреть записи журнала запросов прокси-сервера.

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

    Выборка записей может быть сделана по клиенту и интервалам времени. Клиента можно выбрать из списка, а также ввести его имя или GUID. Последнее может быть полезно для случая, когда клиент уже удален и в списке он отсутствует.
#

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

    Ресурс, соответствующий записи в журнале, может быть тут же открыт браузером - используйте команду Открыть из меню консоли.

    Особо следует пояснить поля:

    Из кеша - если ресурс взят из кеша, то это его обьем в байтах.

    Кеш-статус - сюда заносятся флажки операций с кешем:

W - произведена запись в кеш,
R - чтение из кеша,
V -обьект из кеша был проверен.

    Сочетания этих флажков могут означать следующее:

    VW - объект есть в кеше, проверен, получен с сервера более свежий и записан в кеш.
    VR - обьект есть в кеше, проверен и взят из кеша.

    Эти данные могут быть полезны для отладки кеширования и оценки его эффективности.

    Если была включена операция записи блокированных запросов, то для них значения Передано и Принято будут 0.

.topic 30000

    Раздел консоли Внешние сети доступен, если при конфигурировании сервера выбран хотя бы один внешний интерфейс или разрешено его автоконфигурирование.

    Здесь представлены настройки внешних счетчиков и сетевого экрана (firewall).

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

#
    Отсюда также доступны некоторые настройки - используйте кнопку или меню Properties (Свойства) в левой части консоли.

    SYN Attack protect - включение защиты в Windows от TCP SYN атак. Эта настройка вносит изменения в настройки TCP/IP в реестре системы.  Для применения этого потребуется перезагрузка системы.

.topic 30010

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

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

    В данном примере приведено 3 счетчика, и логично здесь разграничение трафика делать в соответствии с тарифами провайдера:

1.	Мой провайдер - внутрисетевой бесплатный трафик провайдера.
2.	Российский трафик - льготный трафик.
3.	Internet - весь остальной трафик, не подпадающий под два предыдущих критерия.

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

    Счетчики можно очистить через меню консоли, но лучше это делать автоматически скриптом через API автоматизации.

    Для редактирования счетчиков используйте кнопку или меню Properties (Свойства) консоли.

    Свойства контролируемых счетчиков делятся на:
счетчик
контроль
статистика
журнал

Счетчик.

    Обязательно введите имя счетчика.

    Счетчик описывается IP адресами внешних сетей.

    Счетчик типа на Весь трафик может быть только один и он присутствует по умолчанию.

    Для других счетчиков пропишите IP-адрес или задайте IP сети в отдельном окне.

    Примечание - любой текст длиной не более 255 символов.

Контроль.

    Здесь вводятся лимиты на предупреждение, перерасход и ежедневный лимит отдельно на прием и передачу.

    Оповещать администраторов по почте - включить, если надо извещать об изменениях состояний счетчиков. Рассылки настраиваются в свойствах SMTP-служб.

    ВНИМАНИЕ! Если рассылку включить, но SMTP-службу отправки сообщений не настроить, то сообщения будут скапливаться в очереди.

    Разрешить блокировку внешнего трафика при превышении лимита - может использоваться, если соотв. опция была включена при конфигурировании сервера.

    Если разрешена блокировка и произошел перерасход в счетчике на Весь трафик, то внешние сети будут полностью отключены. Если перерасход произошел в счетчике, где задан IP-адрес или сети, то заблокируются только эти сети. Блокировка срабатывает по лимиту и ежедневному лимиту.

Статистика.

    Записывать сетевую статистику - выберите, если надо вести детальную статистику трафика в контексте этого счетчика. Смотрите описание.

    Здесь также надо указать способ сортировки записей в коллекторе. Отметим, что аналогичной настройки для сетевой статистики у клиентов нет, там используется сортировка в соответствии с их тарифами.

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

Журнал.

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

    При изменении состояния счетчика данные в журнал будут записаны независимо от этих настроек.

.topic 30020

    Эти счетчики используются для анализа внешнего трафика. Смотрите Основные функции.

    В этой таблице показаны некоторые настройки информационных счетчиков, текущее состояние и трафик по ним.

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

    Счетчики можно очистить через меню консоли, но лучше это делать автоматически скриптом через API автоматизации.

    Для редактирования счетчиков используйте кнопку или меню Properties (Свойства) консоли.

    Свойства информационных счетчиков делятся на:
счетчик
статистика
журнал

Счетчик.

    Обязательно введите имя счетчика.

    Счетчик описывается IP-адресами внешних сетей, а также, в отличие от контролируемых счетчиков, дополнительно можно задать тип IP-протокола и порты для TCP и UDP.

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

    Примечание - любой текст длиной не более 255 символов.

Статистика.

    Записывать сетевую статистику - выберите, если надо вести детальную статистику трафика в контексте этого счетчика. Смотрите описание.

    Здесь также надо указать способ сортировки записей в коллекторе. Отметим, что аналогичной настройки для сетевой статистики у клиентов нет, там используется сортировка в соответствии с их тарифами.

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

Журнал.

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

.topic 30030

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

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

#

    При выводе списка выберите счетчик из списка, также можно задать интервал дат.

.topic 30040

    Сетевой экран включается в процессе работы мастера конфигурирования. По умолчанию при его активации разрешены все исходящие запросы по TCP, UDP и ICMP (смотрите описание).

    Если надо разрешить входящие запросы по TCP, UDP, ICMP или какой-то другой IP-трафик, то надо добавить фильтры на разрешение.

    В данном примере разрешены запросы DHCP-клиента и FTP DATA для FTP клиента.

#

    Протокол - задайте IP-протокол.

    Для ICMP можно задать тип и подтип. Тип 8 подставляется по умолчанию - это ICMP ECHO Request, такой фильтр разрешает входящие ICMP- запросы.

    Для TCP и UDP также можно задать диапазоны портов источника и приемника. Нажатием на кнопки рядом с портами введутся для них значения динамических портов (более 1023).

    IPSec - композитный фильтр. Включает UDP/500 и IP-протоколы 50 и 51.

    Если надо ограничить доступ только с конкретного внешнего IP-адреса или сети, то введите ее.

    Также можно ввести и IP-адрес приемника. Если сервер имеет только один "белый" IP-адрес, то заполнять это значение смысла не имеет.

    Отключить фильтр - можно временно отключить фильтр, не удаляя его из списка.

    Примечание - любой текст длиной не более 255 символов.

    Следует отметить, что для встроенного SMTP-шлюза 25 порт по TCP открывать не надо - он это сделает сам.

.topic 30500

    К этим службам относятся служба отправки сообщений и SMTP-шлюз - смотрите настройки SMTP-сервера и описание работы.

    На главной странице этих служб отображается статистика службы отправки и иконки для быстрого доступа к некоторым настройкам.

    Служба отправки отправляет сообщения, принятые SMTP-шлюзом и оповещения для администраторов. Если это используется, то ее обязательно надо настроить - используйте кнопку или меню Properties (Свойства) узла SMTP-службы консоли.

    Свойства SMTP-шлюза делятся на:
отправка сообщений
оповещение

Отправка сообщений.

    Обязательно пропишите SMTP-сервер, на который будут отправляться сообщения. Можно использовать как имя хоста, так и IP-адрес. Этот сервер может находиться как во внутренней сети, так и на самом сервере доступа. В последнем случае, особенно если на нем используются еще и антивирусные шлюзы, возможно придется использовать порты, отличные от стандартного 25. Поменяйте порт в настройках, если надо.

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

Оповещение.

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

    Список рассылки - заполняется E-Mail-адресами, кому будут рассылаться сообщения.

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

    Послать проверочное сообщение - можно сразу же проверить настройки службы отправки сообщений, послав пробное сообщение.

.topic 30510

    Список Очередь отправки позволяет просмотреть, сообщения, находящиеся в очереди у службы отправки сообщений. Учитывая, что SMTP-сервер, куда отправляются сообщения, как правило, находится во внутренней сети и проблем со связью тут обычно нет, то эта очередь обычно будет пустой.

    Если все-таки сообщения тут скапливаются, то:

Проверьте настройки службы отправки. Пошлите проверочное сообщение.
Проверьте сам SMTP-сервер.
Сообщение может нести в себе какую-то ошибку.

    Для сообщения в очереди отображается его статус и сообщение об ошибке. Служба отправки сообщений при невозможности отправки будет пытаться его отправить повторно в течение какого-то времени (см. настройки), после чего удалит.

    Эти сообщения очереди находятся на сервере в подкаталоге \MailRoot\Queue. Предусмотрена возможность их просмотра через консоль, для этого используйте кнопку или меню Properties (Свойства) консоли. Сообщение будет считано в виде стандартного EML-файла и будет запущено приложение, которое в системе используется для просмотра таких файлов. Как правило, это Outlook Express.

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

    Если сообщение в очереди ошибочное или оно не нужно, то его можно удалить.

.topic 30520

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

    Для облегчения поиска имеется возможность получения выборки по различным критериям:
#

    Тут может быть задан интервал дат и условия поиска по отправителю, получателю и теме. Если Строгое соответствие не включено, то используется контекстный поиск. Строчные и прописные буквы не различаются.

.topic 30530

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

    Разрешается работа шлюза в процессе работы мастера конфигурирования, где также можно задать порт сервера.

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

    Для настройки сервера используйте кнопку или меню Properties (Свойства) узла SMTP-сервер консоли.

    Свойства SMTP-сервера делятся на:
соединения
получатель
фильтрация
"черные" списки
тарификация

Соединения.

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

    Тайм-аут простоя при соединении - по истечению этого времени при простое входящее соединение будет закрыто.

    Максимальный размер сообщения - можно ограничить размер принимаемых сообщений.

    Максимальное количество адресатов - введите для ограничения количества получателей для каждого сообщения.

Получатель.

    SMTP-сервер шлюза принципиально не может работать для пересылки (relay) сообщений произвольному адресату. Это сделано потому, что задача шлюза - это прием почты извне, ее фильтрация, учет трафика и пересылка на почтовый сервер, а рассылку почты наружу он не выполняет.

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

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

Фильтрация.

    В программе Traffic Inspector имеется некоторый набор мер по фильтрации нежелательной почты - СПАМА. Эти меры позволяют при минимальном участии администратора довольно эффективно отсечь большую часть сорной почты, но практически не затрагивая полезную. Смотрите описание SMTP-шлюза.

    Проверять адрес отправителя - если отключить, то почта будет приниматься, когда адрес отправителя любой, в том числе и пустой.

    Если включить, то будет проводится некоторый анализ на его правильность. Хотя протокол SMTP позволяет использовать любой адрес отправителя, а полностью проверить наличие почтового ящика у отправителя возможности нет, некоторый анализ адреса отправителя какое-то количество сорной почты отсекает.

    Здесь прежде всего проверяется его синтаксис. Дополнительно можно использовать проверку домена адреса отправителя на наличие DNS MX записи. Если адрес отправителя верный, то для его домена такие записи обязательно должны быть.

    Также имеется возможность подключить для проверки хостов отправителя RBL-службы. Они прописываются в отдельном списке и какое-то их количество при установке программы по умолчанию введено. Смотрите раздел по администрированию RBL-служб.

    Таймаут запросов на RBL-службы - время ожидания ответов от служб. Служб может быть подключено много и запросы на них рассылаются одновременно. Если от какой-то из служб пришел ответ о блокировке, то ответы от остальных дожидаться смысла нет, сообщение отсекается. Иначе ответы от служб будут ожидаться в течение этого времени, пока не придут от всех.

    Проверять через RBL службы IP-адреса в заголовках сообщений - очень полезная мера, повышает эффективность фильтрации в несколько раз. Если включить, то будет проверяться не только IP-адрес непосредственно отправителя, но и все IP-адреса промежуточных SMTP-серверов, вплоть до самого первого отправителя сообщения.
#
    Проверять через RBL-службы и черные списки после получения и проверки адреса отправителя и получателя - Если отключить, то проверка хоста отправителя будет производиться сразу после коннекта. Но это не позволит применить "белые списки" к адресам, так как эти адреса на этом этапе приема сообщения еще неизвестны.

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

"Черные" списки.

    "Черные списки" - это списки нежелательных отправителей электронной почты. Администратор может сам вручную его заполнять и вести.

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

    Если это включить, то хосты отправителей будут попадать туда при наличие блокировок через RBL-службы или при фиксировании заданного количества попыток отправок отфильтрованной почты за какой-то промежуток времени.

    Например, в данном примере:

Если письмо, полученное с какого-то хоста было отфильтровано по RBL, то этот хост сразу заносится в "черный список" с блокировкой и будет из него удален только через 120 минут (2 часа), если с него не будет предприниматься повторных попыток отправки сообщений.
Если письмо было отфильтровано по какому-то признаку, связанному с возможной рассылкой спама, то хост помещается в "черный список" как кандидат. Если в течение 10 минут таких попыток больше не было, он из "черного списка" удаляется. Если же с хоста набирается 2 попытки, то он ставится на блокировку и сообщения по нему будут немедленно отсекаться.

    ВНИМАНИЕ!
    При использовании этого механизма заполнения "черных списков" очень вероятно занесение в них SMTP backup серверов. Это такие сервера, которые прописаны в MX DNS почтовых доменов входящей почты как запасные. Для предотвращения внесения их в "черные списки" обязательно внесите их в "белые списки"!

Тарификация.

    Эти настройки управляют тарификацией и приемом почтовых сообщений для клиентов программы.

.topic 30540

    В этом списке отображаются текущие входящие соединения SMTP-сервера почтового шлюза.

.topic 30550

    Используйте этот список для администрирования подключенных RBL-служб.

    Кроме параметров служб также отображается некоторая статистика их работы, позволяющая оценить их эффективность. Злоупотреблять большим количеством служб не стоит, так как они потребляют некоторый трафик. Можно собрать статистику и затем отключить не совсем эффективные.

#

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

    DUL - Включить, если служба представляет DUL (Dial-up List). Это списки адресов модемных пулов провайдеров. Предполагается, что "правильный" отправитель почты отправит ее через SMTP-сервер, в то время как спаммеры часто отправляют почту напрямую, используя специальные программы рассылки. Анализ отправителя в DUL позволяет отсечь таким образом нежелательную почту. Но, если используется проверка RBL-службами в заголовках сообщений, DUL не должны использоваться, так как отсекут "правильного" отправителя.

    Ссылка на WEB ресурс и Примечания - информативные поля, в программе непосредственно не используются.

.topic 30580

    Для того чтобы предотвратить нежелательную фильтрацию почты, используйте белые списки. Тут можно описать хост, IP-адрес отправителя и его E-Mail-адрес.

    Наличие отправителя в белом списке имеет безусловный приоритет и это сообщение никогда фильтроваться не будет. Но, если в белых списках имеются E-Mail-адреса, необходимо в настройках SMTP-сервера включить позднюю проверку адресов.

.topic 30560

    Черные списки - это списки отправителей нежелательной почты.

    Они ведутся администратором, но также могут заполнятся автоматически - смотрите настройки.

    Если хост попал в список автоматически, то администратор отредактировать эту запись не может, он может ее только удалить.

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

    Примечание - любой текст не более 255 символов.

.topic 30590

    Каждый факт блокировки сообщения на SMTP-шлюзе фиксируется в журнале блокировок. В нем отображается различная информация о письме и причина его блокировки.

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

.topic 31000

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

    При больших размерах файлов и больших анализируемых интервалах формирование отчетов может занять некоторое время.

    Детально различные задачи по формированию отчетов описаны здесь.

.topic 31010

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

    Следует отметить, что сброс счетчиков клиентов путем рестарта из сессий и сброс внешних счетчиков на формируемую здесь статистику никак не влияет.

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

    Отчет имеет 4 страницы:

1.	Графики по времени отдельно по каждому объекту - клиенту и счетчику. При этом может выводиться как скорость, так и трафик в мегабайтах. Здесь также может быть включена группировка данных по часам и суткам.
2.	Суммарная статистика за отчетный период в виде горизонтальной гистограммы.
3.	Суммарная статистика в виде таблицы. Кроме данных по трафику здесь также отображаются некоторые расчетные данные по билингу - начисленный трафик и отпущенные за трафик услуги. Так как единицы тарификации у клиентов могут быть разные, суммы по услугам имеют смысл, если в отчет включены клиенты, имеющие одинаковые единицы.
4.	Круговая гистограмма суммарной статистики. Она выводится только по одному счетчику и одной категории обьектов - настройки этого отчета см. здесь.

    Таким образом, в зависимости от настроек, здесь можно получить больше десятка различных отчетов.

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

    Также есть возможность для графиков первой страницы отчета изменить горизонтальный масштаб - растянуть его для большей детализации. Для этого используйте меню масштаб, или можно применить лупу - выделить мышью фрагмент графика и он будет растянут. Для этого предусмотрены также кнопки сверху консоли.
#
    Используемые в консоли графические элементы при большом количестве данных могут вызвать ошибку нехватки системных ресурсов. Для предотвращения этого введена блокировка отображения графических данных при количестве выбранных обьектов (клиентов и счетчиков) более 150 и количестве записей более 50000. В этом случае на страницах графических отчетов будет отображаться нет данных, но табличный отчет будет доступен.

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

.topic 31015

    Для настройки отчета откройте окно редактирования через меню.

    Задайте отчетный период. По умолчанию даты выставляются на текущий день. Для удобства этот интервал может быть запомнен - включите опцию Запомнить даты.

    Также здесь задается тип отчета:

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

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

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

    Для внешних счетчиков данные Из кеша, Почтовый и Начисленный трафик смысла не имеют и никак не отображаются.
#

#

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

#

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

.topic 31020

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

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

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

    Обновить список - можно обновить список клиентов, если в процессе работы он изменился.

.topic 31030

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

    Для знакомства с описанием работы сетевой статистики смотрите раздел. Общие настройки для этой службы приведены здесь.

    Сверху можно выбрать обьекты статистики - клиенты или внешние счетчики. Запись статистики для этих обьектов должна быть разрешена - для клиентов смотрите здесь, для внешних счетчиков здесь и здесь.

    Текущий - если включено, то отображается текущая сетевая статистика, считываются из коллекторов. Автообновление - если включить, то данные будут периодически обновляться.

    Для формирования отчета за период времени выключите опцию Текущий и в появившихся полях ввода задайте интервал. Нажмите Обновить.

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

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

    Для анализа IP-адресов на предмет хозяина сети - регистранта, имеется возможность сделать запрос через службы WhoIs или NetGeo - используйте меню Информация о сети или просто дважды кликните мышью. Также можно попытаться открыть WWW-страницу - используйте соотв. меню.

    Для настройки отчета можно вызвать окно, нажав меню или кнопку Properties.
#

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

    Список в отчете можно отфильтровать - для этого используйте меню Фильтр или кнопку на панели консоли.
#

    В окне фильтра можно задать выборку по хосту или IP адресу, IP протоколам и портам.

.topic 32000

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

События.

    Таблица системных сообщений сервера. Здесь выводятся только некоторое количество последних сообщений сервера и только за время его работы. Все эти сообщения пишутся в Application Log операционной системы, и могут быть там просмотрены в полном объеме стандартными средствами.

Сетевые настройки.

    Полный аналог команды ipconfig -all Windows, но позволяет удаленно проверить сетевые настройки сервера.

Таблица маршрутов.

    Аналог системной команды route print, в отличие от нее работает удаленно.

TCP/UDP-сокеты.

    Аналог команды netstat Windows. Показывает открытые сокеты и TCP-соединения на сервере. В отличие от нее дополнительно отображает имена процессов и позволяет работать удаленно.

    По умолчанию отображаются только открытые сокеты, привязанные к внешним интерфейсам. Но через меню показать все можно включить отображение всех.

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

Отчет.

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

    Также из раздела диагностики можно вызвать WhoIs сервис - используйте меню консоли.

.topic 32100

    Этот сервис используется для определения "хозяев" - регистрантов IP-адресов. Его можно вызвать из отчетов по сетевой статистике или отдельно из раздела Диагностика.

    Кроме стандартной службы WhoIs можно также использовать NetGeo. Эта служба для многих IP-адресов сообщает местонахождение регистранта, хотя не всегда точно.

.topic 35000

    Это окно ввода и редактирования списка сетей используется в различных случаях, например во внешних счетчиках или таблице LAT автоконфигурирования браузеров клиентов.

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

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

.topic 740
    В своих собственных программах и скриптах Вы можете использовать интерфейс автоматизации Трафик Инспектора.

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

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

    Поэтому в Traffic Inspector реализован COM-интерфейс, позволяющий из любого приложения работать с билингом, расширяя возможности программы. Чаще всего это может потребоваться, например, для следующих операций:

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

    По простому для выполнения этих операций может быть использован стандартный Scripting Host Windows и для запуска vbs файлов по расписанию можно задействовать службу Sheduler Task Windows. При установке сервера в отдельный каталог scripts помещается некоторый набор скриптов в качестве примеров. Используйте их как шаблон для написания собственных сценариев.

    Доступ через API к системе билинга возможен из любых приложений, поддерживающих интерфейс COM автоматизации - это семейство Microsoft Office, 1С предприятие и многие другие.

    API-интерфейс поддерживает и удаленную работу через DCOM, но для этого само приложение должно уметь это делать.

    Функции API-интерфейса также используются в клиентском веб-сервисе.

.topic 750

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

    Для инициализации интерфейса используется строка ClassId "TrafInsp.TrafInspAdmin". Для VB это выглядит так:

    set Srv = CreateObject("TrafInsp.TrafInspAdmin")

    Дальше необходимо ввести пароль, иначе все дальнейшие операции будут недоступны:

    Srv.APILogon("Password")

    Здесь Password - это пароль, заданный при конфигурировании.

    Функции, доступные для вызова через интерфейс:

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

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

    Также отметим, что для пользователя его отображаемое имя явно может быть не задано. В этом случае оно будет генерироваться на основе его идентификатора - логина, IP-адреса, MAC или E-Mail.

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

.topic 780

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

    Data = APIGetBillProp(ObjType, ObjID)

    ObjType - Тип запрашиваемых данных. Может принимать значения:

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

    ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

    Если ObjType = 1, то этот параметр игноируется.

    Если ObjType = 2, и ObjID пустая строка, то выводится список групп, иначе выводятся параметры для конкретной группы.

    Если ObjType = 3, и ObjID пустая строка, то выводится список всех пользователей, иначе если ObjID задает группу, то выводится список пользователей этой группы, а если ObjID задает пользователя, то выводятся параметры этого пользователя.

    Data - возвращаемые данные в виде одномерного массива для одиночного объекта или в виде двумерного массива (таблицы) для списка объектов.

    Формат выводимых данных следующий:

    Способ тарификации трафика отображается значением:

0.	Входящий.
1.	Исходящий.
2.	Сумма входящего и исходящего.
3.	Максимальное значение входящего и исходящего.

    Смотрите пример использования.

.topic 790

    Эта функция используется для изменения параметров тарификации. Ее можно применить для общих настроек, групп и клиентов.

    Ret = APISetBillProp(ObjType, ObjID, Price, TraffExclude, PriceTime, CacheCost, MailCost, Cash, AdminName, AdminNote)

    ObjType - Тип запрашиваемых данных. Может принимать значения:

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

    ObjID - идентификатор клиента или группы. Обязательный параметр, эта функция может применяться только к одному обьекту.

    Price - цена трафика.
    TraffExclude - предоплаченный трафик.
    PriceTime - абонентская плата.
    CacheCost - стоимость трафика из кеша в % от тарифа. Вводится целое значение.
    MailCost - стоимость почтового трафика в % от тарифа. Вводится целое значение.
    Cash - сумма оплаты. Отметим, что это значение к существующему не добавляется, а переписывает имеющееся. Имеет смысл только для клиента.

    Если для этих параметров вводятся отрицательные значения, то они игноируются. Это обстоятельство можно использовать для того, чтобы изменять параметры выборочно.

    Значения CacheCost и MailCost округляются до целого, и ничто не мешает занести более 100%.

    AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.
    AdminNote - любое примечание, также заносится в файл журнала.

    Заметим, что запись в журнал будет произведена только, если были заданы AdminName или AdminNote.

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

.topic 800

    Эта функция отображает текущее состояние клиента.

    Data = APIGetUserState(UserID)

    UserID - идентификатор клиента. Может быть GUID или его отображаемое имя.

    Data - возвращаемые данные состояния пользователя в виде одномерного массива, формат их следующий:

    Смотрите пример использования.

.topic 810

    Эта функция используется для изменения состояния клиента.

    Ret = APISetUserState(UserID, Cash, NewState, AdminName, AdminNote)

    UserID - идентификатор клиента. Это GUID или отображаемое имя.

    Cash - сумма оплаты. Отметим, что это значение к существующему не добавляется, а переписывает имеющееся. Имеет смысл только для клиента. Если оно отрицательное, то игноируется.

    NewState - новое состояние сессии клиента. Могут использоваться значения:

0.	- СТОП
1.	- ПАУЗА
2.	- РАБОТА

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

    AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.
    AdminNote - любое примечание, также заносится в файл журнала.

    Эта функция возвращает true, если какие-либо параметры были изменены.

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

    Эта функция совместно с функцией APISetBillProp может использоваться для различных действий, связанных с тарификацией. Так как они позволяют манипулировать только с одним клиентом, то для групповых операций надо применять циклы. Для получения списков пользователей и групп используйте функцию APIGetBillProp.

.topic 940

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

    Value = APIGetAttr(ObjType, ObjId, Attr)

    ObjType - Тип запрашиваемых данных. Может принимать значения:

1.	Общие настройки билинга.
2.	Атрибуты групп.
3.	Атрибуты клиентов.

    ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

    Если ObjType = 1, то этот параметр игноируется. Иначе это идентификатор клиента или группы.

    Attr - атрибут или массив атрибутов. Атрибуты могут задаться как по номеру, так и по имени.

    Value - возвращаемое значение атрибута или списка значений в виде массива.

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

.topic 950

    Эта функция используется для изменения атрибутов клиента, группы или общих параметров билинга.

    APISetAttr(ObjType, ObjId, Attr, Value, DoUpdate)

    ObjType - Тип данных. Может принимать значения:

1.	Общие настройки билинга.
2.	Атрибуты групп.
3.	Атрибуты клиентов.

    ObjID - идентификатор обьекта. Может быть пустой строкой, именем или GUID.

    Если ObjType = 1, то этот параметр игноируется. Иначе это идентификатор клиента или группы.

    Attr - атрибут или массив атрибутов. Атрибуты могут задаваться как по номеру, так и по имени.

    Value - новое значение атрибута или список значений в виде массива.

    DoUpdate - установить в true, если надо кроме изменения значений также произвести все сопутствующие действия, например, перенастройку фильтров.

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

.topic 830

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

    APIPushUserLog(UserID, AdminName, AdminNote)

    UserID - идентификатор клиента. Это GUID или отображаемое имя.

    AdminName - имя администратора, заносится в файл журнала при выполнении этой операции.

    AdminNote - любое примечание, также заносится в файл журнала.

    Возвращаемого значения нет.

.topic 840

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

    Data = APIGetFilterProp(FilterID)

    FilterID - это GUID или имя фильтра, если задано.

    Значения возвращаются в виде одномерного массива в формате:

    Совместно с функцией APISetFilterProp эта функция может использоваться для манипуляции стоимостью различного вида трафика.

.topic 850

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

    APISetFilterProp(FilterID, Enabled, Cost, BillEnabled)

    FilterID - это GUID или имя фильтра, если задано.

    Enabled - true для разрешения фильтра или false для его запрета.

    Cost - Стоимость трафика в % от тарифа. Если значение отрицательное, то оно игнорируется. Округляется до целого.

    BillEnabled - true, если фильтр управляет тарификацией. Если false, то значение стоимости трафика значения не имеет.

    Вызов этой функции никаких значений не возвращает.

    Отметим, что параметр Enabled = false отключает весь фильтр, а BillEnabled = false отключает только управление тарификацией. Поэтому для фильтров, которые кроме тарификации управляют также и доступом (тип На разрешение), логично использовать параметр BillEnabled тогда, когда сам трафик заданный фильтром запрещать не надо. Если надо манипулировать только одним параметром Enabled или BillEnabled, не изменяя другого, то их значения надо предварительно считать вызвав функцию APIGetFilterProp.

.topic 860

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

    Table = APIReadUserLog(Date1, Date2, UserID)

    Date1 и Date2 задают интервал времени, за который производится выборка.

    UserID - если задан, то GUID или отображаемое имя пользователя, для которого будет произведена выборка.

    Table - двумерный массив, по формату таблицы полностью соответствующий формату файла журнала.

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

    Для работы в составе встроенного веб-сервера более удобна функция APIReadLogXML.

.topic 960

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

    APIReadLogXML(LogType, Date1, Date2, ObjID, XMLData, Param1)

    LogType - задает журнал и вид отчета.

1 - Журнал работы клиента.
2 - Журнал запросов через прокси-сервер.
3 - Журнал сетевой статистики клиентов. Необработанные данные.
4 - Журнал сетевой статистики клиентов. Сгруппированные и отсортированные данные.

    Date1 и Date2 задают интервал времени, за который производится выборка.

    ObjID - если задан, то GUID или отображаемое имя пользователя, для которого будет произведена выборка.

    XMLData - предварительно созданный обьект класса Msxml2.DOMDocument.4.0, в который будут занесены данные.

    Param1 - необязательный параметр. При выводе отсортированной сетевой статистики задает параметр сортировки. Может принимать значения от 0 до 3 и соответствует Способу тарификации трафика.

.topic 870

    Эта функция может использоваться для сброса внешних счетчиков. Например, логично это делать в начале каждого месяца.

    APIResetExpCounter(CounterType, CounterID)

    CounterType - тип счетчика. Разрешены значения:

1.	- контролируемый.
2.	- информационный.

    CounterID - GUID или имя счетчика. Если не задано, то производится сброс для всех.

    Вызов этой функции никаких значений не возвращает.

.topic 970

    Используйте эту функцию для преобразования имени хоста в IP-адрес и наоборот.

    Res = APIDNSResolve(Request)

.topic 980

    Эта функция используется для определения владельцев IP-сетей и их географического местонахождения. Может использоваться запрос через службу WhoIs или NetGeo.

    Res = APIWhoIs(IP, Service)

    Здесь Service задает службу.

    0 - используется WhoIs
    1 - NetGeo. Следует отметить, что NetGeo имеет довольно большое время отклика.

.topic 990

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

    Name = APISchemaAttr(Schema, Attr)

    Schema - код списка.

    0 - Атрибуты клиента
    1 - Атрибуты группы
    2 - Атрибуты общих настроек билинга
    3 - Атрибуты журнала клиента
    4 - Атрибуты журнала прокси-сервера
    5 - Атрибуты журнала сетевой статистики

    Смотрите также функцию APISchemaFindAttr, которая делает обратное преобразование.

.topic 1000

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

    Attr = APISchemaFindAttr(Name)

    Смотрите также функцию APISchemaAttr, которая делает обратное преобразование.

.topic 820

    Эта функция используется для вывода описания кода блокировки клиента.

    Info = APIBlockReasonAsString(Code)

    Пример использования смотрите здесь.

.topic 1010

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

    Info = APIBillTraffTypeAsString(Value)

    Value - значение от 0 до 3.

    0 - учитывается входящий трафик.
    1 - учитывается исходящий трафик.
    2 - учитывается по сумме.
    3 - учитывается по максимуму.

    Этот тип данных используется как параметр тарификации, используется в соответствующих функциях API, в атрибутах ХХХ_BillType и как параметр сортировки при выводе отчета по сетевой статистики.

.topic 1020

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

    Info = APIBillModeAsString(Value)

    Value - значение от 0 до 2.

    0 - Клиент запрещен.
    1 - Клиент работает с автоотключением.
    2 - Безлимитный доступ.

.topic 1030

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

    Info = APISessStateAsString(Value)

    Value - значение от 0 до 2.

    0 - Работа остановлена (СТОП).
    1 - ПАУЗА.
    2 - РАБОТА.

.topic 1070

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

    Info = APIServiceAsString(Value)

    Value - значения смотрите здесь

.topic 1040

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

    Info = APIServiceSetAsString(Values)

    Value - побитовое значение, описания смотрите здесь

.topic 1050

    Эта функция может использоваться для получения описания типа IP протокола из его числового значения. Может использоваться для расшифровки атрибута NetStatLog_IPProto в отчете по сетевой статистике. Это значение полностью совпадает с соотв. полем в IP-пакетах.

    Info = APIIPProtoAsString(Proto)

.topic 1060

    Эта функция может использоваться для получения описания типа протокола приложений из его числового значения. Может использоваться для расшифровки атрибута NetStatLog_AppProto в отчете по сетевой статистике.

    Info = APIAppProtoAsString(Proto)

    Proto - возможны значения:

    0 - Протокол неизвестен
    1 - HTTP
    2 - SSL
    3 - FTP

.topic 1080

  User_DisplayName = 0;
  User_Note = 1;
  User_IPAddr = 2;
  User_IPAddr2 = 3;
  User_MAC = 4;
  User_LogonName = 5;
  User_Password = 6;
  User_Group = 7;
  User_GroupName = 8;
  User_EMail = 9;
  User_EMailArr = 10;
  User_Date1 = 11;
  User_Date2 = 12;
  User_AccessTime = 13;
  User_BillDefault = 14;
  User_BillType = 15;
  User_Price = 16;
  User_TrafExclude = 17;
  User_PriceTime = 18;
  User_TimeDaily = 19;
  User_ProxyCacheCost = 20;
  User_MailCost = 21;
  User_Cash0 = 22;
  User_Cash = 23;
  User_BillMode = 24;
  User_BillState = 25;
  User_FilterLevel = 26;
  User_FilterCurrLevel = 27;
  User_ServiceMask = 28;
  User_ServiceMaskDef = 29;
  User_BandwidthDef = 30;
  User_InBandwidth = 31;
  User_OutBandwidth = 32;
  User_NetStatDef = 33;
  User_NetStatInt = 34;
  User_NetStatTop = 35;
  User_LogState = 36;
  User_LogStateInt = 37;
  User_LogProxy = 38;
  User_StartSession = 39;
  User_StartActiveSess = 40;
  User_DayWork0 = 41;
  User_BillTime = 42;
  User_Blocked = 43;
  User_Active = 44;
  User_BillTraffic = 45;
  User_BillSumma = 46;
  User_BillSummaTime = 47;
  User_BillBall = 48;
  User_BlockReason = 49;
  User_RxBytes = 50;
  User_TxBytes = 51;
  User_RxPackets = 52;
  User_TxPackets = 53;
  User_RxCacheBytes = 54;
  User_RxMailBytes = 55;
  User_TxMailBytes = 56;
  User_MailMessages = 57;
  User_RxCurrSpeed = 58;
  User_TxCurrSpeed = 59;
  User_ClientVer = 60;
  User_ClientIP = 61;
  User_CacheMode = 62;
  User_Currency = 63;
  User_RxProxyBytes = 64;
  User_Credit = 65;
  User_Admin = 66;
  User_TxTraffCorr = 67;

.topic 1090

  Group_DisplayName = 0;
  Group_Note = 1;
  Group_BillDefault = 2;
  Group_BillType = 3;
  Group_Price = 4;
  Group_TrafExclude = 5;
  Group_PriceTime = 6;
  Group_TimeDaily = 7;
  Group_ProxyCacheCost = 8;
  Group_MailCost = 9;
  Group_Cash0 = 10;
  Group_AccessTime = 11;
  Group_FilterCustom = 12;
  Group_FilterDefBlock = 13;
  Group_FilterUseParent = 14;
  Group_ServiceMask = 15;
  Group_InDefBandwidth = 16;
  Group_OutDefBandwidth = 17;
  Group_InBandwidth = 18;
  Group_OutBandwidth = 19;
  Group_Currency = 20;
  Group_Credit = 21;
  Group_TxTraffCorr = 22;

.topic 1100

  BillCommon_BillType = 0;
  BillCommon_Price = 1;
  BillCommon_TrafExclude = 2;
  BillCommon_PriceTime = 3;
  BillCommon_TimeDaily = 4;
  BillCommon_ProxyCacheCost = 5;
  BillCommon_MailCost = 6;
  BillCommon_Cash0 = 7;
  BillCommon_AccessTime = 8;
  BillCommon_Currency = 9;
  BillCommon_Credit = 10;
  BillCommon_TxTraffCorr = 11;
  BillCommon_ViewAllUserSess = 12;

.topic 1110

  UserLog_Time = 0;
  UserLog_GUID = 1;
  UserLog_DisplayName = 2;
  UserLog_Active = 3;
  UserLog_BillType = 4;
  UserLog_BillMode = 5;
  UserLog_BillState = 6;
  UserLog_Price = 7;
  UserLog_PriceTime = 8;
  UserLog_TrafExclude = 9;
  UserLog_Cash = 10;
  UserLog_StartSession = 11;
  UserLog_BillTime = 12;
  UserLog_BillTraffic = 13;
  UserLog_BillSumma = 14;
  UserLog_BillSummaTime = 15;
  UserLog_BillBall = 16;
  UserLog_BlockReason = 17;
  UserLog_RxBytes = 18;
  UserLog_TxBytes = 19;
  UserLog_RxPackets = 20;
  UserLog_TxPackets = 21;
  UserLog_RxIntBytes = 22;
  UserLog_TxIntBytes = 23;
  UserLog_RxIntPackets = 24;
  UserLog_TxIntPackets = 25;
  UserLog_Interval = 26;
  UserLog_RxCache = 27;
  UserLog_RxIntCache = 28;
  UserLog_RxMailBytes = 29;
  UserLog_TxMailBytes = 30;
  UserLog_MailMessages = 31;
  UserLog_RxIntMailBytes = 32;
  UserLog_TxIntMailBytes = 33;
  UserLog_IntMailMessages = 34;
  UserLog_Admin = 35;
  UserLog_AdminNote = 36;

.topic 1120

  ProxyLog_UserName = 0;
  ProxyLog_UserIP = 1;
  ProxyLog_UserAgent = 2;
  ProxyLog_Date = 3;
  ProxyLog_Time = 4;
  ProxyLog_Reffered = 5;
  ProxyLog_Host = 6;
  ProxyLog_HostIP = 7;
  ProxyLog_HostPort = 8;
  ProxyLog_TimeToken = 9;
  ProxyLog_Tx = 10;
  ProxyLog_Rx = 11;
  ProxyLog_Protocol = 12;
  ProxyLog_Method = 13;
  ProxyLog_URI = 14;
  ProxyLog_ContType = 15;
  ProxyLog_RespStatus = 16;
  ProxyLog_GUID = 17;
  ProxyLog_CacheRead = 18;
  ProxyLog_CachInfo = 19;

.topic 1130

  NetStatLog_Time = 0;
  NetStatLog_GUID = 1;
  NetStatLog_ObjectName = 2;
  NetStatLog_Interval = 3;
  NetStatLog_LocIP = 4;
  NetStatLog_LocPort = 5;
  NetStatLog_PeerIP = 6;
  NetStatLog_PeerPort = 7;
  NetStatLog_Host = 8;
  NetStatLog_IPProto = 9;
  NetStatLog_AppProto = 10;
  NetStatLog_Rx = 11;
  NetStatLog_Tx = 12;
  NetStatLog_RxPackets = 13;
  NetStatLog_TxPackets = 14;
  NetStatLog_List = 15;
  NetStatLog_LocMAC = 16;

.topic 1140

  UserServiceTypeIP = 1;
  UserServiceTypeProxy = 2;
  UserServiceTypeSocksConn = 4;
  UserServiceTypeSocksBind = 8;

.topic 760

    Для доступа к API автоматизации проще всего использовать технологию Scripting Host, а для запуска по расписанию службу Sheduler Task (Планировщик заданий) Windows.

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

    Скрипт на языке VB Script пишется в виде файла и сохраняется с типом vbs. Для выполнения он запускается с консоли:

    cscript task.vbs

    Отметим, что в системе еще есть утилита wscript.exe, которая по умолчанию ассоциирована с vbs файлами. Если их открыть, то запустится именно она. Но в отличие от cscript.exe она при выводе использует модальные окна, что совсем нехорошо для данного применения.

    При вызове скрипта ему также могут передаваться различные параметры в командной строке. Это используется в прилагаемых примерах. Это удобно, когда один скрипт надо применить к разным объектам. Но особо логику усложнять не надо, для различных задач лучше иметь разные скрипты.

    Для запуска скрипта по расписанию пропишите задачу через панель управления Windows, используя Sheduler Task. Также эти задания доступны для удаленного управления, для этого используйте проводник Windows.

.topic 880

    Этот пример использует функцию APIGetBillProp и выводит различные параметры тарификации. Скрипт запускается из командной строки в директории scripts.

    cscript.exe billprop.vbs APIPassword ObjectType ObjectID /sn:ServerName

    ObjectID - опциональный параметр.
    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count < 2 Then
    WScript.Echo "??? usage: cscript.exe billprop.vbs APIPassword ObjectType ObjectID /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
ObjType = Args(1)
If Args.Count >= 3 Then
    ObjID = Args(2)
End If

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)
BillData = Srv.ApiGetBillProp(ObjType, ObjID)

If Not IsArray(BillData) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

If IsArray(BillData(0)) Then
    For I = 0 To UBound(BillData, 1)
        Data = BillData(I)
        WScript.Echo Data(0) & Chr(9) & Data(1) & Chr(9) & Data(2) & Chr(9) & Data(3) & Chr(9) & Data(4) & Chr(9) & Data(5) & Chr(9) & Data(6) & Chr(9) & Data(7)
    Next
Else
    WScript.Echo "Объект" & Chr(9) & BillData(0)
    WScript.Echo "GUID" & Chr(9) & BillData(1)
    WScript.Echo "Группа" & Chr(9) & BillData(2)
    WScript.Echo "По умолчанию" & Chr(9) & BillData(3)
    WScript.Echo "Способ тариф. трафика" & Chr(9) & BillData(4)
    WScript.Echo "Цена за трафик" & Chr(9) & BillData(5)
    WScript.Echo "Предопл. трафик" & Chr(9) & BillData(6)
    WScript.Echo "Цена за время" & Chr(9) & BillData(7)
End If

.topic 890

    Этот пример использует функцию APIGetUserState и выводит различные параметры тарификации. Скрипт запускается из командной строки в директории scripts.

    cscript.exe viewstate.vbs APIPassword UserID /sn:ServerName

    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 2 Then
    WScript.Echo "??? usage: cscript.exe viewstate.vbs APIPassword UserID /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
UserID = Args(1)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)
State = Srv.APIGetUserState(UserID)

If Not IsArray(State) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

WScript.Echo "Имя" & Chr(9) & State(0)
WScript.Echo "GUID" & Chr(9) & State(1)
WScript.Echo "Группа" & Chr(9) & State(2)
WScript.Echo "Доступ" & Chr(9) & State(3)
WScript.Echo "Сессия" & Chr(9) & State(4)
WScript.Echo "Цена за трафик" & Chr(9) & State(5)
WScript.Echo "Предопл. трафик" & Chr(9) & State(6)
WScript.Echo "Цена за время" & Chr(9) & State(7)
WScript.Echo "Оплачено" & Chr(9) & State(8)
WScript.Echo "Заблокирован" & Chr(9) & State(9)
WScript.Echo "Активен" & Chr(9) & State(10)
WScript.Echo "Причина блокировки" & Chr(9) & Srv.APIBlockReasonAsString(State(11))
WScript.Echo "Старт сессии" & Chr(9) & State(12)
If State(14) Then
    WScript.Echo "Время работы" & Chr(9) & State(13) & " дней"
Else
    WScript.Echo "Время работы" & Chr(9) & State(13) & " часов"
End If
WScript.Echo "Начисленный трафик" & Chr(9) & State(16) & " мбайт"
WScript.Echo "Сумма за трафик" & Chr(9) & State(17)
WScript.Echo "Сумма за время" & Chr(9) & State(18)
WScript.Echo "Баланс" & Chr(9) & State(19)
WScript.Echo "Принято байт" & Chr(9) & State(20)
WScript.Echo "Передано байт" & Chr(9) & State(21)
WScript.Echo "Считано из кеша" & Chr(9) & State(22)
WScript.Echo "Принято байт - почтовый трафик" & Chr(9) & State(23)

.topic 900

    Этот скрипт добавляет для всех клиентов группы некоторую сумму на счет. Скрипт запускается из командной строки в директории scripts.

    cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName

    Здесь
    APIPassword - пароль доступа.
    GroupID - GUID или имя группы.
    Cash - добавляемая сумма.
    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
    WScript.Echo "??? usage: cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
    User = UserList(I)
    ' Получили строку - описание пользователя
    UserID = User(1)
    UserState = Srv.APIGetUserState(UserID)
    ' Считали текущее состояние пользователя - надо узнать сумму на счете
    Cash0 = UserState(8)
    ' Добавляем сумму на счет, состояние пользователя не меняем. Добавьте свой комментарий для записи в журнале.
    Srv.APISetUserState UserID, Cash0+Cash, -1, "Script", "Пример"
    WScript.Echo "Клиент " & User(0) & " добавлено " & Cash & " было " & Cash0 & " стало " & Cash0+Cash
Next

.topic 910

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

    Скрипт запускается из командной строки в директории scripts.

    cscript.exe rstsess.vbs APIPassword GroupID Cash /sn:ServerName

    Здесь
    APIPassword - пароль доступа.
    GroupID - GUID или имя группы.
    Cash - новый лимит на месяц.
    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

    Заметим, что этот скрипт после сброса сессии возвращает клиента в то состояние, в котором он был ранее. Т.е. если он был в паузе, то и снова будет в паузе.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
    WScript.Echo "??? usage: cscript.exe rstsess.vbs APIPassword GroupID Cash /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
    User = UserList(I)
    ' Получили строку - описание пользователя
    UserID = User(1)
    UserState = Srv.APIGetUserState(UserID)
    ' Считываем текущее состояние сессии
    OldState = UserState(4)
    ' Переводим пользователя в СТОП
    Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
    ' Переводим сессию пользователя в состояние, которое было ранее. Если надо всех запустить, то поправьте на '2'
    Srv.APISetUserState UserID, Cash, OldState, "Script", "Запускаем сессию"
    WScript.Echo "Клиент " & User(0)
Next

.topic 920

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

    Скрипт запускается из командной строки в каталоге scripts.

    cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName

    Здесь
    APIPassword - пароль доступа.
    GroupID - GUID или имя группы.
    Cash - Можно также положить некоторую сумму в дополнение к перенесенному остатку. Если не надо, задайте 0.
    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

    Заметим, что этот скрипт после сброса сессии возвращает клиента в то состояние, в котором он был ранее. Т.е. если он был в паузе, то и снова будет в паузе.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
    WScript.Echo "??? usage: cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)
Obj = Args(1)
Cash = Args(2)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

UserList = Srv.ApiGetBillProp(3, Obj)

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

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then
    WScript.Echo "Нет данных"
    WScript.Quit
End If

For I = 0 To UBound(UserList, 1)
    User = UserList(I)
    ' Получили строку - описание пользователя
    UserID = User(1)
    UserState = Srv.APIGetUserState(UserID)
    ' Считываем текущее состояние сессии
    OldState = UserState(4)
    OldBall = UserState(19)
    ' Переводим пользователя в СТОП
    Srv.APISetUserState UserID, -1, 0, "Script", "Очищаем сессию"
    ' Переводим сессию пользователя в состояние, которое было ранее.
    ' Если надо всех обязательно запустить, то поправьте OldState на '2'
    Srv.APISetUserState UserID, Cash+OldBall, OldState, "Script", "Запускаем сессию"
    If Cash+OldBall < 0 Then
    ' Так как APISetUserState не вводит отрицательное значение оплаты, вводим это через атрибут
        Srv.APISetAttr 3, UserID, "User_Cash", Cash+OldBall, True
    End If
    WScript.Echo "Клиент " & User(0) & " на счету " & Cash+OldBall
Next

.topic 930

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

    Скрипт запускается из командной строки в каталоге scripts.

    cscript.exe rstcnt.vbs APIPassword /sn:ServerName

    ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

Set Args = WScript.Arguments.Unnamed
If Args.Count <> 1 Then
    WScript.Echo "??? usage: cscript.exe rstcnt.vbs APIPassword /sn:ServerName"
    WScript.Quit
End If

APIPass = Args(0)

If WScript.Arguments.Named.Exists("sn") Then
    ServName = WScript.Arguments.Named.Item("sn")
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin",ServName)
Else
    Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Srv.APILogon(APIPass)

Srv.APIResetExpCounter 1, ""
Srv.APIResetExpCounter 2, ""

.topic 1150

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

    Доступ на сервер производится на тот же адрес и порт, что и на прокси-сервер. При конфигурировании прокси-сервер должен быть разрешен. Никаких специальных настроек для веб-сервера нет. Этот сервер представляет собой классический веб-сервер с поддержкой выполнения JScript или VBScript, на которых формируется динамический контент.

    Содержимое веб-сервера находится в подкаталоге wwwroot. В нем имеется подкаталог user и доступ туда разрешен только активным клиентам. Аутентификация может выпоняться как через браузер, так и через другие службы обычным для Traffic Inspector способом. На другие разделы веб- сервера открыт анонимный доступ.

    Для запуска скриптов в запросе предусмотрено зарезервированное расширение *.tisp. При этом будет запускаться одноименный файл Windows Scripting Host скрипта типа *.wsf. Он может содержать скрипт на любом языке, который поддерживается Windows. В примерах этого раздела используется JScript.

    Веб сервер также понимает страницы по умолчанию, при этом используется следующая последовательность их поиска:

    default.wsf
    index.wsf
    default.htm
    default.html
    index.htm
    index.html

    Описание особенностей написания скриптов для веб-сервера смотрите в разделе. Также можно изучить скрипты клиентского веб-сервиса.

.topic 1160

    С помощью запуска скриптов на веб-сервере может быть сформирован любой динамический контент. Скрипт пишется в файле типа *.wsf и полностью соответствует формату Windows Scripting Host. В примерах раздела используется язык JScript, но также может использоваться и VBScript.

    Скрипт может вызываться как по методу GET, так и POST. Для доступа к параметрам запроса следует использвать именованную коллекцию WScript.Arguments.Named. Также при вызове скрипта ему передаются следующие параметры:

    Если скрипт был запущен при анонимном доступе, то последние два параметра будут отсутствовать.

    Для вывода данных могут использоваться функция WScript.Echo или поток WScript.StdOut. Следует отметить, что при выводе через WScript.Echo будут проблемы с русской кодировкой, так как эта функция использует OEM (DOS) кодировку. Поэтому для вывода контента используйте только WScript.StdOut.

    Данные из скрипта выводятся двумя порциями, отделяемыми пустой строкой. Сначала, если необходимо, выводятся HTTP заголовки, затем через пустую строку сам контент. Если заголовки явно не выводятся, то будет автоматически подставлен content-type: text/html; charset=windows-1251. Заголовок длины данных content-length формировать в скрипте не надо, он добавляется автоматически. Таким образом, при выводе html-контента достаточно просто перед данными вывести пустую строку.

    Следующий пример выводит список всех входных параметров запроса:

<job id="default">
<script language="JScript">

WScript.Echo("");
WScript.Echo("<html><body>");

objArgs = WScript.Arguments;
for (i = 0; i < objArgs.length; i++)
{
   WScript.Echo(objArgs(i)+"<br>");
}

WScript.Echo("</body></html>");

</script>
</job>

    Следующий пример выводит отчет работы пользователя в виде xml данных. Для форматирования его в html скрипт надо дополнить подключением xsl шаблона.

<job id="default">
<script language="JScript">

var Serv = WScript.CreateObject("TrafInsp.TrafInspAdmin");

// Получаем пароль для доступа с API и получаем доступ
objArgs = WScript.Arguments.Named;
Serv.APILogon(objArgs.Item("_APIPassword_"));

var UserID = objArgs.Item("_UserID_");

var Dom =  WScript.CreateObject("Msxml2.DOMDocument.4.0");

// Считываем параметры запроса. Они могут быть получены методом GET или POST
var Date1 = objArgs.Item("Date1");
var Date2 = objArgs.Item("Date2");

// Читаем данные отчета
Serv.APIReadLogXML(1, Date1, Date2, UserID, Dom, 0);

// Выдаем HTTP заголовок
WScript.Echo("content-type: text/xml; charset=windows-1251");
WScript.Echo("");

// Выдаем данные
WScript.StdOut.Write(Dom.xml);

</script>
</job>

.topic 60000

    Одной из возможных причин полной или частичной неработоспособности программы может быть наличие ранее установленных firewall, NAT или прочих программ, которые работают с сетью и используют свои сетевые драйвера. Также следует иметь в виду, что простая остановка их работы проблему может не решить - их надо удалить. Также такие программы могли быть ранее не полностью удалены. Тут радикальным решением проблемы может быть полная переустановка системы.

    Проверьте, не забыли ли Вы установить дополнительные компоненты - драйвер программы, MSXML, Windows Script и прочее - см. раздел.

    При возникновении проблем, появлении ошибок и прочих затруднений:

попробуйте найти ответ в этих разделах.
зайдите на сайт разработчика http://www.smart-soft.ru и форум по этой программе (на сайте есть ссылка), может проблема там уже обсуждалась и ее решение описано.
Проверьте наличие более свежего билда программы на сайте и изучите список изменений и исправленных там ошибок, может в более свежем билде проблема решена. Номер билда отображается в главном окне консоли в правом верхнем углу. Если консоль вообще запустить не получается, то номер версии можно посмотреть, открыв свойства файла сервиса программы trafinsp.exe.
В любом случае поставьте последний билд и проверьте, не решилась ли проблема.

    Отправьте запрос в службу техподдержки. При этом обязательно должен быть установлен последний билд релиза и проверено, что проблема в после этого не решилась. Запросы по старым билдам программы рассматриваться не будут. Для отправки запроса используйте встроенный генератор отчета (Support report) в консоли - раздел Диагностика.

    В запросе опишите задачи, которые решаются программой и подробно саму проблему. Если support report недоступен, то также укажите операционную систему и конфигурацию сети.

.topic 10011
Код продукта. Генерируется при начальной установке программы. Если уже имеется ранее выданный ключ для другого кода, то его надо сменить.

.topic 10012
Смените привязку для IP адресов, если ключ уже выдан, а списки не соответствуют.

.topic 10013
Ключ активации программы. Он должен строго соответствовать коду продукта и привязке.

.topic 10014
Копировать код продукта и привязку в буфер обмена для отправки запроса на получение ключа.

.topic 10015
Отправка запроса на получения ключа через сайт.

.topic 10016
Активация программы с ограничением по времени.


LicCopy

 Копировать код продукта и привязку в буфер обмена для отправки запроса на получение ключа.


LicEnv

 Смените привязку для IP адресов, если ключ уже выдан, а списки не соответствуют.


LicKey

 Ключ активации программы. Он должен строго соответствовать коду продукта и привязке.


LicProductID

 Код продукта. Генерируется при начальной установке программы. Если уже имеется ранее выданный ключ для другого кода, то его надо сменить.


LicTrial

 Активация программы с ограничением по времени.


LicWebReq

 Отправка запроса на получения ключа через сайт.


Работа с отчетами
Home

Данный документ находится в стадии разработки!