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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: ЛОКАЛЬНЫЙ шейпер? Возможно ли?  (Прочитано 2024 раз)

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

Оффлайн ldv290384e

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« : 06 Ноября 2009, 14:44:49 »
По поиску нашёл много рецептов как сделать шейпер в локальной сети на сервере с которого раздаётся и-нет. Но у меня немного другая проблема. Я, блин, о слове "шейпер" не знал вообще, когда делал домашний вай-фай... Схема: ADSL+ в модем (в модеме шейпера нет ("Интеркросс")), из модема кабель Ethernet'а в точку доступа (и в ней родимой шейпера тоже нет ("D-Link DAP-1150")), из неё защищёный вай-фай на два ноута... Ах, если бы я знал о волшебном слове "шейпер" раньше. А сейчас мнеп переодически приходиться топать в другую комнату с просьбой освободить канал. Собственно, на обоих компах Ubuntu. Можно ли на них поставить шейперы ЛОКАЛЬНО, что бы они душили сами себя? =))) При том ещё и выборочно по адресу внешних ресурсов (как водится у провайдера собственный сайт со скоростью в десять раз выше и на него нужно отдельное разделение скорости).

Оффлайн timerbulatov

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #1 : 06 Ноября 2009, 15:00:32 »
man iptables,уважаемый.
Тот,кто может-ищет возможность.Тот, кто не может-ищет оправдание.

Оффлайн Nomadian

  • Участник
  • *
  • Сообщений: 232
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #2 : 06 Ноября 2009, 15:04:21 »
Теоретически можно. На интерфейсе надо поднять два виртуальных (с разными IP). Дальше один интерфейс сделать "внешним" с правильными настройками шлюза и DNS-ов (если нужно DHCP), второй - "внутренним". У внутреннего в качестве шлюза - ip-адрес внешнего интерфейса, DNS-ы прописать вручную. Использовать ip-tables и htb-init (так проще) или squid (так сложнее, и нагрузка на процессор будет чуть больше).

Однако, это теория. Сам не пробовал, не факт, что получится, хотя логических препятствий не вижу.

А ещё проще найти где-нибудь старую машинку и сделать её шейпером, воткнув между модемом и точкой доступа. На Intel Celeron 1.4 GHz + 512Mb памяти (агрегату 5 лет, рыночная цена <= 100$) у меня беспроблемно "сидит" офис на 50+ рабочих мест. Канал 8Мбит, две подсети, несколько групп ip-адресов с разным гарантированным и потолочным значением доступного канала, т.е. работа у шейпера есть :). При этом загрузка процессора никогда не превышает 30%, памяти всегда свободно ~250 метров, т.е. есть запас. Настроены Ubuntu-server 8.04 + ip-tables + htb-init, как наиболее простой и нетребовательный вариант шейпера.
« Последнее редактирование: 06 Ноября 2009, 15:14:34 от Nomadian »

Оффлайн ldv290384e

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #3 : 06 Ноября 2009, 15:14:50 »
На интерфейсе надо поднять два виртуальных (с разными IP). Дальше один интерфейс сделать "внешним" с правильными настройками шлюза и DNS-ов (если нужно DHCP), второй - "внутренним". У внутреннего в качестве шлюза - ip-адрес внешнего интерфейса, DNS-ы прописать вручную.

Добро. Спасибо за идею, буду копать в этом направлении.

найти где-нибудь старую машинку и сделать её шейпером, воткнув между модемом и точкой доступа ... На Intel Celeron 1.4 GHz + 512Mb памяти (агрегату 5 лет) у меня беспроблемно "сидит" офис на 50+ рабочих мест. Канал 8Мбит, две подсети, несколько групп ip-адресов с разным гарантированным и потолочным значением доступного канала, т.е. работа у шейпера есть :). При этом загрузка процессора никогда не превышает 30%, памяти всегда свободно ~250 метров, т.е. есть запас. Настроены Ubuntu-server 8.04 + ip-tables + htb-init, как наиболее простой и нетребовательный вариант шейпера.

