Traffic Shaper upload control gond !

 ( Anonymous | 2004. június 2., szerda - 10:09 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Sziasztok!

Tovabb kutakodtam es az alabbi felallassal sikerult megoldanom a problemat:

--internet----> eth0 - |LINUX| - eth1 --- WIRELESS--> kliensek

- kernelbe IMQ tamogatas
- iptables foltozas

#modprobe imq numdevs=1
#iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 0
#iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

cbq.init

cbq-1001.download:
DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6.4Kbit
LEAF=sfq
RULE=10.10.10.2/32

cbq-2001.upload:
DEVICE=imq0,10Mbit,1Mbit
RATE=32Kbit
WEIGHT=3.2Kbit
LEAF=sfq
RULE=10.10.10.2/32,

Es ezek a cbq fileok minden felhasznalora elkeszitve.

Kerdesem az lenne, hogy szerintetek a wireless halozat miatt ez a megoldas mennyire hatekony?

BYe:
Geri_

Sziasztok!

Debian woody + 2.4.26 kernel, ezalatt használom a debian shaper csomagot sávszélesség szabályozásra, a letöltést tökéletesen tudom szabályozni, a gond a feltöltéssel van, a dokumentáció szerint a letoltés/feltoltés között ennyi a különbség:

download-nál:

a

RULE=x.x.x.x

upload-nál

a

RULE=x.x.x.x,

és itt a vessző a kulcsfigura a doksi azt írja, hogy a vesszővel jelzett rule-ip cím, annyit jelent, hogy az onnan érkező forgalmat szűkíti. Ennek ellenére nem történi semmi, tehát feltölteni a shaper elindítása után is tudok 100Mbit-el....

az /etc/shaper/cbq-0002.x.x.x.x.upload file-om így néz ki:

DEVICE=eth1,100Mbit,10Mbit
RATE=128Kbit
WEIGHT=12Kbit
PRIO=5
RULE=x.x.x.x,

tc show-al megnézve ezek a szabályok be is állítódnak, de mégsem szűkül az upload írányom.........

valakinek van ötlete ????

Ja a kernel-be minden be van forgatva ami ehhez kell......

Szia!

Sajnos nekem is hasonlo a problemam... :(
Sikerult azota megoldast talalnod?

Bye:
Geri_

Szia!

Igazán nem jutottam elöbbre, mert menet közben beállítottam egy bsd szervert csak erre a célra ( lustaság + időhiány ) ott pedig nagyon egyszerű.

ipfw pipe 1 config bw stb....

Linux tc-vel kapcsolatban pedig van már egy ilyen modul "sch_ingress", na itt van a kutya elásva jó mélyre, arra már rájöttem, hogy a shaper csomag cbq-init scriptje nem igazán nyerő, a biztos megoldást a tc kézzel konfigurálása eredményezheti.

egyébbként itt van egy nagyon jó doksi: http://lartc.org

Hali!

Debian alatt én a shaperd/ipqueue párost használom, jól működik. Ami kell hozzá:
- kernelben: ip_queue nevű IPtables modul
- shaperd csomag
Létre kell hozni egy virtuális hálózati kártyát (nálam eth0:1), ennek adni egy fix IP-t, aztán azt a forgalmat, amit korlátozni akarsz, átnyomod ezen a kártyán.

/etc/shaperd.conf

[code:1:2d256ee778]
log level = info
packet forwarding = ipq
daemon = yes
pidfile = /var/run/shaperd.pid

class all {
ipv4 classifier proto=all
bandwidth = 50 kbyte/s
queue limits = 0 kb 100 packets
}
[/code:1:2d256ee778]

ifconfig

[code:1:2d256ee778]
eth0 Link encap:Ethernet HWaddr 00:02:B3:89:50:3B
inet addr:172.16.1.91 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...

eth0:1 Link encap:Ethernet HWaddr 00:02:B3:89:50:3B
inet addr:172.16.1.92 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:5 Base address:0xd400
[/code:1:2d256ee778]

iptables
[code:1:2d256ee778]
-A INPUT -d 172.16.1.92 -i eth0 -j QUEUE
-A OUTPUT -s 172.16.1.92 -o eth0 -j QUEUE
[/code:1:2d256ee778]

A rendszer egyébként Sarge.

Üdv,
MantaRay

[quote:34008c43d2="MantaRay"]
Létre kell hozni egy virtuális hálózati kártyát (nálam eth0:1), ennek adni egy fix IP-t, aztán azt a forgalmat, amit korlátozni akarsz, átnyomod ezen a kártyán. [/quote:34008c43d2]

es ez a konfigodban hol jelentkezik? miert van szukseg a virtualis interface-re?

Frank

nekem a kovetkezo a konfigom, de abszolut figyelmen kivul hagyja, ugyanugy a teljes savszelesseggel toltok lefele.

192.168.1.3 gateway, ahol ppp0 = 1.5 Mb/s ADSL, eth1= local interface
az 192.168.1.66 http letolteseit szeretnem shapelni.

shaperd.conf

[quote:49ee964c7d]
log level = info
packet forwarding = ipq
daemon = yes
pidfile = /var/run/shaperd.pid

class frank_down {
bandwidth = 20 kbyte/s
ipv4 classifier prio=0 proto=tcp \
inp_if=ppp0 sport=http \
out_if=eth1 daddr=192.168.1.66/255.255.255.255
queue limits = 0 kb 100 packets
}
[/quote:49ee964c7d]

iptables queue modulja be van toltve, valamint hozzaadva a kovetkezo szabaly:

[quote:49ee964c7d]
iptables -A INPUT -d 192.168.1.66 -i ppp0 -j QUEUE
[/quote:49ee964c7d]

probaltam mar global szabalyokkal is, mint

[quote:49ee964c7d]
class frank_down {
bandwidth = 20 kbyte/s
ipv4 classifier prio=0 proto=tcp \
inp_if=ppp0 sport=http \
queue limits = 0 kb 100 packets
}

es

iptables -A INPUT -s ftp.fsn.hu (minket ipje) -i ppp0 -j QUEUE
[/quote:49ee964c7d]

de semmi hatas.

Frank

[quote:df5b566670="frank"]
es ez a konfigodban hol jelentkezik? miert van szukseg a virtualis interface-re?
Frank[/quote:df5b566670]

Azért volt szükség a másik kártyára, mert így egyszerűbb volt a tűzfalat beállítani. A gép mail/ftp serverként működik, viszont belső hálóról nem akartam lekorlátozni, csak kívülről. Meg lehet oldani virtuális kártya nélkül is, de nekem így jóval áttekinthetőbb. :)

A konfigban pedig csak mint eth0:1 jelentkezik, /etc/network/interfaces file-ban van megadva.

Üdv,
MantaRay

Azt még kihagytam, hogy előtte csücsül egy tűzfal-gép, ami forwardnál a gép virtuális hálókártyájára tolja a forgalmat, ha az megadott külső IP-re érkezik.

MantaRay

Hali!

[code:1:e702e7e1db]
class frank_down {
bandwidth = 20 kbyte/s
ipv4 classifier prio=0 proto=tcp \
inp_if=ppp0 sport=http \
out_if=eth1 daddr=192.168.1.66/255.255.255.255
queue limits = 0 kb 100 packets
}
[/code:1:e702e7e1db]

Biztos, hogy a 255.255.255.255 jó? Nem 255.255.255.0 ?

[code:1:e702e7e1db]
iptables -A INPUT -d 192.168.1.66 -i ppp0 -j QUEUE
[/code:1:e702e7e1db]

Próbáld meg ppp0 helyett az eth0-t (ha ez a külső lába) megadni.

[code:1:e702e7e1db]
class frank_down {
bandwidth = 20 kbyte/s
ipv4 classifier prio=0 proto=tcp \
inp_if=ppp0 sport=http \
queue limits = 0 kb 100 packets
}
[/code:1:e702e7e1db]

Nem tudom, van-e más class megadva nálad, de ha nincs, akkor "frank_down" helyett legyen "all". Így mindent korlátoznia kell. Legalább kiderül, hogy működik-e.

Üdv,
MantaRay

Nekem csak az a bajom ezzel, hogy hiába állítom be a
RATE=32Kbit /ami ugye a forgalmat 128kbit-re csökkenti ami kb 4 kByte/sec....ehelyett nekem jóval többet enged.
Speckó most 114 kByte/sec.

Most akkor mi van?

DEVICE=eth1,100Mbit,10Mbit
RATE=32kbit
WEIGHT=3kbit
PRIO=5
RULE=192.168.X.X

Valamit elnéztem??

Elég régi a szál, de nekem most kellett a sávszélesség szabályozással foglalkoznom.
Sok programot kipróbáltam, feltétel volt, IP tudjak szűrni, így a wondershaper alapból kiesett.
Aztán próbáltam sorban a shaperd-t (patchelni kellett volna a kernelt hozzá, ha jól vettem ki a logokból, ezt nem akartam), shaper-t (letöltésre működött, feltöltésre nem). Aztán kiderült, hogy mivel natolás is van, ezért nem működik feltöltésre a limitálás. De utána találtam egy oldalt, ami épp ilyen esetre készült.
http://www.roback.cc/howtos/bandwidth.php

Ezzel sikerült elérnem azt, ami nekem feltétel volt.
Remélem tudtam néhány embernek segíteni ezzel a posttal.

üdv,
spymorass