Доброго времени суток.
Появилась необходимость настроить приоритеты трафика, идущего через шлюз в инет. Посмотрел статьи разных умных людей, попытался подогнать примеры скриптов под свои нужды - родилось такое творение:
iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 5190 -j MARK --set-mark 10
iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 5190 -j MARK --set-mark 10
iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 22 -j MARK --set-mark 10
iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 22 -j MARK --set-mark 10
iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 80 -j MARK --set-mark 20
iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 80 -j MARK --set-mark 20
iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 21 -j MARK --set-mark 50
iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 21 -j MARK --set-mark 50
tc qdisc add dev eth0 root handle 1:0 htb default 50
tc qdisc add dev eth1 root handle 1:0 htb default 50
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 64kbps ceil 64kbps burst 15k
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 64kbps ceil 64kbps burst 15k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 20kbps ceil 20kbps burst 15k prio 1
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 20kbps ceil 20kbps burst 15k prio 1
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 40kbps ceil 40kbps burst 15k prio 2
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 40kbps ceil 40kbps burst 15k prio 2
tc class add dev eth0 parent 1:1 classid 1:50 htb rate 5kbps ceil 10kbps burst 15k prio 5
tc class add dev eth1 parent 1:1 classid 1:50 htb rate 5kbps ceil 10kbps burst 15k prio 5
tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 10 fw flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 handle 10 fw flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 2 handle 20 fw flowid 1:20
tc filter add dev eth1 protocol ip parent 1:0 prio 2 handle 20 fw flowid 1:20
tc filter add dev eth0 protocol ip parent 1:0 prio 5 handle 50 fw flowid 1:50
tc filter add dev eth0 protocol ip parent 1:0 prio 5 handle 50 fw flowid 1:50
Естественно, это не окончательное решение, но нужно заставить заработать хотя бы скрипт такой сложности...
А теперь собственно проблемы:
1. Все это дело категорически не хочет работать из файла. Ошибки буквально в каждой строке . Например, неправильная отметка пакета (для iptables) неверный приоритет (для tc) и т.п. С другой стороны, если всё это набивать постепенно руками (!) - ошибок не возникает... Непонятно...
2. Даже если и набить все это руками - разницы по скорости для высокоприоритетных портов абсолютно нет.
Помогите, плз, разобраться.