amx Posted March 3, 2010 Posted March 3, 2010 Опишу ситуацию. Софт роутер FreeBSD (ipfw, dummynet). Внешний канал не резиновый и вечерами люди стали жаловаться. Я конечно предпринял некие шаги для ограничения тех-то и тех, но все же хочется сделать красиво. А именно, в чем мысль. Динамически отслеживать качков и накладывать некие ограничения в соответствии с тарифом. Но главная проблема здесь - чем анализировать. Запросы примитивнейшие: хочется получать такого рода данные как: 1. трафик за период: последние минута, 10 мин, 30 мин, час, два, 4, и т.п. (это я и из базы могу дергать, но лучше хоть примерно, но на месте вычислять) 2. максимальная загрузка полосы, средняя загрузка Ну вы поняли, динамический такой шейпинг, качаешь медленно - никто тебя не трогает, качнул сильно, на время ограничили, качаешь регулярно... и т.п. Причем есть bandwithd, но его графики мне смотреть некогда, хочется как-нибудь автомат прикрутить. Внешний канал увеличить не предлагать, это делается, но до того еще месяца два-три как-то жить надо... Вставить ник Quote
Negator Posted March 4, 2010 Posted March 4, 2010 Ох нехорошо поступаете.. Я вот тут другую идею придумал 1-Основной потребитель трафика -торрент 2-Большинство крупных трекеров отдают retracker.local всем подряд Далее идея Абонент включил торрент - пошли пакеты на retracker.local (Зону .local понятное дело надо поднять) - ловим эти обращения -вычисляем IP и шейпим абонента. Запросы перестали - перестали и мы шейпить. Осталось придумать как все это реализовать. Вставить ник Quote
Ilya Evseev Posted March 4, 2010 Posted March 4, 2010 Из готового - формально ipband. Если сочинять собственный костыль - то можно смотреть изменение счётчиков в "ipfw pipe list" и снижать скорость при превышении любого из нескольких лимитов для периодов разной длины. Нечто похожее делает spamblock, считая количество smtp-соединений и блокируя превысивших. Вставить ник Quote
hub00 Posted March 4, 2010 Posted March 4, 2010 (edited) amx, а ntop пробовал? Все что ты перечислил там есть + iftop. Edited March 4, 2010 by hub00 Вставить ник Quote
amx Posted March 4, 2010 Author Posted March 4, 2010 amx, а ntop пробовал? Все что ты перечислил там есть + iftop.Нет, не пробовал. Решил заранее спросить, чтобы поменьше левого ставить. iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне. Ipband сходу в портах не был найден, вечером попробую, но кажется мне что там те же грабли. Ntop выглядит громоздко под мои нужды по схеме... но что поделать, надо будет изучить. Вставить ник Quote
Ilya Evseev Posted March 4, 2010 Posted March 4, 2010 Ipband сходу в портах не был найден, вечером попробую, но кажется мне что там те же грабли.Ntop выглядит громоздко под мои нужды по схеме... но что поделать, надо будет изучить. Тут ещё следует учесть, что они оба работают через libpcap.У меня ntop повысил загрузку процессора ровно вдвое. Вставить ник Quote
vIv Posted March 5, 2010 Posted March 5, 2010 http://forum.nag.ru/forum/index.php?showtopic=55025 - тоже интересно Вставить ник Quote
goletsa Posted March 5, 2010 Posted March 5, 2010 Ну никто не мешает просто настроить экспорт newtflow статистики наружу а ntop запускать на другом сервере. Это должно незначительно повысить нагрузку. Вставить ник Quote
Jugernault Posted March 5, 2010 Posted March 5, 2010 iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.Кнопочку T потыкай. Ну никто не мешает просто настроить экспорт newtflow статистики наружу а ntop запускать на другом сервере. Это должно незначительно повысить нагрузку.это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш Вставить ник Quote
amx Posted March 5, 2010 Author Posted March 5, 2010 iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.Кнопочку T потыкай.это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш Кнопочка Т работает, но дает не тот результат :) 93.186.228.189 => 10.*.*.134 0b 5.49Kb 5.49Kb 93.186.225.69 => 10.*.*.134 12.9Kb 4.30Kb 4.30Kb 93.186.239.135 => 10.*.*.134 12.7Kb 4.24Kb 4.24Kb 93.186.238.112 => 10.*.*.134 0b 3.59Kb 3.59Kb Мне не надо знать, сколько потоков у абонента 134, я хочу знать сколько оно вместе. Вставить ник Quote
goletsa Posted March 5, 2010 Posted March 5, 2010 iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.Кнопочку T потыкай.это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш Кнопочка Т работает, но дает не тот результат :) 93.186.228.189 => 10.*.*.134 0b 5.49Kb 5.49Kb 93.186.225.69 => 10.*.*.134 12.9Kb 4.30Kb 4.30Kb 93.186.239.135 => 10.*.*.134 12.7Kb 4.24Kb 4.24Kb 93.186.238.112 => 10.*.*.134 0b 3.59Kb 3.59Kb Мне не надо знать, сколько потоков у абонента 134, я хочу знать сколько оно вместе. netflow+ntop Вставить ник Quote
XeonVs Posted March 5, 2010 Posted March 5, 2010 nfdump+nfsen будут красивые картинки Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.