to ja moze wrzuce wszystkie moje konfigi... PS napisze tylko ze ppp0 to moje wyjscie na internet, a eth0 na siec LAN
N poczatek imq_p2p:
#!/bin/bash
# shape_p2p
ECHO="/bin/echo"
MODUL="/sbin/modprobe"
TC="/sbin/tc"
i="/usr/sbin/iptables"
case "$1" in
start)
$ECHO ""
$ECHO " Kolejkowanie P2P ----ON---- "
$ECHO ""
ul=0
dl=0 #zerowanie
godz=`date +%H%M`
if [ $godz -ge "0100" -a $godz -lt "0700" ];then
ul=130 # 15KB
dl=454 # 50KB
pora=noc
fi
if [ $godz -ge "0700" -a $godz -lt "1600" ];then
ul=130 # 10KB
dl=454 # 15KB
pora=ranek
fi
if [ $godz -ge "1600" -a $godz -lt "2300" ];then
ul=130 # 2KB
dl=454 # 5KB
pora=dzien
fi
if [ $godz -ge "2300" -o $godz -lt "0100" ];then
ul=130 # 2KB
dl=454 # 5KB
pora=wieczor
fi
echo " "
echo "---------------------------------------"
echo " "$pora" UL-"$((ul/8))""KB/s" DL-"$((dl/8))"KB/s"
echo " "$ul"kbit "$dl"kbit"
echo "---------------------------------------"
$i -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark
$i -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
$i -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 0x999
$i -t mangle -A PREROUTING -m ipp2p --ipp2p-data -j MARK --set-mark 0x999
$i -t mangle -A PREROUTING -p tcp -m mark --mark 0x999 -j CONNMARK --save-mark
$i -t mangle -A POSTROUTING -o ppp0 -m mark --mark 0x999 -j IMQ --todev 2
$i -t mangle -A POSTROUTING -o eth0 -m mark --mark 0x999 -j IMQ --todev 3
$TC qdisc add dev imq2 root handle 4:0 htb default 103 r2q 1
$TC qdisc add dev imq3 root handle 5:0 htb default 103 r2q 1
$TC class add dev imq2 parent 4:0 classid 4:1 htb rate $((ul/1))kbit burst 6k cburst 3k
$TC class add dev imq3 parent 5:0 classid 5:1 htb rate $((dl/1))kbit burst 6k cburst 3k
#ul
$TC class add dev imq2 parent 4:1 classid 4:101 htb rate 1kbit ceil ${ul}kbit quantum 1500 burst 0k cburst 0k prio 7
$TC filter add dev imq2 parent 4:0 protocol ip prio 7 handle 0x999 fw classid 4:101
$TC qdisc add dev imq2 parent 4:101 sfq perturb 16 quantum 1500
#dl
$TC class add dev imq3 parent 5:1 classid 5:101 htb rate 1kbit ceil ${dl}kbit quantum 1500 burst 0k cburst 0k prio 7
$TC filter add dev imq3 parent 5:0 protocol ip prio 7 handle 0x999 fw classid 5:101
$TC qdisc add dev imq3 parent 5:101 sfq perturb 16 quantum 1500
################################## ---p2p-- rozwala upload niceshapera - restartuj----
sleep 2
/usr/bin/niceshaper0.6 stop
sleep 5
/usr/bin/niceshaper0.6 start
################################## -------------- restart niceshapera! ---------------
#
;;
stop)
#
$ECHO ""
$ECHO " Kolejkowanie P2P ----OFF---- "
$ECHO ""
#
iptables -t mangle -D PREROUTING -p tcp -j CONNMARK --restore-mark
iptables -t mangle -D PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT
iptables -t mangle -D PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 0x999
iptables -t mangle -D PREROUTING -m ipp2p --ipp2p-data -j MARK --set-mark 0x999
iptables -t mangle -D PREROUTING -p tcp -m mark --mark 0x999 -j CONNMARK --save-mark
iptables -t mangle -D POSTROUTING -o ppp0 -m mark --mark 0x999 -j IMQ --todev 2
iptables -t mangle -D POSTROUTING -o eth0 -m mark --mark 0x999 -j IMQ --todev 3
$TC qdisc del dev imq2 root
$TC qdisc del dev imq3 root
#
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
$ECHO ""
$ECHO " U¿ycie kolejkowanie P2P [ start | stop | restart ] "
$ECHO ""
exit
;;
esac
nie bardzo wiem jak dobrac predkosci wiec ustawilem na poczatek takie wartosci jak wyzej...
A oto plik konfiguracyjny niceshapera0.6:
<global>
run download upload
support mark on ppp0
method imq
stats unit kb/s file none # owner root group root mode 644
</global>
<download>
iface eth0 match dstip 192.168.0.0/24
iface eth0 match dstip 192.168.1.0/24
section speed 256kB/s
section shape 190kB/s
default low 4kB/s
default ceil 190kB/s
default htb-prio 5
default overtake 30kB/s
default hold 30s
default htb-scheduler sfq
# default scheduler sfq
# debug iptables iproute
mode download
reload 3s
</download>
<upload>
iface ppp0 match srcip 192.168.0.0/24
iface ppp0 match srcip 192.168.1.0/24
section speed 56kB/s
section shape 42kB/s
default low 3kB/s
default ceil 42kB/s
default htb-prio 5
default overtake 4kB/s
default hold 30s
default htb-scheduler sfq
# default scheduler sfq
# debug iptables iproute
mode upload
reload 3s
</upload>
zauwazcie ze w globalu dodalem sobie takie cos jak "method imq" a w ogole nie mam pojecia czy to tam powinno byc i czy to cos w ogole daje

P
Dodam tez ze odhaszowanie "# default scheduler sfq" nie dziala u mnie

nice nie odpala sie wiec albo cos nie gra albo bledna komenda :]
a tutaj konfig pliku class:
#class download ppp0 ftp
# match from localhost srcip 192.168.1.1 dstip 192.168.1.0/24
# do-not-shape
#class upload eth0 ftp
# match to localhost srcip 192.168.1.0/24 dstip 192.168.1.1
# do-not-shape
class download eth0 Moj
match dstip 192.168.1.10
low 16kB/s
ceil 64kB/s
class upload ppp0 Moj
match srcip 192.168.1.10
low 6kB/s
ceil 16kB/s
class download eth0 Mateja
match dstip 192.168.1.11
low 16kB/s
ceil 64kB/s
class upload ppp0 Mateja
match srcip 192.168.1.11
low 6kB/s
ceil 16kB/s
class download eth0 Romek
match dstip 192.168.1.12
low 16kB/s
ceil 64kB/s
class upload ppp0 Romek
match srcip 192.168.1.12
low 6kB/s
ceil 16kB/s
------------------------------------------------------
To cos:
hx pisze:
bardziej mnie martwi to
Quit download instance...
Quit upload instance...
Quit global instance...
waiting...
done!
Pokazuje sie takze po samym zrestartowaniu niceshapera wiec w nim gdzies cos nie bardzo gra

************************************
PS. w sprawie tego:
Cytuj:
iptables v1.3.4: Unknown arg `--ipp2p-data'
Try `iptables -h' or 'iptables --help' for more information.
... to wina Firewalla!!! W momencie gdy wlacze blokade p2p w wybranych godzinach i restartu serwera wyskakuje dokladnie ten komunikat podczas restartu!!! Wiec ktos cos na ten temat???