myth Опубликовано 25 февраля, 2017 · Жалоба Всем привет. Используем тазик на линуксе. Канал от аплинка - гигабит. Дальше расширять пока не можем - требуется замена оборудования у аплинка, ждем. Появилось желание указать шейперу максимальную скорость аплинка. Авторизация - PPPoE. Сейчас скорость нарезаю таким скриптом в ip-up /sbin/tc qdisc del dev $1 root > /dev/null /sbin/tc qdisc del dev $1 ingress > /dev/null ##### speed server->client /sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 68 /sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 51k cburst 2k /sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 51k cburst 2k prio 2 /sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 51k cburst 2k prio 3 /sbin/tc class add dev $1 parent 1:1 classid 1:30 htb rate 100Mbit ceil 100Mbit burst 51k cburst 2k prio 1 ##IPTV### /sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500 /sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500 /sbin/tc qdisc add dev $1 parent 1:30 handle 30: sfq perturb 10 quantum 1500 ##IPTV### /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 4 u32 match ip protocol 6 0xff match ip src 10.11.11.1 match ip sport 8888 0xffff flowid 1:30 ##IPTV### /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10 ##### speed client->server /sbin/tc qdisc add dev $1 handle ffff: ingress /sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 1024kb drop flowid :1 Как настроить желаемое? Или где об этом почитать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 25 февраля, 2017 · Жалоба /sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 51k cburst 2k Плохо помню tc, но вроде здесь и задаётся через $UPSPEED скорость аплинка. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 25 февраля, 2017 · Жалоба Т.е, указываю тут 1000Mbit открытым текстом и все работает? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AKim Опубликовано 26 февраля, 2017 · Жалоба Т.е, указываю тут 1000Mbit открытым текстом и все работает? нельзя указывать 1Гбит. Попадёте на шейпер аплинка или упрётесь в скорость порта, будут дропы. Нужно указывать на 10% меньше - 900Мбит ну или 950. Смотреть как работает. У нас такая же проблема с аплинком. Канал 1,1Гбит обрезан на 1Гбит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 26 февраля, 2017 · Жалоба Т.е, указываю тут 1000Mbit открытым текстом и все работает? Вот мой кусок скрипта для 2G канала, насколько помню обязательно нужно указывать rate/ceil. qdisc add dev bond0.2 root handle 2 htb default d class add dev bond0.2 root htb rate 1900Mbit ceil 1900Mbit quantum 65535 class add dev bond0.2 parent 2:0 classid 2:d htb rate 1900Mbit ceil 1900Mbit quantum 65535 qdisc add dev bond0.2 parent 2:d handle d pfifo limit 10000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 26 февраля, 2017 · Жалоба И ещё есть проблема, если порт гигабитный, то гигабита не добьётесь. У меня было где-то 950 мбит. Тут уже на десятку надо переходить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 26 февраля, 2017 (изменено) · Жалоба Утилизировать могу 987 мегабит. Указал 950, буду наблюдать. Спасибо. Указал там же, в ip-up. Это корректно? Изменено 26 февраля, 2017 пользователем myth Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 26 ноября, 2017 · Жалоба Поднимаю свою тему вновь. Переросли 1г, теперь нас полисят и как-то все это перестало работать. Сейчас канал 1,2гигабита. Пробовал уменьшать rate вплоть до 100 мегабит, все равно стучимся в полисер вышестоящего оператора. При нехватке входящего канала скорости не уменьшаются пропорционально, а кто как может, тот так и качает. Что изменить? Текущий вариант скрипта ip-up. Ограничиваются скорости на ppp интерфейсах. /sbin/tc qdisc del dev $1 root > /dev/null /sbin/tc qdisc del dev $1 ingress > /dev/null fi ##### speed server->client /sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 10 /sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit quantum 65535 if [ "$UPSPEED" -ge "6000" ] ; then /sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate 2Mbit ceil ${UPSPEED}kbit burst 60k cburst 200k prio 1 /sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate 2Mbit ceil ${UPSPEED}kbit burst 60k cburst 200k prio 2 /sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1600 /sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1600 /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flo$ #######Мелкие тарифы до 6000Kbit/sec######################################### else /sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 20k prio 1 /sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 20k prio 2 /sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1600 /sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1600 /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10 /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flo$ fi Это при старте вешается на внутренний интерфейс /sbin/tc qdisc del dev eth1 root /sbin/tc qdisc add dev eth1 root handle 2 htb default d /sbin/tc class add dev eth1 root htb rate 1080Mbit ceil 1080Mbit quantum 65535 /sbin/tc class add dev eth1 parent 2:0 classid 2:d htb rate 1080Mbit ceil 1080Mbit quantum 65535 /sbin/tc qdisc add dev eth1 parent 2:d handle d pfifo limit 10000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 28 ноября, 2017 · Жалоба Решил собирать нормальное дерево. Подключил ifb0, направил туда трафик с аплинка. Возникают вопросы о хэш фильтрах. И вот тут мои познания резко заканчиваются. Как работать с хэшами? Или, может быть, скриптом кто-то поделится? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 29 ноября, 2017 · Жалоба http://www.opennet.ru/docs/RUS/LARTC/x1661.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 29 ноября, 2017 · Жалоба 15 часов назад, myth сказал: Решил собирать нормальное дерево. Подключил ifb0, направил туда трафик с аплинка. Возникают вопросы о хэш фильтрах. И вот тут мои познания резко заканчиваются. Как работать с хэшами? Или, может быть, скриптом кто-то поделится? https://sourceforge.net/p/leaf/bering-uclibc/ci/master/tree/repo/hash-shaper/ использование https://sourceforge.net/p/leaf/bering-uclibc/ci/master/tree/repo/ppp-hsh/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 29 ноября, 2017 · Жалоба меняю в скрипте src на dst и получаю дерево для входящего трафика? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 29 ноября, 2017 · Жалоба Подправил немного скрипт. Классы создались, скорость согласно классам нарезается. Но не могу заставить работать set speed. Правила применяются, но, такое ощущение, что куда-то не туда... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...