Szelektív sávszélesség korlátozás

Sziasztok!

Olyan igényem lenne, hogy az Internetre irányuló/onnan érkező sávszélességet limitálni.
Csak úgy limitálni már sikerült Shorewall-al is, de az a teljes interface-t megfogta, a hálón belül pedig nem jó a 100kb...
A konfig: ADSL modem + router, a gépek lógnak rajta (nincs külön routeres gép).

Tehát valami olyasmi kellene, hogy a 192.168.1.0/24-en nincs szűrés, minden más pedig limittel megy (fel és le is).

Kösz,
GT

Hozzászólások

iptables -t mangle -A PREROUTING -o eth1 -s 192.168.1.0/24 -j ACCEPT
iptables -t mangle -A PREROUTING -o eth1 -j MARK --set-mark 123

tc qdisc add dev eth1 root handle 1:0 htb
tc class add dev eth1 parent 1:0 classid 1:123 htb rate 1234kbps ceil 1234kbps burst 3k prio 20
tc filter add dev eth1 parent 1:0 protocol ip prio 123 handle 123 fw flowid 1:123

(meg kb ugyanilyen varázslat a másik irányba menő interface-en is)

Hasonló problémám van. Egy SMC router csatlakozik az ADSL modemen keresztül és osztja szét a netet 4 gép között. Azt szeretném megoldani, hogy az egyik gépen a sebesség az internet irányába sose menjen 3200kbps/300kbps fölé. Ezt sikerült is egyszerűen megoldanom Debian 4.0 alatt a wondershaper csomag felrakása után a wondershaper eth0 3200 300 paranccsal, jól működik feltöltési és letöltési irányba is. Ennél csak annyiban szeretnék többet, hogy a wondershaper ne lassítson a helyi hálózaton (192.168.2.x).

Mivel sok helyen olvastam ilyen tippeket, ezért először azzal próbálkoztam, hogy felveszek a /etc/network/interfaces állományba egy eth1-et, és úgy próbálom beállítani, hogy az eth0-ra szűrjön a wondershaper, az eth1 meg csak LAN legyen. Ezt nem sikerült beállítanom, mert sehogy se örült neki, hogy csak egy hálókártya van a gépben. Talán nem is lehet ilyet?

Most megpróbáltam az itt leírt megoldást beleilleszteni, de semmit sem használt. Ugyanúgy szűri a forgalmat a wondershaper a LAN irányába is. Konkrétan ezzel próbálkoztam:

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 123
iptables -t mangle -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -t mangle -A POSTROUTING -o eth0 -j MARK --set-mark 123
wondershaper eth0 3200 300
tc filter add dev eth0 parent 1:0 protocol ip prio 123 handle 123 fw flowid 1:123

Mi hiányzik? Mit kellene átírnom?

-------------------------
Hiánypótló ismertető kezdőknek: A Linux filozófiája és az áttérés Windowsról

Van a linux advanced routing and traffic control howto http://lartc.org

Ez errol szol. A 9. fejezet korul kezdjetek!

Aztan olyan szabalyokat alkottok, amilyen csak tetszik.

G

Ez a latrc nagyon tetszik, de sajnos most nincs rá időm, talán majd a vizsgaidőszak után. Viszont találtam egy wondershaper forkot, ami pont annyival tud többet, mint amennyire nekem kell. Ahogy belenéztem, szinte pont ugyanazok a parancsok, mint a "gyári" wondershaper-ben, csak a LAN-t megkülönbözteti. Szépsége a dolognak, hogy nem kell hozzá iptables se, tc filterekkel megold mindent.

-------------------------
Hiánypótló ismertető kezdőknek: A Linux filozófiája és az áttérés Windowsról

shaperd? Debianhoz && Ubuntuhoz van csomag. Vannak example configok. Nekem bejott.