Помогите выбрать шейпер (Нужно распределить трафик)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

yurec24
Сообщения: 13
ОС: debian

Помогите выбрать шейпер

Сообщение yurec24 »

Здравствуйте!
Проблема заключается в следующем. Приходит ~5 Мб мирового и ~70 Мб внутри страны. Есть 5 подсетей, по 20~40 человек. Чем распределить эти 5 и 70 Мб между подсетями. 1-ой подсети нужно выделить 2Мб-мира и 30 - внутри страны, остальным делить надо поровну. И еще можно ли сделать так что когда одна подсеть загружена, а у другой в этот момент 2-3 пользователя балдеют от скорости, что-бы делило поровну. И в каждой подсети есть пару человек которым нужна стабильная скорость ~256Кб.
Подскажите пожалуйста какими средствами можно все это осуществить.
Заранее спасибо!!!
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Помогите выбрать шейпер

Сообщение patrius »

Для управления трафиком = LAR&TC
Для уточнения ответьте на следующие, изначально не освещенные вопросы:
1. когда речь идет о "стране" и "мире" - это физически разные интерфейсы?
2. 5ть под сетей за сервером - как они подключены?
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

patrius писал(а):
19.12.2010 10:12
Для управления трафиком = LAR&TC
Для уточнения ответьте на следующие, изначально не освещенные вопросы:
1. когда речь идет о "стране" и "мире" - это физически разные интерфейсы?
2. 5ть под сетей за сервером - как они подключены?

1. Все идет по одном шнурку, на один интерфейс. Если точнее приходит витая пара в какой 5 Мб мир а остальное срана.
2. На сервере прописаны подсети. А далее распределение идет на маршрутизаторе.
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: Помогите выбрать шейпер

Сообщение expdot »

да безразницы же.. классифицировать можно по заголовку ip
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

expdot писал(а):
20.12.2010 10:18
по заголовку ip

определять куда относится? (Мир или страна)
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Помогите выбрать шейпер

Сообщение patrius »

expdot писал(а):
20.12.2010 10:18
да безразницы же.. классифицировать можно по заголовку ip

было предположение, что "мир" и "страна" разные шнуры

кто касательно самой задачи:
1. необходимо определить "стану" как набор адресов. (на форуме точно встречалось)
2. построить шейпер исходя из набора адресов.
3. Автоматизировать обновления списка зон "страны"
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Список адресов забивать в текстовый документ и потом строить шейпер?
Как автоматизировать обновление?
Подскажите где взять нормальную документацию по LARTC на русском? А то с английским слабовато((
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Помогите выбрать шейпер

Сообщение patrius »

yurec24 писал(а):
20.12.2010 17:30
Подскажите где взять нормальную документацию по LARTC на русском? А то с английским слабовато((

оригинал тут, перевод тут, переводчик тут

пока почитай про шейпинг в принципе.
а по определению направлений найду, добавлю...
# точно помню встречал ....
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

patrius писал(а):
20.12.2010 18:07
yurec24 писал(а):
20.12.2010 17:30
Подскажите где взять нормальную документацию по LARTC на русском? А то с английским слабовато((

оригинал тут, перевод тут, переводчик тут

пока почитай про шейпинг в принципе.
а по определению направлений найду, добавлю...
# точно помню встречал ....

Большое спасибо!!! Сейчас почитаю.
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Помогите выбрать шейпер

Сообщение patrius »

Про украинскую зону IP (UA-IX) гугл, ктоб сомневался, знает все ))
# т.к. автор подписался как Киев )
собственно spisok.txt
взят этот список вот отсюда
обобщения тут

Читать всю эту информацию нужно внимательно )))
Для обновления можно использовать нечто вида


по поводу самой классификации могу сказать, что iptables тут встряли можно использовать непосредственно, т.к. имеем "Total: 4560" с интервалом обновления в 10мин. Т.е. поддерживать список в полной актуальности будет некоторая проблема. В общем думайте, мне вашу зарплату не переводят )
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Спасибо! :rolleyes:
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Помогите выбрать шейпер

Сообщение Alex2ndr »

Мде... Задачка у ТС та еще... Выскажу и свое мнение, в дополнение к уже прозвучавшим.

Людям, работавшим с шейпером очевидно, что основная сложность состоит в разделении мирового трафика и трафика внутри страны. Остальные задачи решаются грамотным планированием и чтением документации (LARTC, man tc и тд). А вот разделить трафик... сложновато. Обычно это делается уровнем повыше(где-нить у магистрального провайдера) и с использованием совершенно других методов( BGP, несколько граничных маршрутизаторов и прочее). Наколенный же метод уже посоветовали - таблицы ip. Но надо понимать, что это может быть весьма не актуальная инфа. С кол-вом правил бороться не сложно - для этого есть ipset. В итоге получим один nethash и одно правило для iptables, которое весь трафик этих подсетей маркирует какой-нить меткой. Нужная иерархия на шейпере(например в HTB) и все готово.
Но есть еще одни грабли. Под шейпер на канале 70мбит надо будет выделать весьма мощную машину. Насколько мощную - я не знаю. Знаю только что это может стать весьма реальной проблемой. Даже сложнее, чем все остальное вместе взятое. На nag.ru где-то я видел исследования в этом направлении - поищите...
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Интересно...Сейчас посмотрю.
Спасибо!
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: Помогите выбрать шейпер

