Я хочу ограничить полосу пропускания для интерфейса eth1, я прочитал команду в эта ссылка.
sudo tc qdisc add dev eth1 root handle 1:0 htb default 10
sudo tc class add dev eth1 parent 1:0 classid 1:10 htb rate 200kbps ceil 200kbps
Работает хорошо (скорость загрузки ~ 200 кб / с). Когда я добавляю 1 команду, я думаю, что скорость загрузки будет ~ 170 кб / с, но это не так (скорость загрузки ~ 500 кб / с).
sudo tc qdisc add dev eth1 root handle 1:0 htb default 10
sudo tc class add dev eth1 parent 1:0 classid 1:10 htb rate 200kbps ceil 200kbps
sudo tc class add dev eth1 parent 1:10 classid 1:100 htb rate 170kbps ceil 170kbps
Может кто-нибудь помочь мне? Большое спасибо!
Вы указываете два класса / скорости. Вы этого хотели? Вы не объясняете, почему вы устанавливаете такие значения. Вам нужны правила iptables, чтобы соответствовать этим правилам, но не упоминайте о них.
http://www.cyberciti.biz/faq/linux-traffic-shaping-using-tc-to-control-http-traffic/
Определите класс с ограничениями, то есть установите разрешенную полосу пропускания на 512> Килобайт и полосу пропускания пакета на 640 Килобайт для порта 80:
# /sbin/tc class add dev eth1 parent 1:0 classid 1:10 htb rate 512kbps ceil 640kbps prio 0
Обратите внимание, что порт 80 НЕ определен нигде в указанном выше классе. Вы будете> использовать правило исключения iptables следующим образом:
# /sbin/iptables -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 10