Sávszélesség szűkítés

Fórumok

Sávszélesség szűkítés

Hozzászólások

Üdvözlet.
Látom volt már szó a dologról, de mivel az eddigi hozzászólások segítségével nem sikerült megoldást találnom, ezért inkább nyitok egy új témát.
A segítségeteket szeretném kérni. Egy olyan rendszert kéne beüzemelnem, ahol egy Linux-os gép adja a netet kb. 30 darab win98-as kliensnek (forwarding és masquerading - a belső háló eth0-n van, az internet meg eth1). A windowsos gépeken a userek természetesen hajlamosak önző módon pazarolni a sávszélességet így le kéne korlátozni őket (ip vagy mac address alapján), hogy a teljes sávszélességnek csak egy részét használhassák. Minden géphez külön kéne beállítani a rendelkezésre álló sávszélességet, hogy némelyik kisebb, mások nagyobb szeletet kapjanak, és esetleg jó lenne némi adatforgalom-mennyiség figyelés is.
Dokumentációt találtam rengeteget, de mivel sosem foglalkoztam még ilyesmivel, nem sikerült megoldanom a dolgot, az idő meg ugye sürget.
Kérem, ha valaki csinált már hasonlót ossza meg velem a tapasztalatait.
Előre is köszönöm.

tapasztalat:

en mar csinaltam, tok jol megy.

http://tldp.fsf.hu/HOWTO/ADSL-Bandwidth-Management-HOWTO-hu/index.html

én ezt használnám, ez alapján kezdd el, és ha vmi _konkrétan_ nem megy, akkor írj :wink:

http://www.knowplace.org/shaper/index.html

HTB qdisc-et javaslom, ilyen modon

root max savszel-10% = e
|
|---- IP1 min=e/gepek szama max=e
|---- IP2 min=e/gepek szama max=e
|---- IP3 min=e/gepek szama max=e

tenyleg kicsit utana kell olvasni, de messze nem lehetetlen.
pecselk kernelt es hasznalj classify-t + iptablest az osztalyokba sorolashoz.

En nem hasznaltam tcng-t, tc-vel is jol elboldogultam.

Ez a traffic shaping, a masik az ip accounting amire szukseged van.
Ha csak a pillanatnyi ertekek/napi statisztikak kellenek, akkor egyertelmuen ntop-ra van szukseged, hosszu tavu statisztikakra meg nem talaltam igazan egyszeru es elegans megoldast.
per/pill az iptables loggolo reszet hasznalom + 1 sajat szkriptet.
Ha nagyon nem megy telefonon vagy szemelyesen is szivesen elmondom az egesz procedurat, de szvsz a fenti howtobol meg lehet erteni.

Köszönöm a válaszokat, nagyjából sikerült is megértenem a dolgot, majdhogynem működik is.
Egy problémát viszont több órás szenvedéssel sem sikerült megoldanom:
íme egy szkript a traffic shaperhez:
[code:1:e1bb79f872]
#!/bin/sh
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root

tc qdisc add dev eth1 root handle 1 cbq bandwidth 768kbit avpkt 1000 cell 8
tc class change dev eth1 root cbq weight 8kbit allot 1514

tc class add dev eth1 parent 1: classid 1:10 cbq bandwidth 768Kbit rate 10Kbit weight 1kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth1 parent 1: classid 1:20 cbq bandwidth 768Kbit rate 20Kbit weight 2kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth1 parent 1:10 handle 10 tbf rate 10kbit buffer 10Kb/8 limit 15Kb mtu 1500
tc qdisc add dev eth1 parent 1:20 handle 20 tbf rate 20kbit buffer 10Kb/8 limit 15Kb mtu 1500
tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 22 fw classid 1:10
[/code:1:e1bb79f872]
és az iptables szkript idevágó része:
[code:1:e1bb79f872]
$IPT -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT
$IPT -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT
$IPT -t nat -A POSTROUTING -o eth1 -j MASQUERADE
$IPT -t mangle -A POSTROUTING -j MARK --set-mark 22
[/code:1:e1bb79f872]
A gond az, hogy nem működik, olyan mintha a csomagok át se mennének a shaperen. Próbaként átírtam az eth1-et eth0-ra (a belső háló felé néző címre) és úgy meg működött. De hát ugye ez így mégse jó.
Mi lehet itt a probléma?

megjegyzes: en a helyedben cbq helyett htb-t hasznalnek.
Ez a tbf cbq keveres nem tunik tul egyszerunek... (szamomra)

Es a csomagok szortirozasat is egyszerubb es kovethetobb az iptables CLASSIFY opciojaval vegezni.

az iptables reszen nem latom, hogy szurnel halokartyara, minden csomagot ugyanugy cimkezel?

A konfigbol elso pillantasra ugy latom el kene alaposabban olvasnod a fent irt linket. (nekem is tobbszor neki kellett futnom!)

a htb honlap is jo olvasmany:
http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

Amig nem erted teljesen hogy mukodik NE kezdj konfigolni!

[quote:7a1626aae1="nug"]megjegyzes: en a helyedben cbq helyett htb-t hasznalnek.
Es a csomagok szortirozasat is egyszerubb es kovethetobb az iptables CLASSIFY opciojaval vegezni.

az iptables reszen nem latom, hogy szurnel halokartyara, minden csomagot ugyanugy cimkezel?

Csak azért választottam a cbq-t mert ahhoz találtam több dokumentációt.
A címkézés meg azért ilyen egyszerű, mert először csak látni akarom, hogy működik és korlátozza a sávszélességet, ahogy kell, aztán finomítom a dolgot. A gond az, hogy még nem működik. Legalábbis a külső interfészen...

egyaltalan magadnal tartod a buffert? 768 helyett nem 768-10szazalek kene?

Ha adsl-ed van nem a ppp deviceon kene shapelni? (nem tudom csak tipp)

a htb korszerubb mint a cbq

figyelj arra, hogy a belso halokartyan kell shapelni a kivulrol jovo forgalmat!

figyelj arra, hogy a belso halokartyan kell shapelni a kivulrol jovo forgalmat!

Ez az amit nem igazán értek. (egyébként nem adsl hanem chello). Van az eth0, ami a belső háló felé néz és az eth1, ami kifelé. Most akkor az eth0-t kell shapelnem??

[quote:92ee9a77a4="willothewisp"]

figyelj arra, hogy a belso halokartyan kell shapelni a kivulrol jovo forgalmat!

Ez az amit nem igazán értek. (egyébként nem adsl hanem chello). Van az eth0, ami a belső háló felé néz és az eth1, ami kifelé. Most akkor az eth0-t kell shapelnem??

Csak outbound connectiont tudsz shapelni = csak azt tudod shapelni, ami kifele megye a gepedrol!
Igy logikus, hogy a kivulrol jovo forgalmat a belul nezo halokartyan kell shapelned.
A belulrol jovot pedig a kulso halokartyan.

Remelem igy ertheto.

Megint megértettem valamit. Köszönöm.