Выкладываем частично сделанную версию для бета-тестеров -
https://ti.smart-soft.ru/files/TrafInsp.1.1.3.152a.zip
Не успели доделать прокси. В нем предстоит полностью перевести всю логику фильтрации и обработки правил в соответствие со всеми новшествами. В этой сборке в прокси не работают правила фильтров, а также мы пока не занимались выявлением критических ошибок прокси, проявившихся ранее (например, утечка памяти).
Если прокси не используется вообще, или не используются правила (скидки, шейпер и т.д.), то можно пробовать. Но предупреждаем - мы это выкладываем исключительно для тестирования, программа недописана и до конца не протестирована.
Коротко по новым возможностям прокси, это пока в работе. Теперь в фильтрах приложений доступны все опции обычных IP фильтров. Также фильтры приложений могут быть типа "для всех". Это все, в частновсти, позволит -
- Разрешать работу через прокси без авторизации для трафика, разрешенного в фильрах "для всех". Было много пожеланий на эту тему.
- Условия скидок (наценок), а также правила шейпера можно привязывать к типу контента и условиям обработки запросов. Например, можно для музыки и фильмов зарезать скорость. Также было много пожеланий на эту тему.
Также реализована обработка регулярных выражений (Regular Expressions) в фильтрах. Это дает большую гибкость в фильтрах, а также можно применить массу уже готовых фильтров.
В выложенной сборке реализована новая архитектура фильтров и правил. Вот описание этого (фрагмент из readme) -
Усовершенствования логики фильтров(152 сборка).
Изменения касаются настройки приоритетов в логики фильтрации, работы внутреннего firewall, правил тарификации и шейпера. Новая внутренняя архитектура обеспечит очень большой выигрыш в производительности сервера особенно при применении больших списочных фильтров .
По умолчанию для "не клиентов" трафик разрешен -
- На сам сервер, если не включен внутренний firewall.
- Если включен внутренний firewall, то на сам сервер может быть разрешен трафик для DNS, DHCP и VPN PPTP сервер в соответствии с включенными галками. Также имеется возможность разрешить отдельно IPSec. Для облегчения задачи администрирования внутренней сети с самого сервера можно отдельно разрешить исходящие ICMP, UDP и TCP запросы. Все эти настройки распростаняются только на трафик между самим сервером и хостами внутренней сети.
- Имеются также 2 настройки, позволяющие для всех разрешить трафик между локальными и публичными внутренними сетями. Данные от сетях берутся на основании таблицы маршрутизации.
Для упрощения настроек в фильтрах тип применения "для всех" у запрещающих фильтров заменен на тип "не клиенты". Они имеют приоритет над всеми другими правилами для "не клиентов".
Для клиентов фильтры на разрешение (запрещение) имеют приоритет (в порядке убывания) -
- На запрещение в группе (если не администратор)
- На разрешение в группе
- На запрещение в общем списке (если не администратор)
- На разрешение в общем списке "для клиентов" и "для всех"
- Запрет на сам сервер, если включен внутренний firewall, кроме разрешений, заданных в его настройках (если не администратор)
- Разрешения "по умолчанию", аналогичные для "не клиентов" (см. выше).
Для клиента, у которого включено "является администратором", внутренний firewall не применяется, а также к нему не применяются фильтры на запрет. Это сделано для исключения ситуации недоступности сервера при удаленном администрировании при ошибках в процессе настройки фильтров. Это распространяется только на IP фильтры, для фильтров приложений запрещающие правила действуют обычным образом.
В фильтрах также задаются дополнительные действия -
- Скидки (наценки) у стоимости трафика в %
- Направление трафика мимо шейпера. Если трафик подпал под действие этого фильтра, все другие параетры шейпера игноируются.
- Переопределение скорости. Скорость переопределяется только для статического регулятора, для динамического (суммарное ограничение скорости для группы) возможности переопределить скорость нет.
- Поднятие приоритета трафика.
Если трафик подпадает под условие разрешения его "для всех" (см. выше), то он всегда считается бесплатным и направляется мимо шейпера.
Иначе порядок применения дополнительных действий следующий (в порядке убывания приоритета) -
- Действия, заданные в разрешающих фильтрах группы.
- Действия, заданные в фильтрах группы (тип "другой").
- Действия, заданные в общих разрешающих фильтрах.
- Действия, заданные в общих фильтрах (тип "другой").
Действия разного типа проверяются и применяются отдельно друг от друга.
С целью диагностики работы фильтров и авторизации в сетевую статистику пользователей добавлен отдельный коллектор для для неавторизированного трафика. Эта статистика в логи не пишется, доступна только как текущая. Писаться она будет, если в общих настройках сетевой статистики включена опция учета всего трафика.
p.s. Также реализовано настойчивое пожелание - задание отдельно скидок на входящий и исходящий трафик.