Atomic Posted January 16, 2004 Posted January 16, 2004 Дано: роутер на Linux клиенты через PPPoE Канал 512к Необходимо: ОГРАНИЧИТЬ суммарный канал у сидящих в данный момент пользователей. В чем сложность (для меня): все методы, которые я посмотрел, используют имя интерфейса. Так как каждый пользователь на отдельном интерфейсе, то правило ограничения на каждого свое. А необходимо ограничивать СУММУ скорости всех текущих пользователей, оставляя какой-то кусочек для моих нужд. Подскажите, чем это реализовать? скажу сразу, нужно весь трафик шейпить, поэтому SQUID можно только теоритически рассматривать.[/u] Вставить ник Quote
AlexSatter Posted January 16, 2004 Posted January 16, 2004 squid в принципе должен с этим справляться7.. хоть я и не использую таким образом его... только исключительно для http запросов...но если зафорвардить весь трафик на сквид, то должно получиться... p.s. я использую FreeBSD = ipfw + dummynet Вставить ник Quote
Atomic Posted January 16, 2004 Author Posted January 16, 2004 Под Linux видал кто-то такую связку? Вставить ник Quote
dve Posted January 20, 2004 Posted January 20, 2004 Прочитай http://www.opennet.ru/base/net/adv_route_qos.txt.html Вставить ник Quote
Atomic Posted January 20, 2004 Author Posted January 20, 2004 Блин, все эти методики используют строки вида: tc qdisc del dev ppp0 ingress 2>/dev/null Где ключевой момент - ppp0! У меня же НЕСКОЛЬКО ДЕСЯТКОВ ppp интерфейсов, и нужно ограничивать СУММУ трафика, который клиенты , на них сидящие, могуть тянуть. Вставить ник Quote
UglyAdmin Posted January 21, 2004 Posted January 21, 2004 Блин, все эти методики используют строки вида:tc qdisc del dev ppp0 ingress 2>/dev/null Где ключевой момент - ppp0! У меня же НЕСКОЛЬКО ДЕСЯТКОВ ppp интерфейсов, и нужно ограничивать СУММУ трафика, который клиенты , на них сидящие, могуть тянуть. А что тебе мешает органичивать не на интерфейсе ppp, а на eth? Зарежь группу IPшников, выдаваемую по ppp и всё! Вот как ограничить КАЖДОГО клиента, чтобы он другим не мешал. Писать правила для шейпера на каждый IP как-то влом, их целая сетка. Вставить ник Quote
Atomic Posted January 21, 2004 Author Posted January 21, 2004 На каком eth??? У меня исход через PPPoE. На eth интерфейсах, через которые он идет - даже IP не поднят. Что там можно резать??? Мне надо от конкретных хостов пошейпить трафик... Что, неужели никто не знает? Вставить ник Quote
Atomic Posted January 21, 2004 Author Posted January 21, 2004 Вот как ограничить КАЖДОГО клиента, чтобы он другим не мешал. Писать правила для шейпера на каждый IP как-то влом, их целая сетка. Ну дык и пропиши сетку. С маской подсети. И будет тебе счстье. Вставить ник Quote
UglyAdmin Posted January 21, 2004 Posted January 21, 2004 На каком eth??? У меня исход через PPPoE. Не понял, у тебя IP совсем нет? Или всё-таки эти ppp в какой-то интерфейс рутятся? Вот на этом интерфейсе и зарежь! Ну дык и пропиши сетку. С маской подсети. И будет тебе счстье. Это будет не каждого, а всех. Объясню на примере: есть канал 2 МБита на 32 клиента. Чтобы его не забил кто-нибудь слишком хитрый, я хочу всех хитрых зарезать до, например, 512кбит. Конечно, четверо хитрых его забьют, но вероятность такого события существенно ниже. Наиболее удачная схема - это когда каждый клиент имеет 64кбита гарантированно и например 512кбит максимально, т.е. каждому выделяется MIR и CIR, но это ещё более нетривиально. Вставить ник Quote
Atomic Posted January 21, 2004 Author Posted January 21, 2004 На каком eth??? У меня исход через PPPoE. Не понял, у тебя IP совсем нет? Или всё-таки эти ppp в какой-то интерфейс рутятся? Вот на этом интерфейсе и зарежь! Нет. Интерфейс поднят без адреса. По этому интерфейсу ходят non-ip пакеты pppoe. Так как они non-ip, то нельзя разобрать, с какого хоста они идут... Вставить ник Quote
UglyAdmin Posted January 21, 2004 Posted January 21, 2004 Интерфейс поднят без адреса. По этому интерфейсу ходят non-ip пакеты pppoe. Ну где-то же они в IP превращаются... Это же не бридж. Шейпить на линуксе в этом случае не получится - он умеет только исходящий траффик шейпить. Попробуй шейпить ДО сервера доступа, на рутере. Правда, только в том случае если сервер доступа и рутер - это разные компы. Вставить ник Quote
terapeut Posted January 21, 2004 Posted January 21, 2004 Глупый вопрос: а нельзя как в DUMMYNET прописать нечто вроде: ipfw add 456 pipe 123 all from any to 192.168.0.0/24 или типа того по обстановке, главное без указания интерфейса. В конце концов указание интерфейса - не обязательный параметр, если надо - конкретизируешь, а нет - так и зачем его писать? =) Ведь оно в любом случае пролетает где-то в IP-виде. Или в Линухе настолько "хитрозавёрнутый" файер, что такую простую идею он не воспримет? Вставить ник Quote
Atomic Posted January 21, 2004 Author Posted January 21, 2004 я уже спрашивал, кто знает реализацию DUMMYNET на Линуксе??? Я тоже уже склонился к идее установки отдельного сервера доступа... Вставить ник Quote
JiNN Posted January 21, 2004 Posted January 21, 2004 Посмотри в сторону IMQ : http://www.opennet.ru/prog/info/1819.shtml http://www.opennet.ru/base/net/adsl_bandwi...gement.txt.html Вставить ник Quote
Atomic Posted January 21, 2004 Author Posted January 21, 2004 Я это видел. Не поддерживается уже. А сидеть на старых ядрах ради этого - глупо. Вставить ник Quote
Hugle Posted January 30, 2004 Posted January 30, 2004 esli situacija slishkom beznadioshnaja, mozhet sledujet postavit' bridge s freebsd i shape'it na niom?:) Вставить ник Quote
Atomic Posted January 30, 2004 Author Posted January 30, 2004 Да не слишком. Попробую заворачивать прозрачно на squid, и ним шейпить. Вставить ник Quote
Hugle Posted January 30, 2004 Posted January 30, 2004 squid mozhet shape'it tolko traffic kotorij idiot cherez nego.. ja nedumaju shto ty smozhesh shape'it ftp traffic.. t.e. zdelat' transparent proxy dla ftp pomojemu nikak nepoluchitsa.. on budet shapeit' tolko 80yj port... Вставить ник Quote
Atomic Posted January 30, 2004 Author Posted January 30, 2004 Ну, пока и нужно только http шейпить, с нескольких хостов. Вставить ник 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.