Do ograniczenia czasowego zrobiłem taki skrypt
Cytuj:
#!/bin/bash
# shape_p2p
ECHO="/bin/echo"
MODUL="/sbin/modprobe"
TC="/sbin/tc"
i="/usr/sbin/iptables"
case "$1" in
start)
godz=`date +%H%M`
if [ $godz -ge "0900" -a $godz -lt "2300" ];then
ul=1
dl=1 # dzien
elif [ $godz -ge "2300" -a $godz -lt "0100" ];then
ul=30
dl=30 # wieczor
elif [ $godz -ge "0100" -o $godz -lt "0600" ];then
ul=128
dl=128 # noc
elif [ $godz -ge "0600" -o $godz -lt "0900" ];then
ul=30
dl=30 # ranek
fi
$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 eth0 -m mark --mark 0x999 -j IMQ --todev 0
$i -t mangle -A POSTROUTING -o eth1 -m mark --mark 0x999 -j IMQ --todev 1
$ECHO ""
$ECHO " Kolejkowanie P2P wł?czone "
$ECHO ""
$TC qdisc add dev imq0 root handle 4:0 htb default 103 r2q 1
$TC qdisc add dev imq1 root handle 5:0 htb default 103 r2q 1
$TC class add dev imq0 parent 4:0 classid 4:1 htb rate 152kbit burst 6k cburst 3k
$TC class add dev imq1 parent 5:0 classid 5:1 htb rate 152kbit burst 6k cburst 3k
#ul
$TC class add dev imq0 parent 4:1 classid 4:101 htb rate 8kbit ceil ${ul}kbit quantum 1500 burst 0k cburst 0k prio 7
$TC filter add dev imq0 parent 4:0 protocol ip prio 7 handle 0x999 fw classid 4:101
$TC qdisc add dev imq0 parent 4:101 sfq perturb 16 quantum 1500
#dl
$TC class add dev imq1 parent 5:1 classid 5:101 htb rate 8kbit ceil ${dl}kbit quantum 1500 burst 0k cburst 0k prio 7
$TC filter add dev imq1 parent 5:0 protocol ip prio 7 handle 0x999 fw classid 5:101
$TC qdisc add dev imq1 parent 5:101 sfq perturb 16 quantum 1500
#
;;
stop)
#
$ECHO ""
$ECHO " Kolejkowanie P2P wył?czone "
$ECHO ""
#
$TC qdisc del dev imq0 root
$TC qdisc del dev imq1 root
#
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
$ECHO ""
$ECHO " Użycie kolejkowanie P2P [ start | stop | restart ] "
$ECHO ""
exit
;;
esac
interfejsy imq są uruchomione, od 9.00 do 23.00 jest na firewallu p2p zablokowane
w cronie jest wpis
Cytuj:
0 1,6,9,23 * * * /etc/htb restart >>/dev/null
Część wpisów zaczerpnąłem z rcchtb 0.22 zciecha
Tylko jest problem, od 23.00 ogranicza do 128 kb/s a nie jak powinien do 30 kb/s. Proszę o pomoc, bo już nie wiem co robić