Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: msky от 20 Октября 2010, 06:39:54



Название: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: msky от 20 Октября 2010, 06:39:54
Долго мучаюсь, как правильно переписать правила ipfw что бы не пустить весь трафик мимо биллинга... через сквид...

может кто нить поможет...
мне бы пару примеров с комментариями...
ЗЫЖ: Учусь писать правила для ipfw.


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 20 Октября 2010, 06:54:23
Таааак, где мои карты ТАРРО?


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 20 Октября 2010, 14:00:22
Долго мучаюсь, как правильно переписать правила ipfw что бы не пустить весь трафик мимо биллинга... через сквид...

может кто нить поможет...
мне бы пару примеров с комментариями...
ЗЫЖ: Учусь писать правила для ipfw.
а зачем тебе сквида?
а man ipfw слабо?

fwd 127.0.0.1,3128 tcp from "table(10)" to any 80


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Elisium от 20 Октября 2010, 21:05:45
а зачем тебе сквида?
а man ipfw слабо?

fwd 127.0.0.1,3128 tcp from "table(10)" to any 80

это фикня.

А с заворотом трафа на ДРУГОЙ вэб-сервер с другим ипом ?
Чтобы НЕ держать на шлюзе еще и апач/нгинкс ?

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


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: stix от 20 Октября 2010, 21:08:26
я даж незнаю зачем такие сложности.
что сложного не гонять через биллинг трафик?!
если ты делал копипаст из мануала то просто диверт убери да и все


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Elisium от 20 Октября 2010, 21:40:33
Дабы не делать новую тему, думал тут запостить, тем более, что ТС уже примерно пнули в нужном направлении.
Заранее пардон за длинный пост.

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

Так вот: с некоторых пор заметил, что РЕДКО, но бывает, что трафик на порту биллинга вместо своих обычных 3-4 МБт прыгает до 20, а то и до 40МБт !!
Посмотрев на сие чудо, увидел, что это столько льется со шлюза нетфлова.
Вообщем, посмотрев в этот самый нетфлов ну и в логи апача, нашли 3-4 тела с торрентом и кучей закачек/раздач в нем. Модуль же перенаправляет юзеров на свою страничку, ЕСЛИ пришло сообщение от администрации, НО клиент при этом НЕ заблокирован.

Получается, что на 80 порт инета сыпется КУЧА запросов от торрентов, а модуль все  их заворачивает на свою страничку.
В этоже время клиент устанавливает ТУЧУ каких то коротких соединений.
Скорее всего, сотни торрентов долбятся на свои трекеры, а получают старничку модуля.
А так как трафик еще не вышел со шлюза, то его за кучу коннектов биллинг не блочит.
Это мое вИдение редко проявляющегося у нас прикола, само собой могу быть в корне неправ.
Биллингу от 20-40 МБт трафа становится плохо, начинает отваливаться база, ключики чернеют - вообщем полный привет ...

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


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: stix от 20 Октября 2010, 21:47:47
актуальное замечание


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 20 Октября 2010, 22:41:33
Цитировать
отключением данной фичи
Я ДИКО извиняюсь, но у ipfw есть такая штукенция, как limit.
Цитировать
fwd 127.0.0.1,1122 tcp from not table(0) to any dst-port 80 limit src-addr 10
Вот что-то типа того


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Elisium от 20 Октября 2010, 22:51:45
Нене ..
Вопрос не в куче запросов на 80й порт. Это же шлюз и ему фиолетово, сколько там куда трафа вообще льется.
Вопрос в том, что от кучи нетфлова, который льется СО шлюза в описаном случае, начинает загинаться биллинг.

