[+] autostart skryptu z parametrami

Ogólne pytania dotyczące systemu
tomii
Junior Member
Posty: 687
Rejestracja: 21 października 2007, 13:27

[+] autostart skryptu z parametrami

Post autor: tomii »

Mam taki skrypt zapisany pod nazwą htb:

Kod: Zaznacz cały

#!/bin/sh
# htb.sh -- prosty i Å‚atwy skrypt do zarzÄ…dzania pasmem
lan="eth0"
wan="eth1"
ip_zew="89.x.x.x"
sp_up="72kbit"
sp_down="660kbit"
max_up="440kbit"
max_down="3600kbit"
if [ "$1" == "stop" ]
then
    echo "Zatrzymujemy shapera"
    tc qdisc del root dev imq0 2>/dev/null
    tc qdisc del root dev imq1 2>/dev/null
    exit
fi
if [ "$1" == "start" ]
then

# To co bylo wczesniej -- do pieca! :)
    echo "Uruchamiamy shapera"
    echo "Podnoszwenie IMQ..." 
    
    modprobe imq 
    ip link set imq0 up 
    ip link set imq1 up
    
    echo "Przekierowanie do IMQ"
    
    iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0        # Download
    iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1        # Upload
    
    tc qdisc del root dev imq0 2>/dev/null
    tc qdisc del root dev imq1 2>/dev/null
   

   
########## DOWNLOAD
    tc qdisc add dev imq0 root handle 1:0 htb
    tc class add dev imq0 parent 1:0 classid 1:1 htb rate 90000kbit ceil 90000kbit
    tc class add dev imq0 parent 1:1 classid 1:2 htb rate $max_down ceil $max_down #wan
    tc class add dev imq0 parent 1:1 classid 1:3 htb rate 85000kbit ceil 85000kbit #lan
    tc class add dev imq0 parent 1:2 classid 1:4 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:5 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:6 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:7 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:8 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:9 htb rate $sp_down ceil $max_down
    tc class add dev imq0 parent 1:2 classid 1:10 htb rate 20kbit ceil $max_down

    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.2 flowid 1:4
    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.3 flowid 1:5
    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.4 flowid 1:6
    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.5 flowid 1:7
    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.6 flowid 1:8
    tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst 192.168.1.7 flowid 1:9
   tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip \
       dst $ip_zew flowid 1:10

    tc qdisc add dev imq0 parent 1:3 handle 3:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:4 handle 4:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:5 handle 5:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:6 handle 6:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:7 handle 7:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:8 handle 8:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:9 handle 9:0 sfq perturb 10
    tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10

########## UPLOAD
    tc qdisc add dev imq1 root handle 1:0 htb default 9
    tc class add dev imq1 parent 1:0 classid 1:1 htb rate $max_up ceil $max_up #quantum 15
    tc class add dev imq1 parent 1:1 classid 1:9 htb rate 2kbit ceil $max_up #quantum 15

    tc class add dev imq1 parent 1:1 classid 1:3 htb rate $sp_up ceil $max_up #quantum 16
    tc class add dev imq1 parent 1:1 classid 1:4 htb rate $sp_up ceil $max_up #quantum 16
    tc class add dev imq1 parent 1:1 classid 1:5 htb rate $sp_up ceil $max_up #quantum 16
    tc class add dev imq1 parent 1:1 classid 1:6 htb rate $sp_up ceil $max_up #quantum 16
    tc class add dev imq1 parent 1:1 classid 1:7 htb rate $sp_up ceil $max_up
    tc class add dev imq1 parent 1:1 classid 1:8 htb rate $sp_up ceil $max_up
  
    tc qdisc add dev imq1 parent 1:3 handle 3:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:4 handle 4:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:5 handle 5:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:6 handle 6:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:7 handle 7:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:8 handle 8:0 sfq perturb 10
    tc qdisc add dev imq1 parent 1:9 handle 9:0 sfq perturb 10

    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.2 flowid 1:3
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.3 flowid 1:4
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.4 flowid 1:5
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.5 flowid 1:6
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.6 flowid 1:7
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src 192.168.1.7 flowid 1:8
    tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip \
       src $ip_zew flowid 1:9

    
    exit
fi
if [ "$1" == "status" ]
then
    echo $lan ": "
    tc -s qdisc show dev $lan
    echo $wan ": "
    tc -s qdisc show dev $wan
    echo "IMQ" 
    iptables -L -v -t mangle | grep IMQ
    exit
fi
echo "$0 start|stop|status"
## KONIEC
Jak sprawić aby uruchamial sie przy starcie systemu?

Kod: Zaznacz cały

update-rc.d htb defaults 20 
Nie pomaga?
dawid
Posty: 32
Rejestracja: 14 października 2007, 22:19

Post autor: dawid »

Można spróbować wpisać go do pliku

Kod: Zaznacz cały

/etc/rc.local
tomii
Junior Member
Posty: 687
Rejestracja: 21 października 2007, 13:27

Post autor: tomii »

Na poprzednim komputerze działało, update rc ale teraz zauważyłem, że update rc działa-podnosi imq i tworzy w nim klasy, tylko ruchu tam nie kieruje. Więc dałem update rcd default 50 bo myślałem o złej kolejności ale nadal nic. Jakieś pomysły?

[ Dodano: 2008-04-18, 00:26 ]
stowrzenie pliku z poleceniem htb start nie pomogło
ale pomogło

Kod: Zaznacz cały

su -m -c '/etc/htb/rc.hfsc start' -
ODPOWIEDZ