[Смотрит на прибитую к стене плату 486-го...] А 486DX2, как по Вашему, осилит?
« Последнее редактирование: 06 Ноября 2009, 15:30:29 от ldv290384e »

Оффлайн timerbulatov

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #4 : 06 Ноября 2009, 15:15:11 »
Nomadian Теоретически???что вы огород городите.....виртуальные интерфейсы...на каждую машину ставится iptables...и в цепочках прописывается или глобально шейпер или по отдельным портам....ВСЕ!
гугление по словам iptables shape выдает море полезной инфы....читайте,один раз разберетесь и на всю жизнь.
« Последнее редактирование: 06 Ноября 2009, 15:30:31 от timerbulatov »
Тот,кто может-ищет возможность.Тот, кто не может-ищет оправдание.

Оффлайн Nomadian

  • Участник
  • *
  • Сообщений: 232
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #5 : 06 Ноября 2009, 15:28:13 »
to timerbulatov: Да, в принципе, можно "отмаркировать" (для htb-init) трафик и с одного интерфейса...

Только вот что подумалось... Настраивая шейпер прямо на машине, можно, конечно, ограничить пропускную способность для софта на этой машине, но никакой балансировки не выйдет.

Поясню. Обычно непровадерский шейпер работает так... Например, есть два компа A и B. Общий канал на 4 Мбита. Если перед ними стоит шейпер, "справедливо" делящий канал, то оба компа получают, к примеру, 2 МБит гарантированно и 4 - потолочно. То есть, если компьютер A работает один, ему доступны до 4 МБит/сек. Если в Инет идут оба компьютера, каждому доступно не мнее 2 МБит/сек, но опять же, если компьютер B не посылает запросов, компьютеру A доступно до 4 МБит/сек и наоборот.

Если настроить "шейпер" прямо на рабочих местах, никакой альтернативы жесткому ограничению половиной (или иной долей) канала нет, так как балансировка на основе учёта запросов всех машин недоступна.
« Последнее редактирование: 06 Ноября 2009, 15:30:02 от Nomadian »

Оффлайн timerbulatov

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #6 : 06 Ноября 2009, 15:35:02 »
для Nomadia....вы в чем то правы.справедливого деления канала не будет без шлюзового шейпера....но он и не нужен....достаточно на рабочих местах жестко ограничить полосу пропускания.например по 50 процентов от общей ширины входящего канала.а еще лучше ограничивать канал на основе портов....другой вариант - поставить сквид в минимальной конфигурации...там тоже есть шейпер....

ЗЫ.Топикстартер спросил "ЛОКАЛЬНЫЙ шейпер? Возможно ли?"....можно смело ответить Да.возможно....никаких дополнительных условий как то балансировка не было предьявлено.....
Приоритеты для доступа на конкретные ресурсы тоже легко реализуются в iptables
« Последнее редактирование: 06 Ноября 2009, 15:40:38 от timerbulatov »
Тот,кто может-ищет возможность.Тот, кто не может-ищет оправдание.

Оффлайн Nomadian

  • Участник
  • *
  • Сообщений: 232
    • Просмотр профиля
Re: ЛОКАЛЬНЫЙ шейпер? Возможно ли?
« Ответ #7 : 06 Ноября 2009, 15:51:36 »
Цитировать
А 486DX2, как по Вашему, осилит?
https://help.ubuntu.com/community/Installation/LowMemorySystems
...на x486 процессоре запустится.
...рекомендуется от 32 Мб RAM. Думается, что до 128 Мб всё будет работать очень неспеша.
...минимум 450 Мб места на диске, но чем меньше RAM, тем больше нужен swap (в пределах разумного). Не пробовал, но подозреваю, что 1 Гб - это нижний предел для более-менее рабочей конфигурации. Хорошо бы вообще-то иметь винт гига на 3-4, так как апдейты и пакеты тоже где-то сохраняться должны, а каждый раз очищать систему перед обновлением, как правило, очень лень.
« Последнее редактирование: 06 Ноября 2009, 15:53:14 от Nomadian »

 

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