Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [FAQ] Ограничение скорости для клиентов на Ubuntu-Server (htb.init)  (Прочитано 256548 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
ЗДравствуйте, дорогие мои! :)
У меня возник вопрос.. так как подходящих ответов я не нашел на форуме, если они и есть.. был бы рад чтоб направили в правильное русло.
Ситуация следующая: поставил сервер Ubuntu... который должен раздавать 20 МБит общего канала для пользователей (около 150 человек). Полоса для каждого юзера от 768 кБ до 1мБ. Вопрос: как правильно и качественно организовать сиё дело?
НАТ, СКЬЮД уже настроено.. дело за реализацией лимита скорости.
ЗАранее выражаю благодарность к откликнувшимся. :coolsmiley:
« Последнее редактирование: 02 Марта 2011, 00:23:26 от stmc »

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #1 : 14 Августа 2008, 23:02:02 »
Сквид умеет точно, изучайте мануалы, гугл вам в помощь
а имхо лучший вариант для такой задачи - сервер vpn (pptp) с ограничением скорости через tc qdisc

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #2 : 14 Августа 2008, 23:58:02 »
Сквид умеет это?... хм...
я просто вот щас читаю инфу на счет  : HTB , CBQ, и еще что, и кто подскажет... а в итоге не знаю на что именно мне надо усердно ударить трудом и усердием, на что обратить внимание.. и что именно настраивать.. как раз это и ухудшает ситуацию.

Конечно, можна и самому разобраться.. вот только надо знать куда копать.

Оффлайн adept_

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #3 : 15 Августа 2008, 09:36:03 »
Недавно читал по этому поводу статью в последнем "Хакере". Там настраивали Squid. Увы, беглый гуглеж на электронный вариант статьи не вывел. Зато много других статей по этой теме. Например:
http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=91

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #5 : 15 Августа 2008, 11:22:53 »
Операция называется traffic shaping.
Google Вам в помощь.

http://lartc.org/wondershaper/

Поскольку на сервере помимо сквида есть еще и NAT, то без соответствующих настроек сервера наиболее умные смогут воспользоваться всей шириной канала, просто отключив у себя прокси.
Можно NATом прозрачно пустить весь HTTP трафик через сквид, но это не очень удобно, т.к. иногда прямое соединение  все же нужно.
« Последнее редактирование: 15 Августа 2008, 11:35:27 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #6 : 15 Августа 2008, 12:59:02 »
Цитировать
Можно NATом прозрачно пустить весь HTTP трафик через сквид
не можно а нужно
Цитировать
но это не очень удобно, т.к. иногда прямое соединение  все же нужно.
неа

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #7 : 15 Августа 2008, 13:25:58 »
Операция называется traffic shaping.

На счет шейпинга это понятно... так как вся эта дребедень щас бегает на циске. Но вот на Линукс я нашел много применений шейпинга.... и много высказываний как на одно, так и на все остальные методы... одни говорят то лучьше,а это Г, другие что это не подходит, а то увеличит продуктивность и надежность.

Цитировать
Поскольку на сервере помимо сквида есть еще и NAT, то без соответствующих настроек сервера наиболее умные смогут воспользоваться всей шириной канала, просто отключив у себя прокси.
Можно NATом прозрачно пустить весь HTTP трафик через сквид, но это не очень удобно, т.к. иногда прямое соединение  все же нужно.


Прямое соединение по 80 порту? ну хз..

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #8 : 15 Августа 2008, 13:30:13 »
У меня успешный опыт настройки трафик-шейпера на основе HTB.
pptp или иной VPN-сервер в этом случае не нужен и я бы сказал даже мешать будет. На обычный NAT его повесить проще (потому что в этом случае его нужно будет навешивать только на один сетевой интерфейс).

Значит, можно делать руками через tc:
man tc
man qdisk
man htb (не уверен в существовании такого мана :) )

А можно вот с помощью такого "псевдо-демона" (имхо для начала будет проще):
http://sourceforge.net/projects/htbinit
http://www.opennet.ru/openforum/vsluhforumID11/20.html
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #9 : 15 Августа 2008, 13:55:08 »
2Lion-Simba:
Можете поделиться скриптиком для tc htb без VPN?

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #10 : 15 Августа 2008, 15:25:31 »
2Lion-Simba:
Можете поделиться скриптиком для tc htb без VPN?

