N.Leiten Опубликовано: 24 октября, 2005 Опубликовано: 24 октября, 2005 В общем есть проектик - написал скрипт, что-то вроде CBQ но основанный на HTB, который динамически изменяет скорость в зависимости от загрузки канала на пользователя. Умеет работать с интерфейсами ВПН - то есть на линухе создается каждый раз разный интерфейс - так вот ЭТО может находить нужный интерфейс и шейпить что нам нужно. Файлы конфигураций приближены по формату к конфигам CBQ.init. Сам файл лежит здесь (извините за выбор хостинга) http://flexshape.narod.ru/flexshape-alpha-v1-20051024.tar.gz размер - 17кбайт Документалка внутри - на английском (моем кривом английском) и на русском. Что хочу от вас - протестируйте у кого есть возможность на наличие багов, т.к. не хочется дальше его дорабатывать, если в нем еще будут ошибочки. Конечно, идей много - реализовать их все хочется, так что жду еще ваших коментариев нужно ли оно.
keshaLG Опубликовано: 24 октября, 2005 Опубликовано: 24 октября, 2005 Руль..... пойдет.... будем тестить, жалко конечно, что перла не знаю.... спасибо от лица всех кто будет юзать его, нужное дело сделал... настоящий пользователь GNU
egor2fsys Опубликовано: 25 октября, 2005 Опубликовано: 25 октября, 2005 так что жду еще ваших коментариев нужно ли оно. нужно! АднАзнАчнА
N.Leiten Опубликовано: 25 октября, 2005 Автор Опубликовано: 25 октября, 2005 Забыл сказать, что версия альфа - то бишь исключительно для тестинга. Просто не рекомендую запускать в работу, хотя у меня уже успел поработать пару часов на всю локалку - могу сказать преркасно работает. Но появилось пару вопроскиов - буду тестить дальше. И, конечно же, продолжаю ждать замечаний по ошибкам Да и еще одно. Кто знает готовые программы тестеры - в общем нужно получить общую статистику загрузки памяти и процессора моей программой, а то неприкольно как-то наблюдать top или клацать free, uptime...
Den_LocalNet Опубликовано: 25 октября, 2005 Опубликовано: 25 октября, 2005 http://flexshape.narod.ru/flexshape-alpha-v1-20051024.tar.gz Erorr 404
N.Leiten Опубликовано: 25 октября, 2005 Автор Опубликовано: 25 октября, 2005 Только что проверил - работает, сразу закачивает... Если не идет - могу выслать на мыло. Или предлагайте еще одно место для вылаживания.
Den_LocalNet Опубликовано: 25 октября, 2005 Опубликовано: 25 октября, 2005 вот ещё одно зеркало будет: http://lan.com.ua/downloads/flexshape-alph...20051024.tar.gz
N.Leiten Опубликовано: 25 октября, 2005 Автор Опубликовано: 25 октября, 2005 О, пасибки... Я на народ перегрузил файл - добавил ридми на русском в кодировке виндузной... Есть желающие под виндой почитать
N.Leiten Опубликовано: 27 октября, 2005 Автор Опубликовано: 27 октября, 2005 Чуток подкорректировал сайт, приблизительно к выходным выложу следующую версию. Прошу сюда: http://flexshape.narod.ru
fufnf Опубликовано: 13 января, 2006 Опубликовано: 13 января, 2006 Есть канал на инет со скоростю в зависимости от трафика: Украина - 1 Мбит, мир - 128 Кбит. Я хочу шейпить с помощью вашей проги только иностранный (неукраинский) трафик. Для этого для иностранного трафик в iptables я делаю REDIRECT на порт 3128 и он идет на проксю. Внимание, вопрос: смогу ли я создать класс на основе порта-адресата 3128 и т.о. шейпить только иностранный трафик? Спасибо.
N.Leiten Опубликовано: 13 января, 2006 Автор Опубликовано: 13 января, 2006 Насколько я понимаю процесс обработки пакетов приходящих в линукс - могу сказать, что вряд ли будет работать. Т.к. шейпер работает на исходящие пакеты, то будет проблематично указать с какого интерфейса идут пакеты и куда. То есть порт указать укажем - а вот куда трафик исходить будет? на внутрь - есть дополнительные модули для шейпера, но они иммитируют входящий интерфейс и задерживают трафик на прием - в моем шейпере нет поддержки этого. Кста, я сейчас весь в работе - не знаю когда будет следующая версия, но будет обязательно - крайне не рекомендую использовать шейпер для динамических интерфейсов - забивает процессор уже при 5-10 классах.
fufnf Опубликовано: 14 января, 2006 Опубликовано: 14 января, 2006 Насколько я понимаю процесс обработки пакетов приходящих в линукс - могу сказать, что вряд ли будет работать. Т.к. шейпер работает на исходящие пакеты, то будет проблематично указать с какого интерфейса идут пакеты и куда. То есть порт указать укажем - а вот куда трафик исходить будет? на внутрь - есть дополнительные модули для шейпера, но они иммитируют входящий интерфейс и задерживают трафик на прием - в моем шейпере нет поддержки этого. В таком случае скажите, на каком этапе фильтрации транзитных пакетов работает ваша программа (mangle prerouting -> nat prerouting -> mangle forward -> filter forward -> mangle postrouting -> nat postrouting)? Если уже после nat postrouting, то можно сначала в этой таблице сделать такое маскирование для иностранных пакетов (iptables -t nat -A POSTROUTING -p tcp -o eth1 -j SNAT --to-source 194.236.50.155:1024) и т.о. ваша программа могла бы на этом внешнем интрефейсе (eth1) на основе уже порта-источника 1024 шейпить трафик. Или снова мимо?
N.Leiten Опубликовано: 14 января, 2006 Автор Опубликовано: 14 января, 2006 Да, теперь работать будет - по порту источнику в этом случае можно просто указать порт источник и будет шейпиться вся информация с 1024 порта, а если параллельно указывать абобента - айпи-приемник, то шейпер будет работать на отдельного клиента ЗЫ. Вопрос ко всем, каким образом можно обратиться непосредственно к системе и узнать информацию об интерфейсах присутствующих в данный момент? Т.к. в последней версии просиходит обработка текстовой ифнормации из "/sbin/ip addr show", то достаточно нагружает процесор несколько таких процессов да и еще раз в две-три секунды. Чувствую, что следующая версия выйдет еще на перле в виде скрипта, а следующая за ней будет в виде исходника на С для компиляции
N.Leiten Опубликовано: 14 января, 2006 Автор Опубликовано: 14 января, 2006 И вопрос непосредственно ко всем. В виду того, что "тяжелый" режим работает кое-как, есть уже алгоритм который охладит процессор на 50% (в частности поиск интерфейсов динамических будет производится одним ведущим скриптом). И алгоритм отдельно для ППП соединений (используя ip-up ip-down). Так вот вопрос: стоит ли оставлять эту старую версию алгоритма в шейпере?
Yuryus Опубликовано: 10 июня, 2006 Опубликовано: 10 июня, 2006 И вопрос непосредственно ко всем. В виду того, что "тяжелый" режим работает кое-как, есть уже алгоритм который охладит процессор на 50% (в частности поиск интерфейсов динамических будет производится одним ведущим скриптом). И алгоритм отдельно для ППП соединений (используя ip-up ip-down). Так вот вопрос: стоит ли оставлять эту старую версию алгоритма в шейпере? Уж очень хотся поюзать... Заранее Респект. Очень интересная идея.
VIPrules Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 Очень интересная и нужная тема. Только похоже, что она умерла.... Если нет, ткните носом.
Pit Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 Интересно когда под freebsd выйдет.
BlackSedan Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 Интересно когда под freebsd выйдет. pf + altq + perl ко всему приложить /dev/hands
Pit Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 Вот вы бы взяли в все выше перечисленное и сваяли нам такой шейпер.
BlackSedan Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 наработки есть конечно, другой вопрос в том а функционально ли будет это для других ? лично я не против поделится, но без поставленой задачи это просто набор скриптов...
N.Leiten Опубликовано: 20 сентября, 2006 Автор Опубликовано: 20 сентября, 2006 Извиняюсь, что долго не отвечал - завален работой по самое нехочу. Шейпер однозначно будет переписан. И переписан по всем швам. Уже сейчас нужна поддержка управления на основе списков и общих классов. Как упоминалось раньше - управление для динамических интерфейсов используя ip-up ip-down. Просьба ко всем, пишите сюда что желаете увидеть в следующей версии. Шейпер обещаю написать без глюков и полностью оттестировать, естественно скрипты не прячу и всё всем будет доступно.
Pit Опубликовано: 20 сентября, 2006 Опубликовано: 20 сентября, 2006 ALTQ + FreeBSD включит поддержку инвертирования на хост сеть например !10.10.10.10 !10.10.100.0/24 не шейпить хост и сеть
VIPrules Опубликовано: 27 сентября, 2006 Опубликовано: 27 сентября, 2006 2 N.Leiten Два вопроса: 1. Пока только расчехляю шейпер, и пока не знаю, может ли он так делать. Есть канал на 256Кб/с. Ну допустим я создал класс и ограничил всех юзеров, до половины всего канала - 128Кб/с. И в случае, если их становится слишком много, и все чего-нить качают, то скорость (по идее) должна равномерно падать у всех юзеров. А если юзер или группа юзеров в сумме не превышают скорость канала (в моем случае это вряд ли возможно, но все же), то даст ли шейпер свободную часть канала в использование, или она так и будет простаивать? Если этого нет, то хотелось бы видеть эту возможность в новой версии. Желательно, чтобы это было опционально. 2. Где-то тут на форуме читал, что новый релиз на С выйдет в сентябре. Так когда же (хотя бы бриблизительно) ждать?
Maikl Опубликовано: 27 сентября, 2006 Опубликовано: 27 сентября, 2006 Ждем, тема интересная и нужная...
N.Leiten Опубликовано: 27 сентября, 2006 Автор Опубликовано: 27 сентября, 2006 Да, действительно были планы до сентября закончить, учитывая, что переделывать начал в июне, на том и остановился, т.к. был завален работой и мыслью об отдыхе. Отдохнуть не дали, вот теперь пашу дальше. О приблизительных сроках выхода говорить не буду, т.к. и сейчас завален работой, и в соседнем треде обещался сервер для чата закончить. Сам шейпер переписать - около недели времени. Ориентировочно ним буду заниматься сразу по завершению работы над чатом Насчет возможности использования "гуляющего" канала - подумать можно, но не факт что получится легкой кровью это реализовать. В общем буду думать - безвыходных ситуаций не бывает. Ну и конечно, все возможности будут опциональными. Вот пока не начал писать жду новых предложений, для того, чтоб упарвление шейпером сделать простым и понятным, а то первая версия немного с толку сбивает
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас