HTB-s QoS gép szerint

Fórumok

HTB-s QoS gép szerint

Hozzászólások

Sziasztok!

Az a baj, hogy nem megy sehogysem, és egyre fontosabb lenne hogy menjen :(

Na akkor leírom eddig mi van, de mint irtam, ez igy nem megy:

Routerben 2 eth kártya (eth1 192.168.0.1 [LAN] illetve eth0 192.168.1.1 [NET-ADSL])

Rouerben van firewall script, amik kiegészítettem a következö sorrral:
/sbin/iptables -t mangle -A PREROUTING -i ppp0 -j MARK --set-mark 99

(ezzel jelöltem ki talán az összes forgalmat ppp0-n 99 -cel ?!?)

és egy kis script:

#!/bin/sh

#clear everthing out
ct=`tc qdisc show dev eth0|wc -l`
[ ! `expr $ct` == 0 ] && tc qdisc del dev eth0 root handle 1: htb

[ $1 ] && [ $1 == 0 ] && echo "Shaping off..." && exit;

if ([ -z $1 ] || [ -z $2 ]) then
echo 'Usage: shape [ 0 | [{rate Computer 1} {rate Computer 2} ] ]'
exit
fi;

tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 510kbit burst 10k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate $1kbit burst 5k ceil 56kbit prio 10
tc class add dev eth0 parent 1:1 classid 1:20 htb rate $2kbit burst 5k ceil 56kbit prio 5

tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10

tc filter add dev eth0 protocol ip parent 1: prio 1 handle 99 fw flowid 1:1
tc filter add dev eth0 protocol ip parent 1:1 prio 1 u32 match ip dst 192.168.0.10 flowid 1:10
tc filter add dev eth0 protocol ip parent 1:1 prio 1 u32 match ip dst 192.168.0.12 flowid 1:20

echo "Shaping on:"
echo "Computer 1: $1kbit"
echo "Computer 2: $2kbit"
---

Ráasásul még mindig nem értem az egészet :)
A Router meg még egy gépnek (192.168.0.10) full bandwith kellene limit nélkül!
A többi gépere (192.168.0.12, 192.168.0.32, stb.) pedig 512kbit/s letöltésnek csak egy részét kaphassák meg, azaz pl max 112 kbit/s (vagy inkább max 64 kbit/s .. tudom ez nem sok, de így kellene) -sel tudjon csak tölteni, stb [viszont ezzekel nem akarom elvenni a router meg az egyik géptöl a sávszélességet!].

Mi a rossz abban ami eddig van, és hogyan oldható meg?

Légyszi segítsetek, nagyon megöregszem ebben :(

[quote:303b87d0b4="reviczky"]
Routerben 2 eth kártya (eth1 192.168.0.1 [LAN] illetve eth0 192.168.1.1 [NET-ADSL])

Rouerben van firewall script, amik kiegészítettem a következö sorrral:
/sbin/iptables -t mangle -A PREROUTING -i ppp0 -j MARK --set-mark 99

(ezzel jelöltem ki talán az összes forgalmat ppp0-n 99 -cel ?!?)

nem teljesen értem...
nállam is az adsl-modem 1 háló kártyán van.
ennek viszont nincs köze a ppp-hez.

hogy csatlakozol a netre simán tcp/ip vel vagy pppoe-n keresztül (ez a ppp portos)

Na lássuk mi is a gáz...

[quote:98b0091629="reviczky"]Sziasztok!

Az a baj, hogy nem megy sehogysem, és egyre fontosabb lenne hogy menjen :(

Na akkor leírom eddig mi van, de mint irtam, ez igy nem megy:

Routerben 2 eth kártya (eth1 192.168.0.1 [LAN] illetve eth0 192.168.1.1 [NET-ADSL])

Hogy is van ez?

ADSL------eth0=Router=eth1----tobbi gep?

Pontosabban pppoe van, es ppp0 van raakasztva az eth0-ra?
Normalis csomagok a ppp0-n jelennek meg, eth0-n csak pppoe csomagok, ha jol ertem a szitut.

[quote:98b0091629="reviczky"]

Rouerben van firewall script, amik kiegészítettem a következö sorrral:
/sbin/iptables -t mangle -A PREROUTING -i ppp0 -j MARK --set-mark 99

(ezzel jelöltem ki talán az összes forgalmat ppp0-n 99 -cel ?!?)

99-es fwmark lesz az osszes olyan csomagon ami a ppp0 interface-n jott be.

[quote:98b0091629="reviczky"]

és egy kis script:

#!/bin/sh

#clear everthing out
ct=`tc qdisc show dev eth0|wc -l`
[ ! `expr $ct` == 0 ] && tc qdisc del dev eth0 root handle 1: htb

[ $1 ] && [ $1 == 0 ] && echo "Shaping off..." && exit;

if ([ -z $1 ] || [ -z $2 ]) then
echo 'Usage: shape [ 0 | [{rate Computer 1} {rate Computer 2} ] ]'
exit
fi;

tc qdisc add dev eth0 root handle 1: htb default 10

ha a fenti abra stimmel, es eth0-ra jon be az ADSL, akkor ezekkel a tc szabalyokkal csak az uplink forgalmat lehet rendszabalyozni. De akkor is jobb lenne ppp0-t hasznalni.

De ha jol ertem, te letoltesi sebessegeket akarsz szabalyozni, akkor a qdisc-et az eth1-re kell akasztani!

Meg egy nagyon fontos dolog: a default 10 azt jelenti, hogy a nem klasszifikalt forgalom (tipikusan, amire nincs filter szabaly) az a 10-es class-ba kerul (az a class aminek ez a classid-je: classid 1:10).

[quote:98b0091629="reviczky"]

tc class add dev eth0 parent 1: classid 1:1 htb rate 510kbit burst 10k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate $1kbit burst 5k ceil 56kbit prio 10
tc class add dev eth0 parent 1:1 classid 1:20 htb rate $2kbit burst 5k ceil 56kbit prio 5

A ceil azt jelenti, hogy max mekkora extra savszelesseget engedunk a class-nak, ha meg van szabad savszelesseg. Ez ertelemszeruen nagyobb-egyenlo a rate-el!

[quote:98b0091629="reviczky"]

tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10

tc filter add dev eth0 protocol ip parent 1: prio 1 handle 99 fw flowid 1:1

szerintem ez a sor hulyeseg, legalabb is egyenlore hagyjuk az egesz fwmark-ot
[quote:98b0091629="reviczky"]

tc filter add dev eth0 protocol ip parent 1:1 prio 1 u32 match ip dst 192.168.0.10 flowid 1:10
tc filter add dev eth0 protocol ip parent 1:1 prio 1 u32 match ip dst 192.168.0.12 flowid 1:20

Ha eltalalod az interface-t (eth1) akkor ezek a szabalyok jok a fentiekkel egyutt. Azzal a mellekhatassal, hogy pl a 192.168.0.10-es gep osszes forgalmara vonatkozik, ami atmegy a router adott interface-n. Ebbe beletartozik a routerrol letoltott forgalom, es esetleg a hazon beluli forgalom is, ami atmegy a routeren valamiert. De kezdesnek nem rossz.

[quote:98b0091629="reviczky"]
echo "Shaping on:"
echo "Computer 1: $1kbit"
echo "Computer 2: $2kbit"
---

Ráasásul még mindig nem értem az egészet :)
A Router meg még egy gépnek (192.168.0.10) full bandwith kellene limit nélkül!

A router bw hasznalatat ezzel a modszerrel nem lehet szabalyozni, ez vagy jo, vagy nem.

unlimited gep:

tc filter add dev eth0 protocol ip parent 1:1 prio 1 u32 match ip dst 192.168.0.10 flowid [bold]1:1[/bold]

illetve nem biztos, ezt azert ki kell probalni rendesen!

[quote:98b0091629="reviczky"]

A többi gépere (192.168.0.12, 192.168.0.32, stb.) pedig 512kbit/s letöltésnek csak egy részét kaphassák meg, azaz pl max 112 kbit/s (vagy inkább max 64 kbit/s .. tudom ez nem sok, de így kellene) -sel tudjon csak tölteni, stb [viszont ezzekel nem akarom elvenni a router meg az egyik géptöl a sávszélességet!].

A beallitott minimum savszelessegeket (rate) megkapjak a gepek, htb nem tud prioritaskezelest!

Utolso komment, az egesz semmit nem er, ha nem a qdisc a legszukebb keresztemtszet. Pl

tc class add dev eth0 parent 1: classid 1:1 htb rate 510kbit burst 10k

es a letoltesi max savszelesseg 510 kbit alatt van az ADSL linken, akkor SEMMIT sem er ez az egesz!
[quote:98b0091629="reviczky"]

Mi a rossz abban ami eddig van, és hogyan oldható meg?

Légyszi segítsetek, nagyon megöregszem ebben :(

Hali!

Egyszerüen nem tudom ezt a problémát -már egy jó ideje- megoldani, meg nem is nagyon értem az egészet :)

Adott egy ADSL Internet-kapcsolat, egy router és egy kis (otthoni) hálózat. A hálózaton a gépek a routeren keresztül NAT-tal mennek ki a Net-re.
De mindenképp kellene sávszélességkorlátozás a belsö gépekre, mégpedig a gépek szerint, azaz 1. gép (a kB/s letöltés b kB/s feltöltés), 2. gép (x kB/s letöltés y kB/s feltöltés), stb. Egyfajta LIMIT kellene nekem, hogyan oldható ez meg?

HTB meg miegysmi benne van a kernelben, de nem tudom hogyan használjam jól a tc -parancsot. A WonderShaper pedig asszem nem pont az amit én akarok, mert én IP-cím vagy MAC szerint akarok korlátozni, azaz nem egy bizonyos portot, és nem értem azt sem, hogy a feltöltést nem lehet ezzel korlátozni, csak a letöltést ???

Van aki tudna ebben segíteni?

(routeren Debian Woody van)

Üdv.:
Ádám

Remek, köszi!

Jól néz ki, megyek és tanulmányozom egy picit :)

kivancsi lennek ebbol az okfejtesbol mennyit ert meg :)

[quote:fd216a925f="Anonymous"]kivancsi lennek ebbol az okfejtesbol mennyit ert meg :)

lehet, hogy már én is magyon kocka fejű vagyok, de imho ez teljesen érthető :wink:

Hali!

Elöször is köszi a válaszokat, bár így elsö elolvasás útán még nem értek sokat ebböl, de átnézem még egy párszor, és ha nagyon nem világos, akkor szólok :-D

Nem tudom hogy jól írom-e, de a routerben mindenesetre 2 hálókártya van
az eth0 (192.168.1.1) -en csatlakozik az ADSL-hez, azaz ppp0 az eth0-n keresztül - és a másik hálóártya (eth1 - 192.168.0.1) ezen lóg a belsö hálózat, azaz a többi gép.
Mellesleg mind az upload, mint a download -ot szerettem volna szabályozni, de most egyenlöre elég ha a download sikerülne :-))