LINUX.ORG.RU

Сообщения KerLaeda

 

HTB & ограничение трафика с шлюза

Есть сервер под управлением Debian, выполняющий роль шлюза и torrent качалки. Пытаюсь настроить HTB по примеру: http://www.opennet.ru/docs/RUS/LARTC/x2755.html Главная задача - сделать трафик локальной сети более приоритетным по отношению к трафику процессов на шлюзе. На шлюзе в инет смотрит eth0(192.168.1.2), в LAN eth1(192.168.2.1). Маскарадим так:

OUTIF="eth0"
INTIF="eth1"

$IPTABLES -A FORWARD -i $OUTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $OUTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $OUTIF -j MASQUERADE

HTB:

CEIL=100
tc qdisc add dev eth0 root handle 1: htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate ${CEIL}kbit ceil ${CEIL}kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50kbit ceil ${CEIL}kbit prio 0
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 50kbit ceil ${CEIL}kbit prio 1
tc qdisc add dev eth0 parent 1:10 handle 120: sfq perturb 10
tc qdisc add dev eth0 parent 1:11 handle 120: sfq perturb 10

tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11

iptables -t mangle -A PREROUTING -j MARK --set-mark 0x1

iptables -t mangle -A OUTPUT -j MARK --set-mark 0x2
Но проблему это не решает. LAN трафик идет через приоритетный 10 класс.
class htb 1:11 parent 1:1 prio 1 rate 50000bit ceil 100000bit burst 1624b cburst 1649b
 Sent 3695055 bytes 13767 pkt (dropped 0, overlimits 0 requeues 0)
 rate 12384bit 4pps backlog 0b 0p requeues 0
 lended: 11658 borrowed: 1785 giants: 0
 tokens: -179845 ctokens: -87969

class htb 1:10 parent 1:1 leaf 120: prio 0 rate 50000bit ceil 100000bit burst 1624b cburst 1649b
 Sent 352060 bytes 1129 pkt (dropped 0, overlimits 0 requeues 0)
 rate 832bit 0pps backlog 0b 0p requeues 0
 lended: 1082 borrowed: 47 giants: 0
 tokens: 245155 ctokens: 124531

class htb 1:1 root rate 100000bit ceil 100000bit burst 1649b cburst 1649b
 Sent 4047115 bytes 14896 pkt (dropped 0, overlimits 0 requeues 0)
 rate 13216bit 4pps backlog 0b 0p requeues 0
 lended: 1832 borrowed: 0 giants: 0
 tokens: -87969 ctokens: -87969
Но торрент на шлюзе все равно съедает весь канал. Что я делаю не правильно?

KerLaeda
()

планировщик сети

Опишу ситуацию.
Есть домашний сервер под управлением Debian, который помимо всего прочего является шлюзом. Там же крутится торрент клиент (deluge).
Нужно чтобы при обращении к глобальной сети из внутренней сервер ограничивал или вырубал торрент и все прочее что лезет в сеть, отдавая канал по максимуму.
Затем, разумеется, все восстанавливал.
Что тут можно придумать?
Может есть готовое решение, что-то типа прокси с такой фичей, или скриптик написать к-н.
Честно говоря, не хотелось бы связываться с прокси, пока и через маскарадинг все замечательно работает.

KerLaeda
()

RSS подписка на новые темы