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


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

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

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

Оффлайн Michail1_1

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
всем привет. htb настроил, вроде бы работает. возникла пара вопросов. ppp0 - внешний канал 6 Мб внутренний 100. на внутреннем 18 подсетей. eth1 - домашняя сеть. для себя поставил марку в iptables и теперь везде отдаю с одной скоростью. мне в iptables надо создать ещё 18 правил маркировки для ppp0? или можно как-то по-проще?
и ещё. как побороть это?


root@ubuntu:/etc/sysconfig# sudo /etc/init.d/htb restart
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

напрягает не сильно, но всё же...
заранее спс

перечитал всю тему ещё раз, кажется нашёл решение - буду пробовать
RULE=10.11.11.0/24,192.168.100.2 - это означает, что в данный класс попадут пакеты идущие в сеть 10.11.11.0/24 с адреса 192.168.100.2?

разделение поправил, осталось только предупреждение....
« Последнее редактирование: 21 Декабря 2009, 13:48:16 от Michail1_1 »
шлюз - ubuntu 9.10 server, сервер - ubuntu 9.10 server, рабочий - ubuntu 10.04 LTS, детям - ubuntu 10.04 LTS

Оффлайн Michail1_1

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
и всё-таки меня терзают смутные сомнения. на ррр0 создал 3 класса
1 для внутренней сети прова за nat
......
RULE=10.0.0.0/8,мой ип
2 для пользователей
......
MARK=1

.......
MARK=2
в 1 класс попадут пакеты, не зависимо от маркировки для пользователей? или для 1 класса тоже использовать маркировку?
шлюз - ubuntu 9.10 server, сервер - ubuntu 9.10 server, рабочий - ubuntu 10.04 LTS, детям - ubuntu 10.04 LTS

Оффлайн svin0

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Подскажите, пожалуйста, как рассчитывается маска для портов в tc? Вычитал, ксорил - всё равно не работает :(
Например, есть правило:
/sbin/tc filter add dev eth2 parent 1:0 protocol ip prio 100 u32 match ip src 10.199.93.60 match ip sport 59964 0xfffe classid 1:20   
0xfffe для двух портов, начальный порт 59964. А для 64 портов, например? Может есть какой-нибудь скрипт-калькулятор для расчета? ;)

Оффлайн Vorlog

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Подскажите, пожалуйста, как рассчитывается маска для портов в tc? Вычитал, ксорил - всё равно не работает :(
Например, есть правило:
/sbin/tc filter add dev eth2 parent 1:0 protocol ip prio 100 u32 match ip src 10.199.93.60 match ip sport 59964 0xfffe classid 1:20   
0xfffe для двух портов, начальный порт 59964. А для 64 портов, например? Может есть какой-нибудь скрипт-калькулятор для расчета? ;)
Обычный калькулятор гнома вроде рассчитывает это все.

Оффлайн svin0

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Нету гнома, только консоль :)
Рассчитывал так:

Calculate port range and mask
The tc filter defines the port range with port and mask which you have to calculate.
Find the 2^# ending of the port range, deduce the range and convert to HEX.
This is your mask. Example for 10000 -> 11024, the range is 1024.
# ending is 2^14 = 16384
2^13 (8192) < 10000 < 2^14 (16384)
# mask is 0x3C00
echo "obase=16;(2^14)-1024" | bc

и так:

27020 in 16 bit      = 0110100110001100
NOT 27020 in 16 bit   = 1001011001110011
27015 in 16 bit      = 0110100110000111
27015 XOR (NOT 27020)    = 1111111111110100 -> 0xFFF4

Мог допустить ошибку в расчетах. Сегодня проверю еще раз.

В общем расчет этими методами не помог.

2^15 (32768) < 59964 < 2^16 (65536)
2^16 - 64 = 65472 = FFC0

Второй метод дает аналогичный результат, но ограничение скорости с этой маской не происходит :o То ли порты не те, то ли маска не верна. Есть идеи?

Как оказалось, маска FFC0 верна для 64-х портов. Порты выбираются по определенным требованиям. В данном случае подошли 59904 - 59967.

Попутно второй вопрос.
Есть правило вида:

/sbin/iptables -t mangle -A FORWARD -i eth1 -o eth0 -j MARK --set-mark 1
и подкласс:

RATE=16Kbit
CEIL=128Kbit
LEAF=sfq
PRIO=10
MARK=1