п.с. аА!! ВООБЩЕ ограничить ИМЕННО форвардящиеся пакеты ??
мысль понял .. попробую ) спасибо ))


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 20 Октября 2010, 22:53:02
Получается, что на 80 порт инета сыпется КУЧА запросов от торрентов, а модуль все  их заворачивает на свою страничку.
В этоже время клиент устанавливает ТУЧУ каких то коротких соединений.
Скорее всего, сотни торрентов долбятся на свои трекеры, а получают старничку модуля.
А так как трафик еще не вышел со шлюза, то его за кучу коннектов биллинг не блочит.
Это мое вИдение редко проявляющегося у нас прикола, само собой могу быть в корне неправ.
Биллингу от 20-40 МБт трафа становится плохо, начинает отваливаться база, ключики чернеют - вообщем полный привет ...
на сколько я помню, он написан на php, тогда fix
Код:
if (strpos(getenv('HTTP_USER_AGENT'), 'Torrent') or strpos(getenv('HTTP_USER_AGENT'), 'torrent')) exit();
страдать в таком случае будет только веб-сервер.



Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 20 Октября 2010, 22:54:57
А если отдавать в заголовке 404 или 403 или 501 номер ошибки? По идеи закачка должна отвалится
Код:
header("HTTP/1.0 404 Not found");
Код:
header("Status: 404 Not found");
http://php.net/manual/en/function.header.php (http://php.net/manual/en/function.header.php)


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 20 Октября 2010, 23:08:56
А если отдавать в заголовке 404 или 403 или 501 номер ошибки? По идеи закачка должна отвалится
update
Код:
if (strpos(getenv('HTTP_USER_AGENT'), 'Torrent') or strpos(getenv('HTTP_USER_AGENT'), 'torrent')) { header('HTTP/1.0 404 Not Found'); exit(); }
отваливается на пол-часа, проверено


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 20 Октября 2010, 23:10:10
Так ты это, проверку на юзерагент убери.
Она тут ни к чему. Браузеру пофигу какой код ошибки. он контент одинаково рендерит.
P.S. Проверка не трушная! Юзай регексп!
Код:
if(preg_match("/torrent/i",getenv('HTTP_USER_AGENT'))){ ... };


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 20 Октября 2010, 23:23:52
Так ты это, проверку на юзерагент убери.
Она тут ни к чему. Браузеру пофигу какой код ошибки. он контент одинаково рендерит.
P.S. Проверка не трушная! Юзай регексп!
Код:
if(preg_match("/torrent/i",getenv('HTTP_USER_AGENT'))){ ... };
ты немного идеи фикса не понял
это для модуля Cell-a (http://forum.nodeny.com.ua/index.php?topic=162.0)
дает отпул дла торрент клиента uTorrent а веб-клиентов пускает
ну это уже пошел офф....


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 20 Октября 2010, 23:38:15
Да все я отлично понял! Я ж говорю, что проверка на юзерагент тут ЛИШНЯЯ!
т.к. если чел зайдет через браузер то ему отобразится страница даже если ее ерроркод будет 404 или что другое. А торрет/менеджер загрузок и пр. отвалится, да он получит страницу но один раз.
Делать проверку али нет дело каждого.


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 21 Октября 2010, 00:14:14
Да все я отлично понял! Я ж говорю, что проверка на юзерагент тут ЛИШНЯЯ!
т.к. если чел зайдет через браузер то ему отобразится страница даже если ее ерроркод будет 404 или что другое. А торрет/менеджер загрузок и пр. отвалится, да он получит страницу но один раз.
Делать проверку али нет дело каждого.
ты тут неправ
специально для тебя
http://vitalvas.pp.ua/phps/i.phps -исходник
http://vitalvas.pp.ua/phps/i.php - без еррор-кода
http://vitalvas.pp.ua/phps/i.php?p=asd - c еррор-кодом


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 21 Октября 2010, 07:42:56
И хде подвох? FF все нормально отрендерил, что с кодом, что без.


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Elisium от 21 Октября 2010, 11:23:52
ты тут неправ
специально для тебя
http://vitalvas.pp.ua/phps/i.phps -исходник
http://vitalvas.pp.ua/phps/i.php - без еррор-кода
http://vitalvas.pp.ua/phps/i.php?p=asd - c еррор-кодом

10я Опера и 6й осел показывают, как, имхо, и должны - исходник, БЕЗ ошибки и С ошибкой.

п.с. я вижу, что вопрос более/менее актуальный, но решается, наверное, добавлением limit к форварду, если никто, кроме меня, такой прикол не заметил ((


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 21 Октября 2010, 11:53:40
Не только! Ерроркод 404 в странице отвалит закачку через торрент


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: VitalVas от 21 Октября 2010, 18:25:20
И хде подвох? FF все нормально отрендерил, что с кодом, что без.
сорри, у меня стоял кривой хром....


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 21 Октября 2010, 19:07:04
сорри, у меня стоял кривой хром....
Ну воть


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Cell от 21 Октября 2010, 20:45:27
А хоть кто-то изучал логи вебсервера на предмет - чтож так активно ломится в тырнет по 80му порту? Очень сильно сомнительно, что это торренты дают такую нагрузку.
А я вот пару раз озадачился такой проблемой по причине ненормально большого размера логфайла апача.
Проведенной проверкой было установлено что так тупорыло ведет себя какая-то из версий NOD32, которая таким веселым образом (до 100 раз в секунду) пытается соединится с серверами обновлений дося при этом все на свете. В моем случае, я придушил всю сеть нода для неавторизованных абонентов и БОЛЬШЕ НИКОГДА не имел подобных проблем. Может у меня в сети просто торрентами не пользуются? ))


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: Elisium от 21 Октября 2010, 21:21:10
Как нибуть в несильно загруженый день попробую вернуть все взад и попробую поточнее глянуть.
На тот момент нужно было чтото делать очень быстро, а после вопросом пока не задавался.


Название: Re: noDeny 4.32.4 + кеширующий прозрачный прокси
Отправлено: 0xbad0c0d3 от 22 Октября 2010, 19:55:44
Код:
if(preg_match('/(microsoft|eset|kaspersky|avast)/',getenv("HTTP_HOST")) exit;
Как вариант.