Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-04-06 21:31:23

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

IMQ

Witam

mam taki skrypt:

Kod:

#!/bin/bash

ifc_zew="eth0"
komputer1="192.168.11.10/16"
komputer2="192.168.11.12/16"
komputer3="192.168.2.4/24"
max_upload="128kbit"
upload_user="50kbit"
upload_serv="90kbit"
max_download="510kbit"
download_user="127kbit"
download_serv="256kbit"
########## Upload ##########
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb default 10
tc class  add dev imq0 parent 1: classid 1:1 htb rate $max_upload ceil $max_upload
tc class  add dev imq0 parent 1:1 classid 1:10 htb rate $upload_serv ceil $max_upload
tc class  add dev imq0 parent 1:1 classid 1:20 htb rate $upload_user ceil $max_upload
tc class  add dev imq0 parent 1:1 classid 1:30 htb rate $upload_user ceil $max_upload
tc class  add dev imq0 parent 1:1 classid 1:40 htb rate $upload_user ceil $max_upload
tc filter  add dev imq0 parent 1: protocol ip prio 1 u32 match ip src $komputer1 flowid 1:20
tc filter  add dev imq0 parent 1: protocol ip prio 1 u32 match ip src $komputer2 flowid 1:30
tc filter  add dev imq0 parent 1: protocol ip prio 1 u32 match ip src $komputer3 flowid 1:40

tc qdisc  add dev imq0 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc  add dev imq0 parent 1:20 handle 20:0 sfq perturb 10
tc qdisc  add dev imq0 parent 1:30 handle 30:0 sfq perturb 10
tc qdisc  add dev imq0 parent 1:40 handle 40:0 sfq perturb 10

iptables -t mangle -A POSTROUTING -o $ifc_zew -j IMQ --todev 0
########## Download ##########
ip link set imq1 up
tc qdisc del dev imq1 root
tc qdisc add dev imq1 root handle 1: htb default 10
tc class add dev  imq1 parent 1: classid 1:1 htb rate $max_download ceil $max_download
tc class add dev  imq1 parent 1:1 classid 1:10 htb rate $download_serv ceil $max_download  burst 5k
tc class add dev  imq1 parent 1:1 classid 1:20 htb rate $download_user ceil $max_download  burst 5k
tc class add dev  imq1 parent 1:1 classid 1:30 htb rate $download_user ceil $max_download  burst 5k
tc class add dev  imq1 parent 1:1 classid 1:40 htb rate $download_user ceil $max_download  burst 5k
tc filter  add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst $komputer1 flowid  1:20
tc filter  add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst $komputer2 flowid  1:30
tc filter  add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst $komputer3 flowid  1:40
tc qdisc  add dev imq1 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc  add dev imq1 parent 1:20 handle 20:0 sfq perturb 10
tc qdisc  add dev imq1 parent 1:30 handle 30:0 sfq perturb 10
tc qdisc  add dev imq1 parent 1:40 handle 40:0 sfq perturb 10
iptables -t mangle -A PREROUTING -i $ifc_zew -j IMQ --todev 1

Dzieli on dobrze ale chciałbym dołożyć do niego jeszcze priorytety na usługi ssh http https pop3 smtp
Znalazłem coś takiego:

Kod:

