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  2006-11-02 23:03:41

  acdiuna - Nowy użytkownik

acdiuna
Nowy użytkownik
Zarejestrowany: 2006-07-06

Limitowanie uploadu na IMQ

Witam wszystkich
To mój pierwszy post na tym forum więc proszę o wyrozumiałość gdybym palną jakąś gafę.
Na tym forum jest wiele extra opisów i porad dla kogoś takiego jak ja bo z Debianem mam do czynienie dopiero kilka miesięcy dlatego często przegloądam to forum.
Do rzeczy mam zainstalowanego debiana na którym dzielę DSL'a 2Mbit jądro (2.6.14) jest skonfigurwane wg. opisu z www.inet.one.pl wszystko jest ok oprucz uploadu na IMQ. Po napisaniu regułek zrobiłem test ograniczając upload dla każdego IP na 10kB i wysyłając meila sprawdzałem transfer iptrafem. Wszystko jest ok cały czas upload trzymał się na 10 kB więc przekonany byłem że będzie tak cały czas ale okazało się że jak ktoś ma włączonego klienta p2p np: bittorrent to ograniczenie uploadu nie działa tak jak powinno poprostu zapycha cały upload 32kB. Przy stanie mojej wiedzy nie bardzo wiem gdzie jest nieścisłość co zrobiłem źle ? Czytając tematy na ten temat wynika że powinno działąć i ograniczać upload a tak nie jest.

######Tak wygląda uplad#######

iptables="/usr/local/sbin/iptables"

LAN="eth0"
DSL="eth1"
MIN="12.8kbit"

ip link set imq0 up

tc qdisc del root dev imq0 2> /dev/null
tc qdisc add dev imq0 root handle 10:0 htb

tc class add dev imq0 parent 10:0 classid 10:1 htb rate 256kbit ceil 256kbit

tc class add dev imq0 parent 10:1 classid 10:2 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:3 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:4 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:5 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:6 htb rate $MIN ceil 80kbit

tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.3 flowid 10:2
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.4 flowid 10:3
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.5 flowid 10:4
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.6 flowid 10:5
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.7 flowid 10:6

$iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0

#####Tak download######

iptables="/usr/local/sbin/iptables"

LAN="eth0"
DSL="eth1"

tc qdisc del root dev $LAN 2> /dev/null
tc qdisc add dev $LAN root handle 1:0 htb
tc class add dev $LAN parent 1:0 classid 1:1 htb rate 99000kbit ceil 99000kbit quantum 1500

tc class add dev $LAN parent 1:1 classid 1:2 htb rate 2048kbit ceil 2048kbit quantum 1500
tc class add dev $LAN parent 1:1 classid 1:3 htb rate 96952kbit ceil 96952kbit quantum 1500

tc class add dev $LAN parent 1:2 classid 1:4 htb rate 492kbit ceil 800kbit prio 2
tc class add dev $LAN parent 1:2 classid 1:5 htb rate 492kbit ceil 800kbit prio 5
tc class add dev $LAN parent 1:2 classid 1:6 htb rate 492kbit ceil 800kbit prio 3
tc class add dev $LAN parent 1:2 classid 1:7 htb rate 492kbit ceil 800kbit prio 4
tc class add dev $LAN parent 1:2 classid 1:8 htb rate 8kbit ceil 240kbit prio 6

# Wszystko ze squida TOS
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.1.0/24 match ip sport 80 0xffff match ip tos 0 0xff flowid 1:3

# Wszystko z servera
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip src 192.168.1.1 flowid 1:3
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip src 212.244.187.2 flowid 1:3

tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.3 flowid 1:4
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.4 flowid 1:5
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.5 flowid 1:6
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.6 flowid 1:7
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.7 flowid 1:8

Nie wiem czy to wystarczy aby wyciągnąć jakieś wnioski jeżeli coś trzeba dodać to proszę napisać.
Jeżeli coś sknociłem to poradzcie co zmienić.
Dodam że urzytkownikuw jest więcej to jest część regułek resztę usunołem aby zmniejszyć objętość wiadomości.

Offline

 

#2  2006-11-03 21:51:39

  kuchar - Użytkownik

kuchar
Użytkownik
Skąd: Warszawa
Zarejestrowany: 2005-11-16
Serwis

Re: Limitowanie uploadu na IMQ

IMQ zalozyles nie na tym interfejsie, powinienes to zrobic na interfejsie od DSL czyli  eth1
wiec zamiast tego:

$iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0

do uploadu powinno byc tak:

Kod:

$iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 0 

i wtedy powinnienes kierowac pakiety do odpowiednich kolejek nie przez tc filter tylko przez markowanie w iptables, regulka taka by wygladala tak:

Kod:

$iptables -t mangle -A FORWARD -s 192.168.1.3 -j MARK --set-mark 0x2

a wtedy filtry w tc wygladaly by tak

Kod:

tc filter add dev imq0 protocol ip preference 1 parent 1:0 handle 0x2 fw flowid 10:2

zrob sobie IMQ na downloadzie tez caly caly shaper bedzie dzialal znacznie lepiej


Linux Registered User # 406343

Routing protocols enable routers to route routed protocols :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)