Сообщение expdot »

40 мбит (постоянно загружен) + шейпер + фаервол +squid + openvz + остальное (nginx, php-fpm, postfix, quagga, ejabberd, openvpn, может еще чего забыл)
на 2х ядерном бородатом xeon загрузка 30%
по возможности желательно иметь сетевые карточки intel. они часть операций выполняют аппаратно
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: Помогите выбрать шейпер

Сообщение mandreika »

iptables+geoip не спасут?

1)iptables -t mangle -A PREROUTING -p tcp -m geoip --src-cc RU -d <IP> --dport 80 -j MARK --set-mark 1
2)...
3)PROFIT!
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Всем спасибо!!!
Решил с помощью tc+htb. Сервер нормально работает.
Может кто-то подскажет как ограничить максимальную скорость для пользователя.
Если работает только один пользователь, то он не должен забирать всю полосу а только определенную часть. (вся полоса 10Мб, пользователь не может использовать больше 1Мб)
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Помогите выбрать шейпер

Сообщение Alex2ndr »

yurec24 писал(а):
10.01.2011 15:30
Может кто-то подскажет как ограничить максимальную скорость для пользователя.
Если работает только один пользователь, то он не должен забирать всю полосу а только определенную часть. (вся полоса 10Мб, пользователь не может использовать больше 1Мб)

Выставьте параметр ceil для полосы, в которой идет трафик пользователя. Для вашего примера он будет 1mbit.
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Выставьте параметр ceil для полосы, в которой идет трафик пользователя. Для вашего примера он будет 1mbit.