#!/bin/bash
ifc_zew="eth0"
max_upload="60kbit"
up_others="5kbit"
up_ssh="15kbit"
up_http="20kbit"
up_ftp="20kbit"
max_download="250kbit"
down_others="10kbit"
down_ssh="40kbit"
down_http="100kbit"
down_ftp="100kbit"
########## Upload ##########
ip link set imq0 up
tc qdisc add dev imq0 root handle 1: htb default 10
tc class  add  dev  imq0  parent  1: classid 1:1 htb rate $max_upload ceil $max_upload
tc class  add  dev  imq0  parent  1:1 classid 1:10 htb rate $up_others ceil $max_upload
tc class  add  dev  imq0  parent  1:1 classid 1:20 htb rate $up_ssh ceil $max_upload
tc class  add  dev  imq0  parent  1:1 classid 1:30 htb rate $up_http ceil $max_upload
tc class  add  dev  imq0  parent  1:1 classid 1:40 htb rate $up_ftp ceil $max_upload
tc filter  add  dev  imq0  parent  1: protocol ip prio 10 handle 100 fw classid 1:10
tc filter  add  dev  imq0  parent  1: protocol ip prio 1 handle 200 fw classid 1:20
tc filter  add  dev  imq0  parent  1: protocol ip prio 1 handle 300 fw classid 1:30
tc filter  add  dev  imq0  parent  1: protocol ip prio 1 handle 400 fw classid 1:40
tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:30 handle 30:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:40 handle 40:0 sfq perturb 10
iptables -t mangle -A POSTROUTING -m layer7 --l7proto ssh -j MARK --set-mark 200
iptables -t mangle -A POSTROUTING -m layer7 --l7proto http -j MARK --set-mark 300
iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 400
iptables -t mangle -A POSTROUTING -o $ifc_zew -j IMQ --todev 0
########## Download ##########
ip link set imq1 up
tc qdisc add dev imq1 root handle 1: htb default 10
tc class add dev imq1 parent 1: classid 1:1 htb rate $max_download ceil $max_download
tc class add dev imq1 parent 1:1 classid 1:10 htb rate $down_others ceil $max_download
tc class add dev imq1 parent 1:1 classid 1:20 htb rate $down_ssh ceil $max_download
tc class add dev imq1 parent 1:1 classid 1:30 htb rate $down_http ceil $max_download
tc class add dev imq1 parent 1:1 classid 1:40 htb rate $down_ftp ceil $max_download

tc filter  add  dev  imq1  parent  1:  protocol  ip  prio  10 handle 100 fw classid 1:10
tc filter  add  dev  imq1  parent  1:  protocol  ip  prio 1 handle 200 fw classid 1:20
tc filter  add  dev  imq1  parent  1:  protocol  ip  prio 1 handle 300 fw classid 1:30
tc filter  add  dev  imq1  parent  1:  protocol  ip  prio 1 handle 400 fw classid 1:40
tc qdisc  add  dev  imq1  parent  1:10  handle  10:0  sfq perturb 10
tc qdisc  add  dev  imq1  parent  1:20  handle  20:0  sfq perturb 10
tc qdisc  add  dev  imq1  parent  1:30  handle  30:0  sfq perturb 10
tc qdisc  add  dev  imq1  parent  1:40  handle  40:0  sfq perturb 10

                                    
iptables -t mangle -A PREROUTING -m layer7 --l7proto ssh -j MARK --set-mark 200
iptables -t mangle -A PREROUTING -m layer7 --l7proto http -j MARK --set-mark 300
iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark 400
iptables -t mangle -A PREROUTING -i $ifc_zew -j IMQ --todev 1

wie ktoś jak to połączyć, a moze ma ktoś inne rozwiązanie.

Offline

 

#2  2009-04-07 08:08:48

  siarka2107 - Użyszkodnik DUG

siarka2107
Użyszkodnik DUG
Skąd: Warszawa
Zarejestrowany: 2006-04-05

Re: IMQ

tutaj masz pokazane jak porobić priorytety na rurce usera, na hfsc ale kwestia przerobienia tego na htb to chwila, zamiast rt czy sc dajesz prio i po sprawie

Offline

 

#3  2009-04-07 19:17:30

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: IMQ

Doradz jeszcze lepiej htb czy hfsc? Przerabiać czy zostawić tak jak jest?

Offline

 

#4  2009-04-08 09:33:09

  siarka2107 - Użyszkodnik DUG

siarka2107
Użyszkodnik DUG
Skąd: Warszawa
Zarejestrowany: 2006-04-05

Re: IMQ

to już tylko i wyłącznie twój wybór, jedni chwalą htb inni hfsc, poeksperymentuj troche, może htb na download a hfsc na upload :P

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)