Вроде бы всё верно, но скорость не ограничивается. Куда копать? :(
« Последнее редактирование: 08 Февраля 2010, 20:29:18 от svin0 »

Оффлайн Sollomon

  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Народ нужен ликбез:
Есть сервак две сетевухи вход и выход.
нужно порезать скорость абонентам в оба направления.
Вешаем шейпер на один и на второй интерфейс, здесь все понятно.
Но, есть одно НО!!!
Через этот сервак народ ходит в инэт и через этот сервак ходит на фпт.
Как на этом серваке порезать скорость отдельно в инэт и отдельно на фтп?
Можно ли такое организовать только с двумя сетевухами?

Спасибо за внимание и хоть за какие-то советы.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Через или на сервер ходит на FTP? Не вижу проблемы, так как ты её описываешь.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sollomon

  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Я уже начитался столько, что и сам запутался.
Суть в чем.
                   - шлюз вместе с NAT
Юзеры-свич-
                   -  локальные ресурсы

Нужно порезать скорость в инэт и порезать скорость к локальным ресурсам.
Сразу понятно, ресурсы нужно пускать через шлюз.
На шлюзе реализовать шейпинг на инэт и шейпинг на локальные ресурсы.
Если я правильно понял, нужно маркировать пакеты которые идут в инэт и которые идут на локальные ресурсы и резать уже по меткам, так же и по меткам можно зарезать исходящий трафик от абонентов - ибо реализован NAT.
Если не правильно мыслю поправте, а если правильно объясните как правильно все сделать.

Оффлайн Nitrolx

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
    • nitro
Здравствуйте, возникла пару вопросов,
 вопрос точне задача
есть внутренея сеть
192.168.0.1-255 / 32 на интерфейсе eth0
0.1 это сервер дальше идут пользователи
для каждого пользователя есть правила например
BURST=50Kb
RATE=2000Kbit
CEIL=3500Kbit
LEAF=sfq
PRIO=2
RULE=192.168.0.125/32
в iptables добавлено правило
iptables -t mangle -A PREROUTING -s 192.168.0.125 -j MARK --set-mark 102
iptables -t mangle -A PREROUTING -s 192.168.0.125 -j RETURN
вообщем ограничение работает а вот скажем для IP 192.168.0.126 или 133 правила нет
и если пользователь самовольно пропишет IP для которого нет правила то получается он качает на полный канал
я думал в файле
файл eth0.default
как раз ограничивается скорость тех для кого нет правил но к сожилению у меня это не работает
вот такой он у меня
RATE=50Кbit
CEIL=100Кbit
LEAF=sfq
PRIO=99
RULE=192.168.0.0/32,192.168.0.1/32
IP 192.168.0.1 это шлюз сервера прописан у всех пользователей.
Как ограничеть или совсем запритить доступ в интернет для IP у которых нет правил, подскажите пожалуйста, если можно немношко подробно я не сильно опытен.
Спасибо.
 и еще вопрос в файле пользователя например
eth0-2.13.ivanov
есть строка
PRIO=1
я так понимаю это приоритет обработки или отправки пакета ?
тоесть, если я например у пользователя юля поставлю 0 а у пользователя вася поставлю 2 то сначала будут проходит пакеты к юле и только после нее к васе или я ошибаюсь?
да и для чего нужна строка
BURST=50Kb
что она дает?
Большое спасибо за ответы.
Прошу прощения за глупые вопросы я тока начал работать на Ubuntu сервере.
« Последнее редактирование: 22 Февраля 2010, 16:39:39 от Nitrolx »

Оффлайн Vorlog

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
iptables можно
sudo iptables -A FORWARD -s 192.168.0.xxx -j DROP
Я Prio и Burst не указываю вообще и все окей работает!

Указываю только RATE CEIL LEAF RULE если входящий трафик MARK если исходящий.
« Последнее редактирование: 22 Февраля 2010, 19:01:31 от Vorlog »

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Здравствуйте, возникла пару вопросов,
 вопрос точне задача
есть внутренея сеть
192.168.0.1-255 / 32 на интерфейсе eth0
0.1 это сервер дальше идут пользователи
для каждого пользователя есть правила например
BURST=50Kb
RATE=2000Kbit
CEIL=3500Kbit
LEAF=sfq
PRIO=2
RULE=192.168.0.125/32
в iptables добавлено правило
iptables -t mangle -A PREROUTING -s 192.168.0.125 -j MARK --set-mark 102
iptables -t mangle -A PREROUTING -s 192.168.0.125 -j RETURN
вообщем ограничение работает а вот скажем для IP 192.168.0.126 или 133 правила нет
и если пользователь самовольно пропишет IP для которого нет правила то получается он качает на полный канал
я думал в файле
файл eth0.default
как раз ограничивается скорость тех для кого нет правил но к сожилению у меня это не работает
вот такой он у меня
RATE=50Кbit
CEIL=100Кbit
LEAF=sfq
PRIO=99
RULE=192.168.0.0/32,192.168.0.1/32
IP 192.168.0.1 это шлюз сервера прописан у всех пользователей.
Как ограничеть или совсем запритить доступ в интернет для IP у которых нет правил, подскажите пожалуйста, если можно немношко подробно я не сильно опытен.
Спасибо.
 и еще вопрос в файле пользователя например
eth0-2.13.ivanov
есть строка
PRIO=1
я так понимаю это приоритет обработки или отправки пакета ?
тоесть, если я например у пользователя юля поставлю 0 а у пользователя вася поставлю 2 то сначала будут проходит пакеты к юле и только после нее к васе или я ошибаюсь?
да и для чего нужна строка
BURST=50Kb
что она дает?
Большое спасибо за ответы.
Прошу прощения за глупые вопросы я тока начал работать на Ubuntu сервере.
На вторую часть Вашего вопроса ответ вы найдет в файле htb.init, по первому вопросу - маркировка идет последовательно, как вы ее прописываете, то есть последняя строчка типа : iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 130
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j RETURN

приведет к тому, что все, кто не получили других маркеров попадают в этот класс, а ему уже можно ставить маленькую скорость или просто дропать.

Оффлайн Nitrolx

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
    • nitro
iptables можно
sudo iptables -A FORWARD -s 192.168.0.xxx -j DROP

А можно как то прописать диапазон апи например с 192.168.0.100 по 192.168.0.225 чтоб все апи не вписывать вручную?


по первому вопросу - маркировка идет последовательно, как вы ее прописываете, то есть последняя строчка типа : iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 130
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j RETURN

приведет к тому, что все, кто не получили других маркеров попадают в этот класс, а ему уже можно ставить маленькую скорость или просто дропать.

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



iptables -t mangle -A PREROUTING -s 192.168.0.0/32 -j MARK --set-mark 118
iptables -t mangle -A PREROUTING -s 192.168.0.0/32 -j RETURN

и создал 2 файла


touch eth0-2:18.all

BURST=50Kb
RATE=1Kbit
CEIL=1Kbit
LEAF=sfq
PRIO=99
MARK=118
touch eth1-2:18.all

BURST=50Kb
RATE=1Kbit
CEIL=1Kbit
LEAF=sfq
PRIO=1
RULE=192.168.0.0/32

В итоге прописывая любой апи у меня ограничение нет.

Я что то не то сделал?

Оффлайн Vorlog

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
по команде tc class show dev eth0 и eth1 что показывает?

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Я что то не то сделал?

Вывод htb.init compile покажите...
« Последнее редактирование: 02 Марта 2010, 10:26:41 от roma333 »

Оффлайн Nitrolx

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
    • nitro
по команде tc class show dev eth0 и eth1 что показывает?

root@server:~#tc class show dev eth0
class htb 1:11 parent 1:2 leaf 11: prio 2 rate 2000Kbit ceil 3500Kbit burst 50Kb cburst 1599b
class htb 1:10 parent 1:2 leaf 10: prio 2 rate 2000Kbit ceil 3000Kbit burst 50Kb cburst 1599b
class htb 1:13 parent 1:2 leaf 13: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:12 parent 1:2 leaf 12: prio 2 rate 3000Kbit ceil 5500Kbit burst 50Kb cburst 1599b
class htb 1:15 parent 1:2 leaf 15: prio 2 rate 2000Kbit ceil 3500Kbit burst 50Kb cburst 1599b
class htb 1:14 parent 1:2 leaf 14: prio 2 rate 2000Kbit ceil 3000Kbit burst 50Kb cburst 1599b
class htb 1:17 parent 1:2 leaf 17: prio 7 rate 1000bit ceil 1000bit burst 16840b cburst 1600b
class htb 1:16 parent 1:2 leaf 16: prio 1 rate 1500Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:18 parent 1:2 leaf 18: prio 7 rate 10000bit ceil 10000bit burst 50Kb cburst 1600b
class htb 1:2 root rate 9000Kbit ceil 9000Kbit burst 1598b cburst 1598b
class htb 1:5 parent 1:2 leaf 5: prio 0 rate 100000bit ceil 200000bit burst 1599b cburst 1599b
class htb 1:6 parent 1:2 leaf 6: prio 7 rate 9000Kbit ceil 9000Kbit burst 1598b cburst 1598b
class htb 1:7 parent 1:2 leaf 7: prio 0 rate 100000Kbit ceil 100000Kbit burst 500Kb cburst 1600b
class htb 1:8 parent 1:2 leaf 8: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:9 parent 1:2 leaf 9: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class sfq 8:28d parent 8:

root@server:~#tc class show dev eth1

class htb 1:11 parent 1:2 leaf 11: prio 2 rate 2000Kbit ceil 3500Kbit burst 50Kb cburst 1599b
class htb 1:10 parent 1:2 leaf 10: prio 2 rate 2000Kbit ceil 3500Kbit burst 50Kb cburst 1599b
class htb 1:13 parent 1:2 leaf 13: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:12 parent 1:2 leaf 12: prio 2 rate 3000Kbit ceil 5500Kbit burst 50Kb cburst 1599b
class htb 1:15 parent 1:2 leaf 15: prio 2 rate 2000Kbit ceil 3000Kbit burst 50Kb cburst 1599b
class htb 1:14 parent 1:2 leaf 14: prio 2 rate 2000Kbit ceil 3000Kbit burst 50Kb cburst 1599b
class htb 1:17 parent 1:2 leaf 17: prio 7 rate 1000bit ceil 1000bit burst 16840b cburst 1600b
class htb 1:16 parent 1:2 leaf 16: prio 2 rate 1500Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:18 parent 1:2 leaf 18: prio 7 rate 10000bit ceil 10000bit burst 50Kb cburst 1600b
class htb 1:2 root rate 9000Kbit ceil 9000Kbit burst 1598b cburst 1598b
class htb 1:5 parent 1:2 leaf 5: prio 0 rate 100000bit ceil 200000bit burst 1599b cburst 1599b
class htb 1:6 parent 1:2 leaf 6: prio 7 rate 5000Kbit ceil 5000Kbit burst 1600b cburst 1600b
class htb 1:7 parent 1:2 leaf 7: prio 0 rate 100000Kbit ceil 100000Kbit burst 500Kb cburst 1600b
class htb 1:8 parent 1:2 leaf 8: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class htb 1:9 parent 1:2 leaf 9: prio 2 rate 2000Kbit ceil 4500Kbit burst 50Kb cburst 1599b
class sfq 16:267 parent 16:

по команде tc class show dev eth0 и eth1 что показывает?

root@server:~# htb compile
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 htb default 0 r2q 100

/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 0 r2q 100

find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

/sbin/tc class add dev eth0 parent 1: classid 1:2 htb rate 9Mbit ceil 9Mbit

/sbin/tc class add dev eth0 parent 1:2 classid 1:05 htb rate 100Kbit ceil 200Kbit
/sbin/tc qdisc add dev eth0 parent 1:05 handle 05 sfq perturb 10

/sbin/tc class add dev eth0 parent 1:2 classid 1:06 htb rate 9Mbit ceil 9Mbit prio 99
/sbin/tc qdisc add dev eth0 parent 1:06 handle 06 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.0.0/32 match ip dst 192.168.0.1/32 classid 1:06

/sbin/tc class add dev eth0 parent 1:2 classid 1:07 htb rate 100Mbit ceil 100Mbit burst 500Kb prio 0
/sbin/tc qdisc add dev eth0 parent 1:07 handle 07 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.100/32 classid 1:07

/sbin/tc class add dev eth0 parent 1:2 classid 1:08 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:08 handle 08 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.116/32 classid 1:08

/sbin/tc class add dev eth0 parent 1:2 classid 1:09 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:09 handle 09 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.101/32 classid 1:09

/sbin/tc class add dev eth0 parent 1:2 classid 1:10 htb rate 2000Kbit ceil 3000Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.120/32 classid 1:10

/sbin/tc class add dev eth0 parent 1:2 classid 1:11 htb rate 2000Kbit ceil 3500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:11 handle 11 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.119/32 classid 1:11

/sbin/tc class add dev eth0 parent 1:2 classid 1:12 htb rate 3000Kbit ceil 5500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:12 handle 12 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.115/32 classid 1:12

/sbin/tc class add dev eth0 parent 1:2 classid 1:13 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:13 handle 13 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.117/32 classid 1:13

/sbin/tc class add dev eth0 parent 1:2 classid 1:14 htb rate 2000Kbit ceil 3000Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:14 handle 14 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.118/32 classid 1:14

/sbin/tc class add dev eth0 parent 1:2 classid 1:15 htb rate 2000Kbit ceil 3500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth0 parent 1:15 handle 15 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.121/32 classid 1:15

/sbin/tc class add dev eth0 parent 1:2 classid 1:16 htb rate 1500Kbit ceil 4500Kbit burst 50Kb prio 1
/sbin/tc qdisc add dev eth0 parent 1:16 handle 16 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.122/32 classid 1:16

/sbin/tc class add dev eth0 parent 1:2 classid 1:17 htb rate 1Kbit ceil 1Kbit burst 50Kb prio 99
/sbin/tc qdisc add dev eth0 parent 1:17 handle 17 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.125/32 classid 1:17

/sbin/tc class add dev eth0 parent 1:2 classid 1:18 htb rate 10Kbit ceil 10Kbit burst 50Kb prio 99
/sbin/tc qdisc add dev eth0 parent 1:18 handle 18 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.0/32 classid 1:18

/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 9Mbit ceil 9Mbit

/sbin/tc class add dev eth1 parent 1:2 classid 1:05 htb rate 100Kbit ceil 200Kbit
/sbin/tc qdisc add dev eth1 parent 1:05 handle 05 sfq perturb 10

/sbin/tc class add dev eth1 parent 1:2 classid 1:06 htb rate 5Mbit ceil 5Mbit prio 99
/sbin/tc qdisc add dev eth1 parent 1:06 handle 06 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 0.0.0.0/32 match ip dst 79.142.108.40/32 classid 1:06

/sbin/tc class add dev eth1 parent 1:2 classid 1:07 htb rate 100Mbit ceil 100Mbit burst 500Kb prio 0
/sbin/tc qdisc add dev eth1 parent 1:07 handle 07 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 102 fw classid 1:07

/sbin/tc class add dev eth1 parent 1:2 classid 1:08 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:08 handle 08 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 103 fw classid 1:08

/sbin/tc class add dev eth1 parent 1:2 classid 1:09 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:09 handle 09 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 104 fw classid 1:09

/sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 2000Kbit ceil 3500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:10 handle 10 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 105 fw classid 1:10

/sbin/tc class add dev eth1 parent 1:2 classid 1:11 htb rate 2000Kbit ceil 3500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:11 handle 11 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 106 fw classid 1:11

/sbin/tc class add dev eth1 parent 1:2 classid 1:12 htb rate 3000Kbit ceil 5500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:12 handle 12 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 107 fw classid 1:12

/sbin/tc class add dev eth1 parent 1:2 classid 1:13 htb rate 2000Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:13 handle 13 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 108 fw classid 1:13

/sbin/tc class add dev eth1 parent 1:2 classid 1:14 htb rate 2000Kbit ceil 3000Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:14 handle 14 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 109 fw classid 1:14

/sbin/tc class add dev eth1 parent 1:2 classid 1:15 htb rate 2000Kbit ceil 3000Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:15 handle 15 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 110 fw classid 1:15

/sbin/tc class add dev eth1 parent 1:2 classid 1:16 htb rate 1500Kbit ceil 4500Kbit burst 50Kb prio 2
/sbin/tc qdisc add dev eth1 parent 1:16 handle 16 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 111 fw classid 1:16

/sbin/tc class add dev eth1 parent 1:2 classid 1:17 htb rate 1Kbit ceil 1Kbit burst 50Kb prio 99
/sbin/tc qdisc add dev eth1 parent 1:17 handle 17 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 112 fw classid 1:17

/sbin/tc class add dev eth1 parent 1:2 classid 1:18 htb rate 10Kbit ceil 10Kbit burst 50Kb prio 99
/sbin/tc qdisc add dev eth1 parent 1:18 handle 18 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 113 fw classid 1:18

root@server:~#

 

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