Хотя бы вот это:
http://sourceforge.net/projects/htbinit

Какбы tc вообще никак не завязан на VPN. С чего вы взяли, что для него необходим pptp?
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #11 : 15 Августа 2008, 20:04:28 »
Какбы tc вообще никак не завязан на VPN. С чего вы взяли, что для него необходим pptp?
Шейпер реализовать проще. Получается, что на одном интерфейсе (pppX) висит только один клиент, и прямо на интерфейс накладываем шейп. Но у этого способа есть свои особенности по сравнению с htb.init: не реализовать приоритеты, динамическую скорость и прочее. Но я не представляю себе, как настроить htb.init для 150 клиентов, при использовании vpn же просто надо закинуть 2 скрипта: один в ip-up.d, другой в ip-down.d
если присмотреться, именно так делают крупные ethernet-провайдеры.

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #12 : 15 Августа 2008, 23:43:07 »
2Stiff: всё верно :)

Впрочем, и без впн при подключении очередного клиента (каким бы то ни было средством авторизации) можно выполнять скрипт, который будет навешивать очередное правило на один и тот же интерфейс. А при отключении клиента - убирать это правило с интерфейса. Если пользователи имеют статические IP, то можно эти правила единожды добавить и забыть.

У меня в сети как раз реализованы оба варианта:

1. на общий интерфейс (для всех пользователей сети) - ограничивается скорость доступа к бесплатным внешним ресурсам, при этом используется приоритезация и при свободном канале - он отдается весь.

2. на отдельные pptp интерфейсы (для анлимитных интернетчиков) - ограничевается вся скорость. :) И вот тут конечно тоже хотелось бы заиметь балансировку между клиентами, потому как: на этом же канале висят интернетчики-НЕбезлимитчики, и вот им надо бы гарантировать какую-то минимальную скорость, но с возможностью использования всего канала, если он не используется интернетчиками-анлимитчиками.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #13 : 16 Августа 2008, 01:11:49 »
Тоесть если у меня все анлимщики-клиенты..  ???тогда мне надо использовать htb ? или что...
тогда вопрос : если 20 человек начинает активно использовать интернет.... и по договору(!) у каждого должно быть по 1 МБиту, а общий канал составляет 20 Мбит, что останеться остальным 150 клиентам...??? :o

 как между ними распределиться скорость?? на циске это как-то балансировалось отлично.... получалось что у каждого из 170 клиентов по спидтесту было от 800 кБит до 1МБит скорости....   возможна ли реализация такой балансировки скорости на нашей, всеми любимой, Ubuntuма-сервере, новоиспеченой сборки.?

Желающие поделиться обосноваными мнениями и советами дельными,отписывайтесь...
Сенкс! :coolsmiley:
« Последнее редактирование: 17 Августа 2008, 01:39:15 от TrEK »

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: Урезание скорости для клиентов на Ubuntu_server 8.04
« Ответ #14 : 17 Августа 2008, 18:44:56 »
Тоесть если у меня все анлимщики-клиенты..  ???тогда мне надо использовать htb ? или что...
тогда вопрос : если 20 человек начинает активно использовать интернет.... и по договору(!) у каждого должно быть по 1 МБиту, а общий канал составляет 20 Мбит, что останеться остальным 150 клиентам...??? :o

 как между ними распределиться скорость?? на циске это как-то балансировалось отлично.... получалось что у каждого из 170 клиентов по спидтесту было от 800 кБит до 1МБит скорости....   возможна ли реализация такой балансировки скорости на нашей, всеми любимой, Ubuntuма-сервере, новоиспеченой сборки.?

Желающие поделиться обосноваными мнениями и советами дельными,отписывайтесь...
Сенкс! :coolsmiley:
Ну вы же не одновременно эти спидтесты запускали на всех клиентах.
Во вторых, договор скорее всего не гарантирует скорости в 1 мбит
покажите как вы делали это на циске.
ну и для начала поднимите vpn (или pppoe) сервер, без него всё-таки в этой ситуации никак

 

Страница сгенерирована за 0.03 секунд. Запросов: 21.