Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest czwartek, 19 czerwca 2025, 00:36

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 3 ] 
Autor Wiadomość
Post: sobota, 12 kwietnia 2008, 07:37 
Offline
Użytkownik

Rejestracja: niedziela, 8 kwietnia 2007, 15:17
Posty: 383
witam
proszę o sprawdzenie mojego configa od p2p z imq. Ograniczam nim p2p przez ipp2p i l7. Łącze 2Mb/s i 256kb/s upload na ppp0

: [/] [] ()
#!/bin/bash

TC="/sbin/tc"
i="/usr/sbin/iptables"
if=/sbin/ifconfig

#20306-MW-
case "$1" in
start)

#-------------------------------------
# sciezki do plikow
HOSTS=/home/P2P/hosts.p2p
TMP=/home/P2P/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=5 #ack,icmp,dns
U2=5 #gry,tos
U3=3 #skype na jakims porcie (55555)
U4=3 #ssh
U5=3 #ftp
U6=1 #pop3,nntp,smtp
U7=1 #ipp2p
U8=4 #reszta

UL=$[U1+U2+U3+U4+U5+U6+U7+U8]

# maxymalne przydzialy dla uploadu
UL1=$[UL-5] #ack,icmp,dns
UL2=$[UL-5] #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=1
pora=noc
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0200" -a $godz -lt "0700" ];then
ULR=1
pora=noc2
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0700" -a $godz -lt "0900" ];then
ULR=1
pora=ranek
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "0900" -a $godz -lt "1600" ];then
ULR=1
pora=dzien
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "1600" -a $godz -lt "2200" ];then
ULR=1
pora=wieczor
fi
#----Ograniczenie pasma dla p2p w godzinach---------
if [ $godz -ge "2200" -o $godz -lt "0100" ];then
ULR=1
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

#--------7171 dla celej sieci
# markowanie okreslonych pakietow (polaczeniowe)
$i -t mangle -A znaczniki -p tcp --dport 7171 -j MARK --set-mark 0x7171
# zapisanie mark dla reszty pakietow
$i -t mangle -A znaczniki -m mark --mark 0x7171 -j CONNMARK --save-mark
# kierowanie pakietow do imq
$i -t mangle -A cel -o $INET -m mark --mark 0x7171 -j IMQ --todev 4



#--------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

$i -t mangle -A znaczniki -m layer7 --l7proto fasttrack -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark

$i -t mangle -A znaczniki -m layer7 --l7proto ares -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto bittorrent -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto edonkey -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark

$i -t mangle -A znaczniki -m layer7 --l7proto applejuice -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto directconnect -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto gnutella -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto openft -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark

$i -t mangle -A znaczniki -m layer7 --l7proto mute -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark


$i -t mangle -A znaczniki -m layer7 --l7proto imesh -j MARK --set-mark 0x10999
$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark

#$i -t mangle -A PREROUTING -p tcp --dport 2001:65535 -s 192.168.0.0/23 -j MARK --set-mark 0x10999
#$i -t mangle -A znaczniki -m mark --mark 0x10999 -j CONNMARK --save-mark

##################kieruje p2p do imq 2
$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=900
# port na ktorym pracuje squid
PORT=3123

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 5

#--------------------------------------------------------
# Tworzymy glowna kolejke na interfejsie
$TC qdisc add dev imq5 root handle 20:0 htb r2q 1 default 11
# Glowna klasa
$TC class add dev imq5 parent 20:0 classid 20:1 htb rate $((SR*8))kbit ceil $((SR*8))kbit quantum 1500
# podklasy
$TC class add dev imq5 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 imq5 parent 20:11 esfq perturb 20 quantum 1500

#-----------klasy na imq3
tc class show dev imq5 | grep root
tc class show dev imq5 | grep -v root | sort | nl

#-------------------------
echo "niceshaper - start"
/usr/bin/niceshaper start
#-------------------------

;;
stop)

clear

echo ""
echo " ----------OFF---------- "
echo ""

#-------------------------
/usr/bin/niceshaper 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 imq5 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

_________________
Jeśli post okazał się pomocny kliknij Pomógł
GG: 9822296
Obrazek
Multimo 2Mb


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 12 kwietnia 2008, 07:52 
Offline
Użytkownik

Rejestracja: sobota, 14 maja 2005, 15:07
Posty: 3177
Lokalizacja: Busko-Zdrój
daj pan spokuj ze starociami

_________________
Pomógł? wypij jego zdrowie.
http://nnd-linux.pl/faq.php
http://wiki.nnd.freesco.pl/index.php/FAQ


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 12 kwietnia 2008, 10:02 
Offline
Użytkownik

Rejestracja: niedziela, 8 kwietnia 2007, 15:17
Posty: 383
ale nawet dobrze sie spisuje z niceshaperkiem

_________________
Jeśli post okazał się pomocny kliknij Pomógł
GG: 9822296
Obrazek
Multimo 2Mb


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 3 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl