کد:
#!/bin/sh
## Script Traffic Controler By DarkLove
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root
## Send User
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 2mbit ceil 512kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 32kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 32kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 64kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 64kbit ceil 128kbit
tc class add dev eth0 parent 1:1 classid 1:14 htb rate 128kbit ceil 128kbit
tc class add dev eth0 parent 1:1 classid 1:15 htb rate 128kbit ceil 256kbit
##
tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 3 fw classid 1:11
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 5 fw classid 1:12
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 7 fw classid 1:13
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 9 fw classid 1:14
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 11 fw classid 1:15
##
# User 1 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.11 -j MARK --set-mark 1
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.11 -j MARK --set-mark 1
# User 2 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.12 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.12 -j MARK --set-mark 3
# User 3 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.13 -j MARK --set-mark 5
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.13 -j MARK --set-mark 5
# User 4 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.14 -j MARK --set-mark 7
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.14 -j MARK --set-mark 7
# User 5 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.15 -j MARK --set-mark 9
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.15 -j MARK --set-mark 9
# User 6 #
iptables -A PREROUTING -t mangle -p tcp -s 192.168.10.16 -j MARK --set-mark 11
iptables -A PREROUTING -t mangle -p udp -s 192.168.10.16 -j MARK --set-mark 11
## Recive User
tc qdisc add dev eth1 root handle 1: htb
tc class add dev eth1 parent 1: classid 1:1 htb rate 16mbit ceil 1024kbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 48kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:11 htb rate 48kbit ceil 128kbit
tc class add dev eth1 parent 1:1 classid 1:12 htb rate 96kbit ceil 128kbit
tc class add dev eth1 parent 1:1 classid 1:13 htb rate 96kbit ceil 256kbit
tc class add dev eth1 parent 1:1 classid 1:14 htb rate 192kbit ceil 256kbit
tc class add dev eth1 parent 1:1 classid 1:15 htb rate 192kbit ceil 512kbit
##
tc filter add dev eth1 parent 1: protocol ip prio 1 handle 2 fw classid 1:10
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 4 fw classid 1:11
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 6 fw classid 1:12
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 8 fw classid 1:13
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 10 fw classid 1:14
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 12 fw classid 1:15
##
# User 1 #
iptables -A POSTROUTING -t mangle -p tcp -d 192.168.10.11 -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -p udp -d 192.168.10.11 -j MARK --set-mark 2
# User 2 #
iptables -A POSTROUTING -t mangle -p tcp -d 192.168.10.12 -j MARK --set-mark 4
iptables -A POSTROUTING -t mangle -p udp -d 192.168.10.12 -j MARK --set-mark 4
# User 3 #
iptables -A POSTROUTING -t mangle -p tcp -d 192.168.10.13 -j MARK --set-mark 6
iptables -A POSTROUTING -t mangle -p udp -d 192.168.10.13 -j MARK --set-mark 6
# User 4 #
iptables -A PREROUTING -t mangle -p tcp -d 192.168.10.14 -j MARK --set-mark 8
iptables -A PREROUTING -t mangle -p udp -d 192.168.10.14 -j MARK --set-mark 8
# User 5 #
iptables -A PREROUTING -t mangle -p tcp -d 192.168.10.15 -j MARK --set-mark 10
iptables -A PREROUTING -t mangle -p udp -d 192.168.10.15 -j MARK --set-mark 10
# User 6 #
iptables -A PREROUTING -t mangle -p tcp -d 192.168.10.16 -j MARK --set-mark 12
iptables -A PREROUTING -t mangle -p udp -d 192.168.10.16 -j MARK --set-mark 12
اینم Tc
احتیاجی به توضیح نداره