oto zawartosc calego pliku,przy okazji posiadam neo 320
#!/bin/bash
# rc.htb 0.3.3-stable, (C)PriSM 2oo3, GNU GPL
# <http://www.rc.htb.prv.pl/>
# Poprawki Zciech 0.1
# wygenerowano: 09/24/04 11:44:25
VER=0.3.3-stable
stop()
{
/usr/sbin/rchtb_tc qdisc del root dev lo 2> /dev/null
/usr/sbin/rchtb_tc qdisc del root dev eth0 2> /dev/null
}
start()
{
stop # dla bezpieczeństwa
# INTERFEJS ETH0 (ruch przychodzący)
/usr/sbin/rchtb_tc qdisc add dev eth0 root handle 1:0 htb default 3 r2q 1
# Główna klasa dla eth0
/usr/sbin/rchtb_tc class add dev eth0 parent 1:0 classid 1:1 htb rate 9000kbit ceil 9000kbit
# Podział na pasmo dla łącza internetowego i resztę
/usr/sbin/rchtb_tc class add dev eth0 parent 1:1 classid 1:2 htb rate 316kbit ceil 316kbit
/usr/sbin/rchtb_tc class add dev eth0 parent 1:1 classid 1:3 htb rate 8684kbit ceil 8684kbit prio 9
/usr/sbin/rchtb_tc qdisc add dev eth0 parent 1:3 sfq perturb 10
# pasmo priorytetowe dla ICMP, TOS 0x10 (min. delay) oraz wybranego portu 22
/usr/sbin/rchtb_tc class add dev eth0 parent 1:2 classid 1:20 htb rate 79kbit ceil 316kbit prio 1 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev eth0 parent 1:20 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 3 parent 1:0 u32 match ip sport 22 0xffff flowid 1:20
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 2 parent 1:0 u32 match ip tos 0x10 0xff flowid 1:20
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 2 parent 1:0 u32 match ip protocol 1 0xff flowid 1:20
# Andrzej
/usr/sbin/rchtb_tc class add dev eth0 parent 1:2 classid 1:21 htb rate 79kbit ceil 316kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev eth0 parent 1:21 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.0.4 flowid 1:21
# Przemek
/usr/sbin/rchtb_tc class add dev eth0 parent 1:2 classid 1:22 htb rate 79kbit ceil 316kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev eth0 parent 1:22 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.0.3 flowid 1:22
# Wojtek
/usr/sbin/rchtb_tc class add dev eth0 parent 1:2 classid 1:23 htb rate 79kbit ceil 316kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev eth0 parent 1:23 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.0.2 flowid 1:23
# transfer serwer->LAN
/usr/sbin/rchtb_tc filter add dev eth0 protocol ip prio 1 parent 1:0 handle 1 fw flowid 1:3
# INTERFEJS LO (ruch wychodzący)
/usr/sbin/rchtb_tc qdisc add dev lo root handle 2:0 htb default 11 r2q 1
# główna klasa
/usr/sbin/rchtb_tc class add dev lo parent 2:0 classid 2:1 htb rate 288kbit ceil 288kbit
# klasa priorytetowa ACK
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:10 htb rate 15kbit ceil 15kbit prio 1 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:10 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 2 u32 match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 1 match u8 0x10 0xff at 33 flowid 2:10 # ACK
# klasa priorytetowa TOS 0x10 oraz ICMP
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:9 htb rate 37kbit ceil 37kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:9 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 1 u32 match ip tos 0x10 0xff flowid 2:9 # TOS 0x10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 2 u32 match ip dport 22 0xffff flowid 2:9 # port 22
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 2:9 # ICMP
# ruch serwerowy (pasmo dla gości z zewnątrz)
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:11 htb rate 8kbit ceil 236kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:11 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 3 handle 1 fw flowid 2:11
# Andrzej
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:12 htb rate 75kbit ceil 236kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:12 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 5 handle 2 fw flowid 2:12
# Przemek
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:13 htb rate 75kbit ceil 236kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:13 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 5 handle 3 fw flowid 2:13
# Wojtek
/usr/sbin/rchtb_tc class add dev lo parent 2:1 classid 2:14 htb rate 75kbit ceil 236kbit prio 2 quantum 1500
/usr/sbin/rchtb_tc qdisc add dev lo parent 2:14 sfq perturb 10
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 5 handle 4 fw flowid 2:14
/usr/sbin/rchtb_tc filter add dev lo parent 2:0 protocol ip prio 9 u32 match ip dst 0/0 flowid 2:11
}
echo "rc.htb 0.3.3-stable, (C)PriSM 2oo3. Na licencji GNU GPL."
echo "Strona projektu:
http://www.rc.htb.prv.pl/"
case "$1" in
'start')
echo -n "Uruchamianie kolejkowania..."
start
echo " wykonano."
;;
'stop')
echo -n "Zatrzymywanie kolejkowania..."
stop
echo " wykonano."
;;
'restart')
echo -n "Restartowanie kolejkowania: stop"
stop
echo -n " start"
start
echo " wykonano."
;;
'status')
echo "Klasy na interfejsie eth0"
echo "================================"
tc class show dev eth0 | grep root
tc class show dev eth0 | grep -v root | sort | nl
echo "Klasy na interfejsie lo"
echo "==================================="
tc class show dev lo | grep root
tc class show dev lo | grep -v root | sort | nl
;;
*)
echo -e "\nUżycie: rc.htb start|stop|restart|status"
;;
esac