Czy może ktoś napisać w jaki sposób uruchomić oddzielne pasmo dla p2p.
Z pewnością wielu adminów sieci by się ucieszyło.
Jest kilka postów na forum ale piszecie fachowym językiem a nie każdy jest tak zaawansowany.
Uruchomiłem ten skrypt i efekt jest taki iż przycina p2p prawie do 0
program np emule w ogóle się nie łączy.
Co trzeba jeszcze skonfigurować jakieś klasy priorytetowe czy wystarczy tylko uruchomić ten plik i działa.
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 "1000" ];then
ul=1
dl=1 # dzien
elif [ $godz -ge "2157" -a $godz -lt "2230" ];then
ul=20
dl=20 # wieczor
elif [ $godz -ge "0100" -o $godz -lt "0600" ];then
ul=20
dl=20 # 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 20kbit 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 20kbit 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 " Uycie kolejkowanie P2P [ start | stop | restart ] "
$ECHO ""
exit
;;
esac