msky
Новичок
Карма: 0
Offline
Сообщений: 1
|
|
« : 20 Октября 2010, 06:39:54 » |
|
Долго мучаюсь, как правильно переписать правила ipfw что бы не пустить весь трафик мимо биллинга... через сквид...
может кто нить поможет... мне бы пару примеров с комментариями... ЗЫЖ: Учусь писать правила для ipfw.
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #1 : 20 Октября 2010, 06:54:23 » |
|
Таааак, где мои карты ТАРРО?
|
|
|
Записан
|
|
|
|
VitalVas
NoDeny
Спец
Карма: 60
Offline
Сообщений: 991
|
|
« Ответ #2 : 20 Октября 2010, 14:00:22 » |
|
Долго мучаюсь, как правильно переписать правила ipfw что бы не пустить весь трафик мимо биллинга... через сквид...
может кто нить поможет... мне бы пару примеров с комментариями... ЗЫЖ: Учусь писать правила для ipfw.
а зачем тебе сквида? а man ipfw слабо? fwd 127.0.0.1,3128 tcp from "table(10)" to any 80
|
|
|
Записан
|
|
|
|
Elisium
NoDeny
Старожил
Карма: 19
Offline
Сообщений: 360
На форумах "спасибом" называется плюс к карме.
|
|
« Ответ #3 : 20 Октября 2010, 21:05:45 » |
|
а зачем тебе сквида? а man ipfw слабо?
fwd 127.0.0.1,3128 tcp from "table(10)" to any 80
это фикня. А с заворотом трафа на ДРУГОЙ вэб-сервер с другим ипом ? Чтобы НЕ держать на шлюзе еще и апач/нгинкс ? п.с. Признаюсь, сам тему еще не копал, но за пинок/ссылку в нужном направлении буду благодарен )
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #4 : 20 Октября 2010, 21:08:26 » |
|
я даж незнаю зачем такие сложности. что сложного не гонять через биллинг трафик?! если ты делал копипаст из мануала то просто диверт убери да и все
|
|
|
Записан
|
|
|
|
Elisium
NoDeny
Старожил
Карма: 19
Offline
Сообщений: 360
На форумах "спасибом" называется плюс к карме.
|
|
« Ответ #5 : 20 Октября 2010, 21:40:33 » |
|
Дабы не делать новую тему, думал тут запостить, тем более, что ТС уже примерно пнули в нужном направлении. Заранее пардон за длинный пост.
Вообщем, ниже пример. Бывал редко, но метко. Был поставлен один из первых модулей сообщений/перенаправления заблокированых юзеров товарища Cella. Там все, как он и описывал, просто, как ящеГ. Форвард определенных юзеров на этот же сервер на порт, где висит апач с красивой страничкой "идите все в .. деньги платить" или "прочитайте смску от админа".
Так вот: с некоторых пор заметил, что РЕДКО, но бывает, что трафик на порту биллинга вместо своих обычных 3-4 МБт прыгает до 20, а то и до 40МБт !! Посмотрев на сие чудо, увидел, что это столько льется со шлюза нетфлова. Вообщем, посмотрев в этот самый нетфлов ну и в логи апача, нашли 3-4 тела с торрентом и кучей закачек/раздач в нем. Модуль же перенаправляет юзеров на свою страничку, ЕСЛИ пришло сообщение от администрации, НО клиент при этом НЕ заблокирован.
Получается, что на 80 порт инета сыпется КУЧА запросов от торрентов, а модуль все их заворачивает на свою страничку. В этоже время клиент устанавливает ТУЧУ каких то коротких соединений. Скорее всего, сотни торрентов долбятся на свои трекеры, а получают старничку модуля. А так как трафик еще не вышел со шлюза, то его за кучу коннектов биллинг не блочит. Это мое вИдение редко проявляющегося у нас прикола, само собой могу быть в корне неправ. Биллингу от 20-40 МБт трафа становится плохо, начинает отваливаться база, ключики чернеют - вообщем полный привет ...
Решилось только полным выключением данной фичи - Странички уведомлений/заблокированых юзеров. Но все же оно было так красиво, что хочется вернуть все обрано, а нельзя - проблема то не решена полностью.
|
|
|
Записан
|
|
|
|
stix
NoDeny
Спец
Карма: 72
Offline
Сообщений: 1872
Nodeny Support Team
|
|
« Ответ #6 : 20 Октября 2010, 21:47:47 » |
|
актуальное замечание
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #7 : 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 Вот что-то типа того
|
|
|
Записан
|
|
|
|
Elisium
NoDeny
Старожил
Карма: 19
Offline
Сообщений: 360
На форумах "спасибом" называется плюс к карме.
|
|
« Ответ #8 : 20 Октября 2010, 22:51:45 » |
|
Нене .. Вопрос не в куче запросов на 80й порт. Это же шлюз и ему фиолетово, сколько там куда трафа вообще льется. Вопрос в том, что от кучи нетфлова, который льется СО шлюза в описаном случае, начинает загинаться биллинг.
п.с. аА!! ВООБЩЕ ограничить ИМЕННО форвардящиеся пакеты ?? мысль понял .. попробую ) спасибо ))
|
|
|
Записан
|
|
|
|
VitalVas
NoDeny
Спец
Карма: 60
Offline
Сообщений: 991
|
|
« Ответ #9 : 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(); страдать в таком случае будет только веб-сервер.
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #10 : 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
|
|
« Последнее редактирование: 20 Октября 2010, 23:06:01 от 0xbad0c0d3 »
|
Записан
|
|
|
|
VitalVas
NoDeny
Спец
Карма: 60
Offline
Сообщений: 991
|
|
« Ответ #11 : 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(); } отваливается на пол-часа, проверено
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #12 : 20 Октября 2010, 23:10:10 » |
|
Так ты это, проверку на юзерагент убери. Она тут ни к чему. Браузеру пофигу какой код ошибки. он контент одинаково рендерит. P.S. Проверка не трушная! Юзай регексп! if(preg_match("/torrent/i",getenv('HTTP_USER_AGENT'))){ ... };
|
|
« Последнее редактирование: 20 Октября 2010, 23:12:09 от 0xbad0c0d3 »
|
Записан
|
|
|
|
VitalVas
NoDeny
Спец
Карма: 60
Offline
Сообщений: 991
|
|
« Ответ #13 : 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 а веб-клиентов пускает ну это уже пошел офф....
|
|
|
Записан
|
|
|
|
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
Карма: 116
Offline
Сообщений: 1059
|
|
« Ответ #14 : 20 Октября 2010, 23:38:15 » |
|
Да все я отлично понял! Я ж говорю, что проверка на юзерагент тут ЛИШНЯЯ! т.к. если чел зайдет через браузер то ему отобразится страница даже если ее ерроркод будет 404 или что другое. А торрет/менеджер загрузок и пр. отвалится, да он получит страницу но один раз. Делать проверку али нет дело каждого.
|
|
|
Записан
|
|
|
|
|