А если у меня в этой полосе есть превилегированые пользователи, которым мне нада давать 2Мbit?
Порежет всем. :(
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: Помогите выбрать шейпер

Сообщение expdot »

для этого отдельный класс потомок, параллельно другим классам
какая у вас иерархия?
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Помогите выбрать шейпер

Сообщение Alex2ndr »

yurec24 писал(а):
11.01.2011 10:40
Выставьте параметр ceil для полосы, в которой идет трафик пользователя. Для вашего примера он будет 1mbit.

А если у меня в этой полосе есть превилегированые пользователи, которым мне нада давать 2Мbit?
Порежет всем. :(

Для привилегированных пользователей свою полосу надо организовывать. Если у вас еще это не сделано, то разделите всех пользователей по приоритетам, гарантированным и разрешенным скоростям а потом в соответствии с этим организуйте иерархию из полос. Причем так, чтобы таких вот вопросов не возникало.

expdot писал(а):
22.12.2010 08:32
40 мбит (постоянно загружен) + шейпер + фаервол +squid + openvz + остальное (nginx, php-fpm, postfix, quagga, ejabberd, openvpn, может еще чего забыл)
на 2х ядерном бородатом xeon загрузка 30%
по возможности желательно иметь сетевые карточки intel. они часть операций выполняют аппаратно

Вообще, если верить воплям спецов у NAG, для PC роутера роль играет не столько bit rate, сколько packet rate. А какой-нить utorrent со своим самодельным utp может создать большой pps при относительно небольшом bps. Поэтому при таких сравнениях надо прежде всего обращать внимание на тип(основной) ходящего трафика.
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Я что-то не пойму для каждого пользователя писать правило?
У меня ~120 пользователей и нада столько же правил?
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Помогите выбрать шейпер

Сообщение Alex2ndr »

yurec24 писал(а):
18.01.2011 10:51
Я что-то не пойму для каждого пользователя писать правило?
У меня ~120 пользователей и нада столько же правил?

По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
1. Полоса для критических сервисов типа dns. Максимальная скорость 100кбит/с, приоритет 1
2. Полоса для начальников - максимальная скорость - половина канала, приоритет 2
3. Полоса для админов - максимальная скорость не ограничена(т е равна скорости канала) - приоритет 3
4. Полоса для менеджеров - макс скорость ограничена разумными пределами( например 1500кбит/с)., приоритет 3
5. Полоса для охранников - макс скорость 500кбит/с, приоритет 4
6. И т.д.
Т е продумать политику кому и что предоставлять. Объединить по группам скорость/приоритет. Можно сделать большее разбиение(например по отделам и тд). Задача скорее организационная, чем техническая. Гарантированную скорость нужно определить исходя из похожих соображений, но помните, что сумма всех гарантированных скоростей не должна быть больше суммарной скорости канала.
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Спасибо!!! :)
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

Alex2ndr писал(а):
19.01.2011 10:34
yurec24 писал(а):
18.01.2011 10:51
Я что-то не пойму для каждого пользователя писать правило?
У меня ~120 пользователей и нада столько же правил?

По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
1. Полоса для критических сервисов типа dns. Максимальная скорость 100кбит/с, приоритет 1
2. Полоса для начальников - максимальная скорость - половина канала, приоритет 2
3. Полоса для админов - максимальная скорость не ограничена(т е равна скорости канала) - приоритет 3
4. Полоса для менеджеров - макс скорость ограничена разумными пределами( например 1500кбит/с)., приоритет 3
5. Полоса для охранников - макс скорость 500кбит/с, приоритет 4
6. И т.д.
Т е продумать политику кому и что предоставлять. Объединить по группам скорость/приоритет. Можно сделать большее разбиение(например по отделам и тд). Задача скорее организационная, чем техническая. Гарантированную скорость нужно определить исходя из похожих соображений, но помните, что сумма всех гарантированных скоростей не должна быть больше суммарной скорости канала.

1. есть полоса для начальников (4Mb)
2. для админов (в онной сети - 10)
3. для сетей (1)

Код: Выделить всё

tc class add dev eth0 parent 1: classid 1:1 htb rate 70Mbps ceil 70Mbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 4000kbps ceil 4000kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10000kbps ceil 10000kbps
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1000kbps ceil 1000kbps
....


А вот как что бы в этих сетях (на сеть идёт 1Мб) пользователь имел ограничение (до 100кб) не знаю :(
Может кто-то делал. Помогите пожалуйста!!!
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Помогите выбрать шейпер

Сообщение patrius »

yurec24 писал(а):
01.02.2011 19:53
Alex2ndr писал(а):
19.01.2011 10:34
yurec24 писал(а):
18.01.2011 10:51
Я что-то не пойму для каждого пользователя писать правило?
У меня ~120 пользователей и нада столько же правил?

По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
1. Полоса для критических сервисов типа dns. Максимальная скорость 100кбит/с, приоритет 1
2. Полоса для начальников - максимальная скорость - половина канала, приоритет 2
3. Полоса для админов - максимальная скорость не ограничена(т е равна скорости канала) - приоритет 3
4. Полоса для менеджеров - макс скорость ограничена разумными пределами( например 1500кбит/с)., приоритет 3
5. Полоса для охранников - макс скорость 500кбит/с, приоритет 4
6. И т.д.
Т е продумать политику кому и что предоставлять. Объединить по группам скорость/приоритет. Можно сделать большее разбиение(например по отделам и тд). Задача скорее организационная, чем техническая. Гарантированную скорость нужно определить исходя из похожих соображений, но помните, что сумма всех гарантированных скоростей не должна быть больше суммарной скорости канала.

1. есть полоса для начальников (4Mb)
2. для админов (в онной сети - 10)
3. для сетей (1)

Код: Выделить всё

tc class add dev eth0 parent 1: classid 1:1 htb rate 70Mbps ceil 70Mbps
 tc class add dev eth0 parent 1:1 classid 1:10 htb rate 4000kbps ceil 4000kbps
 tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10000kbps ceil 10000kbps
 tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1000kbps ceil 1000kbps
 ....


А вот как что бы в этих сетях (на сеть идёт 1Мб) пользователь имел ограничение (до 100кб) не знаю :(
Может кто-то делал. Помогите пожалуйста!!!


нечто похожее на

Код: Выделить всё

tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1000kbps ceil 1000kbps
 tc class add dev eth0 parent 1:12 classid 1:13 htb rate 100kbps ceil 1000kbps
 tc class add dev eth0 parent 1:12 classid 1:14 htb rate 100kbps ceil 1000kbps
 tc class add dev eth0 parent 1:12 classid 1:15 htb rate 100kbps ceil 1000kbps

Крайне рекомендую разобраться в базовой информации по LARTC
Спасибо сказали:
yurec24
Сообщения: 13
ОС: debian

Re: Помогите выбрать шейпер

Сообщение yurec24 »

patrius писал(а):
02.02.2011 10:48
нечто похожее на

Код: Выделить всё

tc class add dev eth0 parent 1:1 classid 1:12 htb rate 1000kbps ceil 1000kbps
tc class add dev eth0 parent 1:12 classid 1:13 htb rate 100kbps ceil 1000kbps
tc class add dev eth0 parent 1:12 classid 1:14 htb rate 100kbps ceil 1000kbps
tc class add dev eth0 parent 1:12 classid 1:15 htb rate 100kbps ceil 1000kbps

Кране рекомендую разодраться в базовой информации по LARTC

Получается надо создавать отдельный класс для каждого пользователя? :wacko:
и мне надо задать верхний потолок скорости а не нижний
Спасибо сказали: