Автор |
Сообщение |
eein Начинающий |
|
Привет линуксоидам!
Есть софтина, наподобие IP фильтра в DC++ для винды, только работает на уровне всей системы. Плюс локальная тарификация, можно налету отслеживать объемы и стоимость трафика. Выложил на rapidshare.ru (внешка!) и adslclub
Описание:
WebStream Filter
— это комплексное решение для абонентов Новосибирского филиала ОАО «Сибирьтелеком», пользующихся услугой широкополосного доступа. Работает только на Linux-совместимых операционных системах. Решает следующие задачи:
ограничение сетевого трафика локальной сетью, выбранными службами и зонами агрегации;
автоматическое обновление списка зон агрегации с сайта;
учет всех заблокированных и разрешенных пакетов;
получение всевозможной статистической информации по трафику, в том числе и месячный объем и стоимость трафика по зонам агрегации.
Учет разрешенных пакетов и работа со статистическими данными возможны только при соответствующей настройке mysql сервера.
Применение данного комплекса позволяет вне зависимости от используемого программного обеспечения обезопасить себя от «случайного» скачивания фильма по цене внешнего интернета, от несанкционированного доступа извне, от автоматической рассылки данных «умными» программами, и от других неожиданностей, которые стали возможными благодаря быстрому и постоянно доступному интернет соединению.
Как это работает?Нажмите сюда, чтобы просмотреть текст
Основная работа, выполняемая webstream-filter — грамотно задействовать стандартные компоненты: iptables, ulogd, mysql, cron и anacron.
iptables фильтрует весть трафик рабочей станции на основе правил, закладываемых в него при запуске webstream-filter и запоминаемых между перезагрузками в файле /etc/firewall.conf.
ulogd получает информацию обо всех пакетах от iptables и сохраняет ее либо в специальных логах, либо в базе данных, в зависимости от настроек в файле /etc/ulogd.conf.
mysql является хранилищем исходных данных ulogd, а так же агрегированных статистических и различных отчетов на их основе.
cron ежеминутно запускает специальный скрипт gain_statistic.sql, который преобразует сырые данные ulogd в сжатые статистические, позволяя добиться при этом экономии места на жестком диске до 99%, что так же крайне благоприятно сказывается на скорости выполнения запросов. При этом данные практически не теряют информативности.
anacron ежедневно запускает webstream-filter в автоматическом режиме обновляющем список разрешенных зон агрегации.
firewall запускается каждый раз при запуске сетевых интерфейсов, т.к. находится в /etc/network/if-pre-up.d; он восстанавливает сохраненное состояние iptables из /etc/firewall.conf.
construct_database.sql заполняет выбранную схему базу данных всеми необходимыми объектами.
webstream-filter.conf и webstream-zones.js содержат большинство основных настроек пакета. |
Пошаговая инструкция по установкеНажмите сюда, чтобы просмотреть текст
Для начала нужно определиться, хотите ли вы не только блокировать нежелательный трафик, но и получать статистическую информацию по всему — и блокированному, и разрешенному — трафику. В последнем случае потребуется установить и настроить mysql сервер (что не так сложно, как может показаться).
Если вы решили устанавливать mysql:
Установите пакеты mysql-server, mysql-client, mysql-admin,
mysql-query-browser.
Подключитесь к mysql с помощью mysql-admin с правами root.
Создайте пользователя webstream и схему webstream, дайте этому пользователю все права на эту схему.
Прежде чем продолжить настройку mysql необходимо отредактировать конфигурационные файлы webstream-filter.conf и webstream-zones.js.
Откройте /etc/webstream-filter/webstream-filter.conf и отредактируйте следующие параметры:
LOCAL_NETWORK — локальная подсеть в формате
<адрес подсети>/<количество старших значащих бит>.
ACCESS_SERVICE — список портов, доступ к которым и доступ с которых открыт к вашему компьютеру извне с любого адреса при передаче данных по протоколам tcp/udp.
DB_USER, DB_PASSWORD, DB_SCHEMA — настройки подключения к базе данных mysql. Введите такие же значения, которые задавали на шаге 2. Если вы не собираетесь использовать mysql, просто закомментируйте все три строки с помощью #.
LOG_DROP_ONLY — установка данного параметра в 1 приведет к тому, что ulogd будет получать информацию только по блокированным пакетам. Данная опция необходима, если вы собираетесь использовать лог файлы, вместо mysql, иначе т.к. их размер будет слишком велик и вы не сможете в них ориентироваться.
JAVA — путь к виртуальной машине Sun Java SE версии не ниже 1.6.
Остальные параметры лучше оставить по-умолчанию.
Откройте /etc/webstream-filter/webstream-zones.js и отредактируйте следующие параметры:
Четыре параметра db_connect — настройки подключения к базе данных, аналогичны шагу 3. Если вы не используете mysql, закомментируйте строки с помощью //.
Остальные настройки должны вас устроить по-умолчанию.
Теперь можно завершить установку mysql, заполнив выбранную схему необходимыми объектами. Для этого просто запустите скрипт /usr/share/doc/webstream-filter/construct_database. Если в процессе его выполнения возникла какая-либо ошибка — устраните ее и запустите скрипт заново. Не забудьте убедиться, что mysql автоматически запускается каждый раз при загрузке системы (для этого удобно использовать пакет sysv-rc-conf).
Для настройки ulogd отредактируйте /usr/share/doc/webstream-filter/ulogd.conf и замените им /etc/ulogd.conf. По-умолчанию ulogd настроен на использование mysql, вам осталось только уточнить параметры в секции [MYSQL]. Если же вы намерены использовать логи, то закомментируйте строчку plugin=... ulogd_MYSQL.so и раскомментируйте ulogd_OPRINT.so. Остальные опции оставьте как есть — они настроены на оптимальную производительность. Не забудьте убедиться, что ulogd также автоматически запускается каждый раз при загрузке системы.
Теперь, когда все вспомогательные компоненты настроены, запустим установку iptables с помощью команды sudo webstream-filter -i. Такой запуск нужно сделать только один раз и желательно в то время, когда не запущено каких-либо критически важных сетевых процессов, т.к. они могут быть заблокированы новой политикой безопасности. Тут же будет запущена процедура получения зон агрегации с сайта ОАО «Сибирьтелеком». С этого момента для вашей рабочей станции будут разрешены только следующие сетевые взаимодействия:
все псевдо-сетевые взаимодействия внутри компьютера, причем информация о них не будет попадать в ulogd;
все взаимодействия с рабочими станциями локальной сети, заданной параметром LOCAL_NETWORK;
доступ ко всем серверам интернета по протоколам tcp/udp по портам указанным в параметре ACCESS_SERVICE;
доступ ко всем компьютерам сети WebStream, находящихся в зонах льготной агрегации.
Если вы настроили ulogd на использование mysql, то с этого момента начала заполняться таблица ulog, и нужно настроить cron на ежеминутное выполнение скрипта gain_statistic. Иначе таблица ulog довольно быстро вырастет до огромных размеров. Запустите в терминале
sudo crontab -u root -e
и вставьте под заголовком следующую строку обязательно закончив ее переводом строки:
* * * * * /lib/webstream-filter/gain_statistic
С помощью команды tail /var/log/syslog убедитесь, что скрипт gain_statistic запускается ежеминутно без ошибок.
Вам остался последний шаг — настроить anacron на ежедневное обновление зон агрегации. Для этого вставьте в файл /etc/anacrontab следующую строку так же убедившись, что каждая строка файла заканчивается переводом строки:
1 15 webstream-filter webstream-filter -z -s
Возможные проблемы и пути их решения
Первая проблема, с которой вы наверняка столкнетесь, блокировка не только нежелательных, но и желательных пакетов. В зависимости от настройки, информацию об отброшенных пакетах вы можете найти либо в базе данных через вид last_drop, либо в логе /var/log/ulog/pktlog.log. Обнаружив интересующие вас пакеты, добавьте соответствующие порты в параметр ACCESS_SERVICE и запустите sudo webstream-filter -m.
Запустив webstream-filter без параметров вы сможете увидеть текущее состояние iptables не изменяя их. Запуск же с параметром -u позволит целиком обновить правила (эквивалентно -m -z). Добавление параметра -s подавляет вывод запроса на просмотр конфигурации iptables.
Возможно вам потребуется более тонкая настройка правил доступа к внешним серверам, или же понадобится обеспечить доступ к определенным сервисам извне — это можно сделать отредактировав скрипт webstream-filter. Дополнительная информация может быть получена из файлов protocol-numbers и port-numbers, а так же страницы руководства man iptables.
В данный момент отчет total_bill не учитывает накопительную скидку на внешний трафик, полагая, что днем один мегабайт всегда 2 рубля, а ночью 1. Размер бесплатного трафика, включенного в абонентскую плату так же не учитывается. |
Обратная связь
Данное ПО предоставляется как есть, без каких либо гарантий и ответственности с моей стороны. Однако вы можете связаться со мной по вопросам, касающимся данного ПО.
Александр Курамшин
eein@mail.ru icq: 168404573 webstream-filter на sourceforge.net |
|
|
|
|
blackschool Продвинутый форумчанин |
|
Молодец, Александр!
Как понимаю, это backend? Иксовой оболочки нет пока что к программе? |
|
|
|
|
Swiflbluz Продвинутый форумчанин |
|
вобщем эта штука тупо отрубает весь инет |
|
|
|
|
fish88 Эксперт Предупреждений : 3
|
|
для помегобайтников что ли?
Swiflbluz
товарищь, не мучай линух, поставь хрюшу себе!) |
|
|
|
|
ProFfeSsoRr Гуру |
|
Цитата: |
вобщем эта штука тупо отрубает весь инет |
внимательно читаем шапку и не пишем глупостей. |
|
|
|
|
Swiflbluz Продвинутый форумчанин |
|
я всё по инструкциии сделал
и ваще всё перекрыло |
|
|
|
|
ProFfeSsoRr Гуру |
|
Ну а нафига оно тебе вообще надо? А если надо - так разбирайся. Если уж такая подробная инструкция есть, значит работает штука. |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|