Run script with /opt/bin/bash at init
I create script that config internet speed limit and want to run it when router is start.
But I need to use "array and for" in my script so I need to use bash shell not /bin/sh.
I have installed bash from optware.
My script not work on start.(I paste script in "administration » scripts")
#!/opt/bin/bash
#[[Internet limit RT-N66U Tomato]]
device=(100 101)
#Delete setting
tc qdisc del dev br0 root handle 1: htb default 10
tc qdisc del dev vlan2 root handle 1: htb default 10
iptables -t mangle -F
#Local IP 1Gbps
iptables -t mangle -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.0/16 -j MARK --set-mark 1
#[Download]
tc qdisc add dev br0 root handle 1: htb default 10
tc class add dev br0 parent 1: classid 1:2 htb rate 1000000kbit
tc filter add dev br0 parent 1:0 prio 0 protocol ip handle 1 fw flowid 1:2
tc class add dev br0 parent 1: classid 1:1 htb rate 45000kbit
tc class add dev br0 parent 1:1 classid 1:10 htb rate 5000kbit ceil 20000kbit
for i in "${device[@]}"
do
tc class add dev br0 parent 1:1 classid 1:$i htb rate 5000kbit ceil 45000kbit
iptables -t mangle -A POSTROUTING -s ! 192.168.0.0/16 -d 192.168.3.$i -j MARK --set-mark 1$i
tc filter add dev br0 parent 1:0 prio 0 protocol ip handle 1$i fw flowid 1:$i
done
#[Upload]
tc qdisc add dev vlan2 root handle 1: htb default 10
tc class add dev vlan2 parent 1: classid 1:2 htb rate 1000000kbit
tc filter add dev vlan2 parent 1:0 prio 0 protocol ip handle 1 fw flowid 1:2
tc class add dev vlan2 parent 1: classid 1:1 htb rate 4000kbit
tc class add dev vlan2 parent 1:1 classid 1:10 htb rate 500kbit ceil 1500kbit
for i in "${device[@]}"
do
tc class add dev vlan2 parent 1:1 classid 1:$i htb rate 500kbit ceil 4000kbit
iptables -t mangle -A PREROUTING -s 192.168.3.$i -d ! 192.168.0.0/16 -j MARK --set-mark 2$i
tc filter add dev vlan2 parent 1:0 prio 0 protocol ip handle 2$i fw flowid 1:$i
done