LINUX.ORG.RU
ФорумAdmin

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


0

0

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

Ответ на: комментарий от sdio

Хм, любопытно. Будем читать мануалы.
Насколько я понял, мне нужно это:
15.10. Пример подключения локальной сети к Интернет через NAT, с организацией QoS.
Если Вам не будет сложно, может напишите в двух словах поподробнее.
Это сэкономит мне кучу времени. :)

KerLaeda
() автор топика

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

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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.