Witam!
Skorzystalem ze skryptu -MW- (z poprzedniej strony) i podczas odpalania wywala mi cos takiego:
[root@lan ~]# /etc/rc.d/imq_p2p start
-----------ON----------
klasa11 1KB/s max-13KB/s - ACK,icmp,dns
klasa12 1KB/s max-13KB/s - gry, TOS
klasa13 1KB/s max-13KB/s - skype na wybranym porcie
klasa14 1KB/s max-13KB/s - 443,ssh
klasa15 1KB/s max- 2KB/s - ftp
klasa16 6KB/s max- 7KB/s - pop3,nntp,smtp
klasa17 2KB/s max- 2KB/s - w/g ipp2p
klasa18 2KB/s max- 2KB/s - RESZTA niechcianego ruchu
--------------------------
imq2 UL-15KB/s
--------------------------
iptables: Chain already exists
iptables: Chain already exists
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
What is " "?
Usage: ... u32 [ match SELECTOR ... ] [ link HTID ] [ classid CLASSID ]
[ police POLICE_SPEC ] [ offset OFFSET_SPEC ]
[ ht HTID ] [ hashkey HASHKEY_SPEC ]
[ sample SAMPLE ]
or u32 divisor DIVISOR
Where: SELECTOR := SAMPLE SAMPLE ...
SAMPLE := { ip | ip6 | udp | tcp | icmp | u{32|16|8} } SAMPLE_ARGS
FILTERID := X:Y:Z
/etc/rc.d/imq_p2p: line 217: match: command not found
class htb 10:1 root rate 120Kbit ceil 120Kbit burst 1752b cburst 1752b
1 class htb 10:11 parent 10:1 leaf 805c: prio 0 rate 8Kbit ceil 104Kbit burst 1609b cburst 1732b
2 class htb 10:12 parent 10:1 leaf 805d: prio 1 rate 8Kbit ceil 104Kbit burst 1609b cburst 1732b
3 class htb 10:13 parent 10:1 leaf 805e: prio 2 rate 8Kbit ceil 104Kbit burst 1609b cburst 1732b
4 class htb 10:14 parent 10:1 leaf 805f: prio 3 rate 8Kbit ceil 104Kbit burst 1609b cburst 1732b
5 class htb 10:15 parent 10:1 leaf 8060: prio 4 rate 8Kbit ceil 16Kbit burst 1609b cburst 1619b
6 class htb 10:16 parent 10:1 leaf 8061: prio 5 rate 48Kbit ceil 56Kbit burst 1660b cburst 1670b
7 class htb 10:17 parent 10:1 leaf 8062: prio 6 rate 16Kbit ceil 16Kbit burst 1619b cburst 1619b
8 class htb 10:18 parent 10:1 leaf 8063: prio 7 rate 16Kbit ceil 16Kbit burst 1619b cburst 1619b
-------------------------------------------------------------
przepustowosc interfejsu squida 100 KB/s
-------------------------------------------------------------
class htb 20:1 root rate 800Kbit ceil 800Kbit burst 2623b cburst 2623b
1 class htb 20:11 parent 20:1 leaf 8064: prio 0 rate 800Kbit ceil 800Kbit burst 2623b cburst 2623b
niceshaper0.6 - start
Niceshaper version:0.6rc2
http://niceshaper.jedwabny.net
NiceShaper: Starting download....
NiceShaper: Starting upload....
[root@lan ~]#
Czy moglbym prosic o pomoc w konfiguracji tego skryptu???
Ps. moj plik konfiguracyjny wyglada tak:
#!/bin/bash
TC="/sbin/tc"
i="/usr/sbin/iptables"
if=/sbin/ifconfig
#20306-MW-
case "$1" in
start)
#-------------------------------------
# sciezki do plikow
HOSTS=/etc/rc.d/hosts.p2p
TMP=/etc/rc.d/hosts.tmp
#interfejs do internetu
INET=ppp0
#-------------------------------------
echo ""
echo " -----------ON---------- "
echo ""
# -- podnosi interfejsy IMQ --------------
/sbin/modprobe imq numdevs=6 &>/dev/null
$if imq0 up &>/dev/null
$if imq1 up &>/dev/null
$if imq2 up &>/dev/null
$if imq3 up &>/dev/null
$if imq4 up &>/dev/null
$if imq5 up &>/dev/null
#------------------------------------------------------------------------------------------------
# restartuj skrypt cronem o 1,2,7,9,16,22
# 00 1,2,7,9,16,22 * * * /home/P2P/p2p restart
# ustawienie przepustowosci do internetu w KB/s (Kilo Bajty / sekunda)
# imq2
# staly przydzial dla uploadu w/g uslug
U1=1 #ack,icmp,dns
U2=1 #gry,tos
U3=1 #skype na jakims porcie (55555)
U4=1 #ssh
U5=1 #ftp
U6=6 #pop3,nntp,smtp
U7=2 #ipp2p
U8=2 #reszta
UL=$[U1+U2+U3+U4+U5+U6+U7+U8]
# maxymalne przydzialy dla uploadu
UL1=$[UL-2] #ack,icmp,dns
UL2=$[UL-2] #gry,tos
UL3=$[UL-2] #skype na jakims porcie (55555)
UL4=$[UL-2] #ssh,
UL5=2 #ftp
UL6=7 #pop3,nntp,smtp
#ULR - w/g godzin ponizej
godz=`date +%H%M`
#--- wartosci wpisz w KB (Kilo Bajtach) ---
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0100" -a $godz -lt "0200" ];then
ULR=3
pora=noc
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0200" -a $godz -lt "0700" ];then
ULR=15
pora=noc2
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0700" -a $godz -lt "0900" ];then
ULR=3
pora=ranek
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0900" -a $godz -lt "1600" ];then
ULR=2
pora=dzien
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "1600" -a $godz -lt "2200" ];then
ULR=2
pora=wieczor
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "2200" -o $godz -lt "0100" ];then
ULR=2
pora=wieczor2
fi
#------------------------------------------------------------------------------------------------
echo " "
echo " klasa11 "$U1"KB/s max-"$UL1"KB/s - ACK,icmp,dns"
echo " klasa12 "$U2"KB/s max-"$UL2"KB/s - gry, TOS"
echo " klasa13 "$U3"KB/s max-"$UL3"KB/s - skype na wybranym porcie"
echo " klasa14 "$U4"KB/s max-"$UL4"KB/s - 443,ssh"
echo " klasa15 "$U5"KB/s max- "$UL5"KB/s - ftp"
echo " klasa16 "$U6"KB/s max- "$UL6"KB/s - pop3,nntp,smtp"
echo " klasa17 "$U7"KB/s max- "$ULR"KB/s - w/g ipp2p"
echo " klasa18 "$U8"KB/s max- "$ULR"KB/s - RESZTA niechcianego ruchu"
echo "--------------------------"
echo " imq2 UL-"$UL""KB/s
echo "--------------------------"
########################################
# ---- tworzy lancuch ------------
$i -t mangle -N znaczniki
#----- Odowolanie do lancucha-----
$i -t mangle -I PREROUTING -j znaczniki
########################################
# ---- tworzy lancuch ------------
$i -t mangle -N cel
#----- Odowolanie do lancucha-----
$i -t mangle -A POSTROUTING -j cel
#######################################
# markowanie okreslonych pakietow
$i -t mangle -A znaczniki -j CONNMARK --restore-mark
# akceptuje pakiety juz zamarkowane (omija niceshapera i nie pokazuje uploadu)
# $i -t mangle -A znaczniki -m mark ! --mark 0x0 -j ACCEPT
# kasuje plik tymczasowy
rm $TMP &>/dev/null
# wycina komentarze (zaczynajace sie od #) z pliku hosts
sed -e '/^#/d' $HOSTS > $TMP
# petla odczytujaca IP hosta z pliku hosts.tmp
for IP in `cat $TMP`;do
#--------!80
# markowanie okreslonych pakietow od uzytkownika (polaczeniowe)
$i -t mangle -A znaczniki -p tcp -s $IP --dport ! 80 -j MARK --set-mark 0x10004
$i -t mangle -A znaczniki -p udp -s $IP --dport ! 80 -j MARK --set-mark 0x10004
echo $IP
done
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x10004 -j CONNMARK --save-mark
# kierowanie pakietow od uzytkownika, do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x10004 -j IMQ --todev 2
# kasuje plik tymczasowy
rm $TMP &>/dev/null
#--------icmp dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -p icmp -j MARK --set-mark 0x1
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x1 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x1 -j IMQ --todev 2
#--------25 dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -p tcp --dport 25 -j MARK --set-mark 0x10025
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x10025 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x10025 -j IMQ --todev 2
#--------110 dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -p tcp --dport 110 -j MARK --set-mark 0x10110
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x10110 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x10110 -j IMQ --todev 2
#--------119 dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -p tcp --dport 119 -j MARK --set-mark 0x10119
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x10119 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x10119 -j IMQ --todev 2
#--------ipp2p dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -m ipp2p --ipp2p -j MARK --set-mark 0x10999
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x10999 -j IMQ --todev 2
#######################################
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq2 root handle 10:0 htb r2q 1 default 18
# Glowna klasa
$TC class add dev imq2 parent 10:0 classid 10:1 htb rate $((UL*8))kbit ceil $((UL*8))kbit quantum 1500
# podklasy
$TC class add dev imq2 parent 10:1 classid 10:11 htb rate $((U1*8))kbit ceil $((UL1*8))kbit quantum 1500 burst 0k cburst 0k prio 0
$TC class add dev imq2 parent 10:1 classid 10:12 htb rate $((U2*8))kbit ceil $((UL2*8))kbit quantum 1500 burst 0k cburst 0k prio 1
$TC class add dev imq2 parent 10:1 classid 10:13 htb rate $((U3*8))kbit ceil $((UL3*8))kbit quantum 1500 burst 0k cburst 0k prio 2
$TC class add dev imq2 parent 10:1 classid 10:14 htb rate $((U4*8))kbit ceil $((UL4*8))kbit quantum 1500 burst 0k cburst 0k prio 3
$TC class add dev imq2 parent 10:1 classid 10:15 htb rate $((U5*8))kbit ceil $((UL5*8))kbit quantum 1500 burst 0k cburst 0k prio 4
$TC class add dev imq2 parent 10:1 classid 10:16 htb rate $((U6*8))kbit ceil $((UL6*8))kbit quantum 1500 burst 0k cburst 0k prio 5
$TC class add dev imq2 parent 10:1 classid 10:17 htb rate $((U7*8))kbit ceil $((ULR*8))kbit quantum 1500 burst 0k cburst 0k prio 6
$TC class add dev imq2 parent 10:1 classid 10:18 htb rate $((U8*8))kbit ceil $((ULR*8))kbit quantum 1500 burst 0k cburst 0k prio 7
# sprawiedliwy podzial
$TC qdisc add dev imq2 parent 10:11 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:12 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:13 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:14 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:15 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:16 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:17 esfq perturb 20 quantum 1500
$TC qdisc add dev imq2 parent 10:18 esfq perturb 20 quantum 1500
# filtry
#--11
$TC filter add dev imq2 protocol ip prio 0 parent 10:0 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 10:11 # ACK
$TC filter add dev imq2 protocol ip prio 1 parent 10:0 u32 match ip protocol 1 0xff flowid 10:11 #ICMP
$TC filter add dev imq2 protocol ip prio 2 parent 10:0 u32 match ip dport 53 0xffff flowid 10:11 #DNS
#--12
$TC filter add dev imq2 protocol ip prio 0 parent 10:0 u32 match ip dport 27014 0xffff flowid 10:12 #CS
$TC filter add dev imq2 protocol ip prio 0 parent 10:0 u32 match ip dport 27015 0xffff flowid 10:12 #CS
$TC filter add dev imq2 protocol ip prio 0 parent 10:0 u32 match ip dport 27016 0xffff flowid 10:12 #CS
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 27038 0xffff flowid 10:12 #CS
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 27039 0xffff flowid 10:12 #CS
# -- tu mozna dopisac jeszcze jakies porty gier internetowych
$TC filter add dev imq2 protocol ip prio 1 parent 10:0 u32 match ip tos 0x10 0xff flowid 10:12 #TOS
#--13
$TC filter add dev imq2 protocol ip prio 0 parent 10:0 u32 match ip sport 55555 0xffff flowid 10:13 #skype
#--14
$TC filter add dev imq2 protocol ip prio 6 parent 10:0 u32 match ip dport 443 0xffff flowid 10:14 #
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 999 0xffff flowid 10:14 #SSH
#--15
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 20 0xffff flowid 10:15 #ftp
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 21 0xffff flowid 10:15 #ftp
#--16
$TC filter add dev imq2 protocol ip prio 5 parent 10:0 u32 match ip dport 110 0xffff flowid 10:16 #pop3
$TC filter add dev imq2 protocol ip prio 6 parent 10:0 u32 match ip dport 119 0xffff flowid 10:16 #nntp
$TC filter add dev imq2 protocol ip prio 7 parent 10:0 u32 match ip dport 25 0xffff flowid 10:16 #smtp
#--17
$TC filter add dev imq2 protocol ip parent 10:0 handle 0x10999 fw classid 10:17 #ipp2p w/g znacznika
#--18
# ------- RESZTA --klasa 10:18
#---
echo ""
#-----------klasy na imq2
tc class show dev imq2 | grep root
tc class show dev imq2 | grep -v root | sort | nl
#--------------------------------------------------------
# ominiecie przycinania squida przez niceshapera
#--------------------------------------------------------
# przepustowosc interfejsu dla squida w KB (kilo bajtach)
SR=100
# port na ktorym pracuje squid
PORT=3128
echo ""
echo "-------------------------------------------------------------"
echo " przepustowosc interfejsu squida "$SR" KB/s"
echo "-------------------------------------------------------------"
#---markowanie squida----z cache
$i -A cel -t mangle -p tcp -m string --string 'X-Cache: HIT ' -j CONNMARK --set-mark 0x8889
$i -A cel -t mangle -p tcp --sport $PORT -j CONNMARK --restore-mark
# kierowanie pakietow do imq
$i -A cel -t mangle -p tcp -m mark --mark 0x8889 -j IMQ --todev 3
#--------------------------------------------------------
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq3 root handle 20:0 htb r2q 1 default 11
# Glowna klasa
$TC class add dev imq3 parent 20:0 classid 20:1 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1500
# podklasy
$TC class add dev imq3 parent 20:1 classid 20:11 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1500 burst 0k cburst 0k prio 0
# sprawiedliwy podzial
$TC qdisc add dev imq3 parent 20:11 esfq perturb 20 quantum 1500
#-----------klasy na imq3
tc class show dev imq3 | grep root
tc class show dev imq3 | grep -v root | sort | nl
#-------------------------
echo "niceshaper0.6 - start"
/usr/bin/niceshaper0.6 start
#-------------------------
;;
stop)
clear
echo ""
echo " ----------OFF---------- "
echo ""
#-------------------------
/usr/bin/niceshaper0.6 stop
killall niceshaper &>/dev/null
#-------------------------
#---kasuje odwolania
$i -t mangle -D PREROUTING -j znaczniki
#---czysci bałwan jestem w lancuchu
$i -t mangle -F znaczniki
#---kasuje lancuch
$i -t mangle -X znaczniki
#---kasuje odwolania
$i -t mangle -D POSTROUTING -j cel
#---czysci bałwan jestem w lancuchu
$i -t mangle -F cel
#---kasuje lancuch
$i -t mangle -X cel
# usowa bałwan jestem
$TC qdisc del dev imq2 root
$TC qdisc del dev imq3 root
#-- wylacza IMQ --------------------
$if imq0 down &>/dev/null
$if imq1 down &>/dev/null
$if imq2 down &>/dev/null
$if imq3 down &>/dev/null
$if imq4 down &>/dev/null
$if imq5 down &>/dev/null
/sbin/rmmod imq &>/dev/null
#-----------------------------------
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo ""
echo " Uzycie skryptu [ start | stop | restart ] "
echo ""
exit
;;
esac