Здравейте, искам да огранича download-a на няколко ип-та. Конгигурацията ми е следната:
Имам 2 bond интерфейс-а: bond0 i bond1 с round robin.
bond0 (вътрешен интерфейс) включва eth2 и eth4
bond1 (външен интерфейс) включва eth0, eth1 и eth3
върху bond1 имам 4 vlan-a
Така сега върху bond0 искам да използвам iptables + tc за да огранича download-a със следния код:
GeSHi (Bash):
#!/bin/sh
/sbin/tc qdisc del dev bond0 root 2> /dev/null > /dev/null
/sbin/iptables -t mangle -F
/sbin/iptables -t nat -F
/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.5 -j MASQUERADE
/sbin/tc qdisc add dev bond0 root handle 1: htb default 2
/sbin/tc class add dev bond0 parent 1: classid 1:1 htb rate 100mbit
/sbin/tc class add dev bond0 parent 1:1 classid 1:2 htb rate 1mbit ceil 32mbit
/sbin/tc filter add dev bond0 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:2
# Internet class
/sbin/tc class add dev bond0 parent 1:1 classid 1:3 htb rate 8mbit ceil 16mbit prio 1
# Client class
/sbin/tc class add dev bond0 parent 1:3 classid 1:7 htb rate 1mbit ceil 8mbit prio 1
/sbin/iptables -t mangle -A FORWARD -o bond0 -d 10.0.0.5 -j MARK --set-mark 0x7
/sbin/tc filter add dev bond0 parent 1:0 protocol ip prio 1 handle 7 fw classid 1:7
След известно тестване от 10.0.0.5 се оказа, че не може да достигне и 4mbit. Къде бъркам ?