LINUX.ORG.RU
ФорумAdmin

шейпинг hfsc плохо работает

 , ,


0

1
BAND="2Mbit"
HIGH_LIMIT="1Mbit"
MAIN_IFACE="ppp0"

# delete all rules
tc qdisc del dev ${MAIN_IFACE} root

tc qdisc add dev ${MAIN_IFACE} root handle 1: hfsc default 11

# Internet traffic (full MAXIMUM speed)
tc class add dev ${MAIN_IFACE} parent 1:0 classid 1:1 hfsc sc rate ${BAND} ul rate ${BAND}
# Subclasses of Internet traffic
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:10 hfsc rt rate 1Mbit ls rate ${HIGH_LIMIT}
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:11 hfsc ls rate 1Mbit
$IPTABLES -t mangle -A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 1
$IPTABLES -t mangle -A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN


$IPTABLES -A OUTPUT -t mangle -p tcp --dport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p udp --dport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p udp --sport 53 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 80 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 443 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 443 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 8008 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 8008 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 8080 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 8080 -j MARK --set-mark 1

# jabber
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 5222 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 5222 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 465 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 465 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 587 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 587 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 993 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 993 -j MARK --set-mark 1

$IPTABLES -A OUTPUT -t mangle -p tcp --dport 25 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 25 -j MARK --set-mark 1

$IPTABLES -t mangle -A POSTROUTING -m mark --mark 1 -j CLASSIFY --set-class 1:1

Пакеты маркируются, пакеты попадают в соответствующие правила

┌─[mybox]─[/home/user]
└──╼ tc -s class show dev ppp0
class hfsc 1: root 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
 period 0 level 2 
class hfsc 1:11 parent 1:1 ls m1 0bit d 0us m2 1000Kbit 
 Sent 235684729 bytes 3528449 pkt (dropped 243372, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
 period 3405145 work 235684729 bytes level 0 
class hfsc 1:1 parent 1: sc m1 0bit d 0us m2 2000Kbit ul m1 0bit d 0us m2 2000Kbit 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
 period 3405145 work 235684729 bytes level 1 
class hfsc 1:10 parent 1:1 sc m1 0bit d 0us m2 1000Kbit 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
 period 0 level 0 

Но как только рторрент раскачивается, то браузер глохнет и открывает что угодно пол часа.

★★★★

Последнее исправление: bryak (всего исправлений: 1)

hfsc не является шейпером в классическом понимании.

Для ограничения скорости используется [e]sfq,tbf.

vel ★★★★★
()
Ответ на: комментарий от vel

не так ограничение скорости как таковое и не нужно. Нет такой скорости, чтобы резать на полосы трафик.

bryak ★★★★
() автор топика
Ответ на: комментарий от bryak

то, что ты хочешь обычно делается через htb & sfq

приоритетный класс с RATE 95% от ширины канала и CEIL 100% ширины канала.

низкоприоритетный класс наоборот - RATE 5% CEIL 100%

vel ★★★★★
()
Ответ на: комментарий от vel

Если это так просто, то вы не могли бы сюда предоставить этот вариант. Я думаю, что другим было бы так же интересно + в вики лора можно было бы выложить сей вариант.

bryak ★★★★
() автор топика
Ответ на: комментарий от vel

вроде как нашел что-то и переделал так, как ты говоришь. Но всёравно не получается видяшки смотреть из ютуб и параллельно лить торренты)

bryak ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.