Помогите выбрать шейпер (Нужно распределить трафик)
Модераторы: SLEDopit, Модераторы разделов
-
yurec24
- Сообщения: 13
- ОС: debian
Помогите выбрать шейпер
Здравствуйте!
Проблема заключается в следующем. Приходит ~5 Мб мирового и ~70 Мб внутри страны. Есть 5 подсетей, по 20~40 человек. Чем распределить эти 5 и 70 Мб между подсетями. 1-ой подсети нужно выделить 2Мб-мира и 30 - внутри страны, остальным делить надо поровну. И еще можно ли сделать так что когда одна подсеть загружена, а у другой в этот момент 2-3 пользователя балдеют от скорости, что-бы делило поровну. И в каждой подсети есть пару человек которым нужна стабильная скорость ~256Кб.
Подскажите пожалуйста какими средствами можно все это осуществить.
Заранее спасибо!!!
Проблема заключается в следующем. Приходит ~5 Мб мирового и ~70 Мб внутри страны. Есть 5 подсетей, по 20~40 человек. Чем распределить эти 5 и 70 Мб между подсетями. 1-ой подсети нужно выделить 2Мб-мира и 30 - внутри страны, остальным делить надо поровну. И еще можно ли сделать так что когда одна подсеть загружена, а у другой в этот момент 2-3 пользователя балдеют от скорости, что-бы делило поровну. И в каждой подсети есть пару человек которым нужна стабильная скорость ~256Кб.
Подскажите пожалуйста какими средствами можно все это осуществить.
Заранее спасибо!!!
-
patrius
- Сообщения: 337
- ОС: Debian (4 & 5) -> Gentoo
Re: Помогите выбрать шейпер
Для управления трафиком = LAR&TC
Для уточнения ответьте на следующие, изначально не освещенные вопросы:
1. когда речь идет о "стране" и "мире" - это физически разные интерфейсы?
2. 5ть под сетей за сервером - как они подключены?
Для уточнения ответьте на следующие, изначально не освещенные вопросы:
1. когда речь идет о "стране" и "мире" - это физически разные интерфейсы?
2. 5ть под сетей за сервером - как они подключены?
Спасибо сказали:
-
yurec24
- Сообщения: 13
- ОС: debian
Re: Помогите выбрать шейпер
1. Все идет по одном шнурку, на один интерфейс. Если точнее приходит витая пара в какой 5 Мб мир а остальное срана.
2. На сервере прописаны подсети. А далее распределение идет на маршрутизаторе.
-
expdot
- Сообщения: 176
- ОС: Fedora 13, Win Vista
Re: Помогите выбрать шейпер
да безразницы же.. классифицировать можно по заголовку ip
-
yurec24
- Сообщения: 13
- ОС: debian
-
patrius
- Сообщения: 337
- ОС: Debian (4 & 5) -> Gentoo
Re: Помогите выбрать шейпер
было предположение, что "мир" и "страна" разные шнуры
кто касательно самой задачи:
1. необходимо определить "стану" как набор адресов. (на форуме точно встречалось)
2. построить шейпер исходя из набора адресов.
3. Автоматизировать обновления списка зон "страны"
-
yurec24
- Сообщения: 13
- ОС: debian
Re: Помогите выбрать шейпер
Список адресов забивать в текстовый документ и потом строить шейпер?
Как автоматизировать обновление?
Подскажите где взять нормальную документацию по LARTC на русском? А то с английским слабовато((
Как автоматизировать обновление?
Подскажите где взять нормальную документацию по LARTC на русском? А то с английским слабовато((
-
patrius
- Сообщения: 337
- ОС: Debian (4 & 5) -> Gentoo
Re: Помогите выбрать шейпер
оригинал тут, перевод тут, переводчик тут
пока почитай про шейпинг в принципе.
а по определению направлений найду, добавлю...
# точно помню встречал ....
Спасибо сказали:
-
patrius
- Сообщения: 337
- ОС: Debian (4 & 5) -> Gentoo
Re: Помогите выбрать шейпер
Про украинскую зону IP (UA-IX) гугл, ктоб сомневался, знает все ))
# т.к. автор подписался как Киев )
собственно spisok.txt
взят этот список вот отсюда
обобщения тут
Читать всю эту информацию нужно внимательно )))
Для обновления можно использовать нечто вида
по поводу самой классификации могу сказать, что iptables тут встряли можно использовать непосредственно, т.к. имеем "Total: 4560" с интервалом обновления в 10мин. Т.е. поддерживать список в полной актуальности будет некоторая проблема. В общем думайте, мне вашу зарплату не переводят )
# т.к. автор подписался как Киев )
собственно spisok.txt
взят этот список вот отсюда
обобщения тут
Читать всю эту информацию нужно внимательно )))
Для обновления можно использовать нечто вида
Код:
по поводу самой классификации могу сказать, что iptables тут встряли можно использовать непосредственно, т.к. имеем "Total: 4560" с интервалом обновления в 10мин. Т.е. поддерживать список в полной актуальности будет некоторая проблема. В общем думайте, мне вашу зарплату не переводят )
Спасибо сказали:
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: Помогите выбрать шейпер
Мде... Задачка у ТС та еще... Выскажу и свое мнение, в дополнение к уже прозвучавшим.
Людям, работавшим с шейпером очевидно, что основная сложность состоит в разделении мирового трафика и трафика внутри страны. Остальные задачи решаются грамотным планированием и чтением документации (LARTC, man tc и тд). А вот разделить трафик... сложновато. Обычно это делается уровнем повыше(где-нить у магистрального провайдера) и с использованием совершенно других методов( BGP, несколько граничных маршрутизаторов и прочее). Наколенный же метод уже посоветовали - таблицы ip. Но надо понимать, что это может быть весьма не актуальная инфа. С кол-вом правил бороться не сложно - для этого есть ipset. В итоге получим один nethash и одно правило для iptables, которое весь трафик этих подсетей маркирует какой-нить меткой. Нужная иерархия на шейпере(например в HTB) и все готово.
Но есть еще одни грабли. Под шейпер на канале 70мбит надо будет выделать весьма мощную машину. Насколько мощную - я не знаю. Знаю только что это может стать весьма реальной проблемой. Даже сложнее, чем все остальное вместе взятое. На nag.ru где-то я видел исследования в этом направлении - поищите...
Людям, работавшим с шейпером очевидно, что основная сложность состоит в разделении мирового трафика и трафика внутри страны. Остальные задачи решаются грамотным планированием и чтением документации (LARTC, man tc и тд). А вот разделить трафик... сложновато. Обычно это делается уровнем повыше(где-нить у магистрального провайдера) и с использованием совершенно других методов( BGP, несколько граничных маршрутизаторов и прочее). Наколенный же метод уже посоветовали - таблицы ip. Но надо понимать, что это может быть весьма не актуальная инфа. С кол-вом правил бороться не сложно - для этого есть ipset. В итоге получим один nethash и одно правило для iptables, которое весь трафик этих подсетей маркирует какой-нить меткой. Нужная иерархия на шейпере(например в HTB) и все готово.
Но есть еще одни грабли. Под шейпер на канале 70мбит надо будет выделать весьма мощную машину. Насколько мощную - я не знаю. Знаю только что это может стать весьма реальной проблемой. Даже сложнее, чем все остальное вместе взятое. На nag.ru где-то я видел исследования в этом направлении - поищите...
-
yurec24
- Сообщения: 13
- ОС: debian
Re: Помогите выбрать шейпер
Интересно...Сейчас посмотрю.
Спасибо!
Спасибо!
-
expdot
- Сообщения: 176
- ОС: Fedora 13, Win Vista
Re: Помогите выбрать шейпер
40 мбит (постоянно загружен) + шейпер + фаервол +squid + openvz + остальное (nginx, php-fpm, postfix, quagga, ejabberd, openvpn, может еще чего забыл)
на 2х ядерном бородатом xeon загрузка 30%
по возможности желательно иметь сетевые карточки intel. они часть операций выполняют аппаратно
на 2х ядерном бородатом xeon загрузка 30%
по возможности желательно иметь сетевые карточки intel. они часть операций выполняют аппаратно
-
mandreika
- Сообщения: 217
- ОС: Debian 3,4,5,6
Re: Помогите выбрать шейпер
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!
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: Помогите выбрать шейпер
Всем спасибо!!!
Решил с помощью tc+htb. Сервер нормально работает.
Может кто-то подскажет как ограничить максимальную скорость для пользователя.
Если работает только один пользователь, то он не должен забирать всю полосу а только определенную часть. (вся полоса 10Мб, пользователь не может использовать больше 1Мб)
Решил с помощью tc+htb. Сервер нормально работает.
Может кто-то подскажет как ограничить максимальную скорость для пользователя.
Если работает только один пользователь, то он не должен забирать всю полосу а только определенную часть. (вся полоса 10Мб, пользователь не может использовать больше 1Мб)
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: Помогите выбрать шейпер
Выставьте параметр ceil для полосы, в которой идет трафик пользователя. Для вашего примера он будет 1mbit.
-
yurec24
- Сообщения: 13
- ОС: debian
Re: Помогите выбрать шейпер
Выставьте параметр ceil для полосы, в которой идет трафик пользователя. Для вашего примера он будет 1mbit.
А если у меня в этой полосе есть превилегированые пользователи, которым мне нада давать 2Мbit?
Порежет всем.
-
expdot
- Сообщения: 176
- ОС: Fedora 13, Win Vista
Re: Помогите выбрать шейпер
для этого отдельный класс потомок, параллельно другим классам
какая у вас иерархия?
какая у вас иерархия?
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: Помогите выбрать шейпер
Для привилегированных пользователей свою полосу надо организовывать. Если у вас еще это не сделано, то разделите всех пользователей по приоритетам, гарантированным и разрешенным скоростям а потом в соответствии с этим организуйте иерархию из полос. Причем так, чтобы таких вот вопросов не возникало.
expdot писал(а): ↑22.12.2010 08:3240 мбит (постоянно загружен) + шейпер + фаервол +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: Помогите выбрать шейпер
Я что-то не пойму для каждого пользователя писать правило?
У меня ~120 пользователей и нада столько же правил?
У меня ~120 пользователей и нада столько же правил?
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: Помогите выбрать шейпер
По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
1. Полоса для критических сервисов типа dns. Максимальная скорость 100кбит/с, приоритет 1
2. Полоса для начальников - максимальная скорость - половина канала, приоритет 2
3. Полоса для админов - максимальная скорость не ограничена(т е равна скорости канала) - приоритет 3
4. Полоса для менеджеров - макс скорость ограничена разумными пределами( например 1500кбит/с)., приоритет 3
5. Полоса для охранников - макс скорость 500кбит/с, приоритет 4
6. И т.д.
Т е продумать политику кому и что предоставлять. Объединить по группам скорость/приоритет. Можно сделать большее разбиение(например по отделам и тд). Задача скорее организационная, чем техническая. Гарантированную скорость нужно определить исходя из похожих соображений, но помните, что сумма всех гарантированных скоростей не должна быть больше суммарной скорости канала.
-
yurec24
- Сообщения: 13
- ОС: debian
Re: Помогите выбрать шейпер
Alex2ndr писал(а): ↑19.01.2011 10:34
По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
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: Помогите выбрать шейпер
yurec24 писал(а): ↑01.02.2011 19:53Alex2ndr писал(а): ↑19.01.2011 10:34
По полосе(т е несколько правил - класс, очередь, фильтр) на пользователя - это крайний случай. Обычно имеет смысл сделать несколько полос по скоростям/приоритетам. Например так:
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: Помогите выбрать шейпер
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
Получается надо создавать отдельный класс для каждого пользователя?
и мне надо задать верхний потолок скорости а не нижний