Sziasztok!
Két egyszerű kérdésem lenne:
Mi a feltétele, hogy a HTB működjön linux alatt? Tehát, ha beírok neki pár queue-t akkor biztos lehessek benne, hogy sávszélességet korlátoz?
És mi a feltétele annak, hogy ezeket a queue-kat esetleg webmin alól tudjam konfigolni! (A webmin alatt fent van a megfelelő modul, de abban a részlegben nem jeleni meg semmi. (csak két hr csík))
Köszi!
Üdv: redman
- 1624 megtekintés
Hozzászólások
Kernelbe HTB támogatás, ha szükséged van oda-vissza irány szabályozására, akkor IMQ támogatás is kell.
(IMQ -val az iptables -t is patchellni kell)
Itt bővebb infot találsz a beállításokról.
http://elessar.one.pl/article_kernel2.6.php
- A hozzászóláshoz be kell jelentkezni
Oké, ezt értem (nagyjából), de kicsit kezdő vagyok. Biztos kell kernelt fordítanom? (Egyszer fordítottam kernelt, de elment a hálózat :), pedig a hálózat részhez hozzá sem nyúltam) Kicsit félve állok neki.
A rendszerem debian lenny 2.6.22-2-686 #1 SMP
A patch a mellékelt oldalon 2.6.18-as kernelhez van. Gondolom keresnem kell egy 22-hez valót.
Vagy nincs olyan előre gyártott kernel, amiben benne van mindkettő alapból?
Bocs, de kicsit szájbarágósabban szeretnék infót kapni. Sok oldalt olvastam már, de nem tudom megoldani a problémát. (Ha egyszer elkészül, megírom a-z-ig, hogy hogyan csináltam) Mindenképpen szeretném megoldani a dinamikus sávszélesség szabályzást!
Köszi!
Üdv
- A hozzászóláshoz be kell jelentkezni
[betonozás ON]
"
Oké, ezt értem (nagyjából), de kicsit kezdő vagyok. Biztos kell kernelt fordítanom? (Egyszer fordítottam kernelt, de elment a hálózat :), pedig a hálózat részhez hozzá sem nyúltam) Kicsit félve állok neki.
A rendszerem debian lenny 2.6.22-2-686 #1 SMP
"
Most vagy nem kezdő, vagy nem lenny!?! ;-P
[betonozás OFF]
- A hozzászóláshoz be kell jelentkezni
Olvasd el ezt: TC Linuxon, aztán kérdezz.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a doksit, nagyon hasznos volt!
Akkor kérdezek:
Mivel tudom ellenőrizni, hogy az 5.1-es fejezetben levő dolgok bennt vannak-e a kernelben?
lsmod kimenete, nem jeleníti meg egyiket sem, tehát modulban nincsenek.
Ezt írja:
"A fenti alrendszereket a komolyabb disztribúciók befordítják a rendszermagba, így ezzel általában nem kell bajlódnunk."
Akkor most bennt van vagy nincs?
Nekem kéne a feltöltés korlátozás is.
Idézek: "A másik módszer jelenleg nem része a hivatalos kernelnek, ez az IMQ."
1, Hogyan lehet belerakni?
2, Vagy egszerűbb úgy, hogy csinálok egy virtuális interfészt és azon nyomom keresztül a forgalmat?
Tehát, ha jól gondolom, akkor a következők kellenek nekem:
5.1-es fejezetben leírtak, (IMQ első megoldás esetén) és iproute2.
Ennyi elvileg elég?
- A hozzászóláshoz be kell jelentkezni
Kezdjük előről. Milyen disztró? Próbáld meg ezt:
$ sudo modprobe sch_htb
Ha ez után az lsmod szerint lesz sch_htb a kernelben, akkor már jó úton haladsz. Az iproute2 csomag mindenképpen kell. A bejövő forgalom korlátozására az osztály alapú qdisc-ek használata csak önámítás, de ha mindenképpen szeretnéd, akkor az IMQ-t bele kell patch-elni a kernelbe, és újrafordítani. Én nem javaslom. Főleg, ha kezdő vagy. Nekem kellett vagy két év és negyven-ötven kernelfordítás, hogy olyan kernelt tudjak fordítani, ami mindent tartalmazott, amire szükségem volt, de csak azt. Ma desktopon már nem használok saját kernelt, például az Ubuntu kernelben minden benne van, amire szükségem van, és nincs arra időm, hogy a slankítás miatt a fordítással vacakoljak. A bejövő forgalomra használj policing-et, az nem fedi el a valóságot. Ha alaposan átolvastad az ajánlott doksit, akkor érted, hogy miért.
Egyébként nem "azt írja", hanem "azt írod", ugyanis a doksit én írtam :))
- A hozzászóláshoz be kell jelentkezni
"Egyébként nem "azt írja", hanem "azt írod", ugyanis a doksit én írtam :))"
Sorry.Mégegyszer köszi, tényleg hasznos volt!
A rendszer debian lenny 2.6.22-2-686 #1 SMP
modprobe sch_htb
Ez megy, iproute2 megvan, bár nem a legújabb, mert az valamiért nem fordult le.
Akkor most mi jön?
Megtervezem az osztályokat, elkészítem tc-vel és mennie kell?
Üdv: redman
- A hozzászóláshoz be kell jelentkezni
véletlenül kétszer küldtem el :)
- A hozzászóláshoz be kell jelentkezni
Két hálókártya van ebben a szerverben.
eth0 --> internet
eth1 --> helyi háló
Ha csak a kimenő forgalmat tudom szabályozni, akkor elvileg nem kell IMQ, mert:
- ha a helyi háló letölteni akar, akkor az eth1-en az kimenő forgalom --> tudom szabályozni
- ha a helyi háló feltölteni akar (netre), akkor az az eth0-án kimenő forgalom --> tudom szabályozni
Ha ez helyes, akkor a szerver gépnek kellene korlátozás a letöltés (bejövő forgalom) szabályozására, ha a helyi hálón internetezni akarnak.
Az elképzelésem tulajdonképpen az, hogy a szerver kihasználja a sávszélességet állandóan. (letöltés, feltöltés)
Ha a helyi hálón valaki internetezni akar, akkor annak adjon sávszélt, ha ketten akkor azok között igazságos elosztás legyen.
A szervernek meg lehet, mondani, hogy a letöltéseket úgy végezze, mintha ő is a helyi háló egyik gép lenne?
Mert akkor nem kellene mást csinálni, "csak" a helyi háló gépei között dinamikus sávszélesség elosztást bekonfigurálni.
Jól látom a helyzetet, vagy teljesen elvetendő, amit itt leírtam?
Üdv: redman
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Buék mindenkinek először is!
Minden feltételem megvan a sávszélesség szabályzáshoz, már csak a csomagok tetrelgetése a kérdés.
- Szeretném magát a sávszélesség korlátozó szervert is korlátozni!
- Megvan az imq0 (letöltés) és az imq1 (feltöltés) interfész.
- a következőkkel szeretném a csomagokat a megfeleő imq-ba terelni:
### Minden kívülről befelé haladó csomag az imq0 interfészbe irányítása
##Kívülről szerveren áthaladó forgalom
iptables -t mangle -I FORWARD -i eth0 -o eth1 -j IMQ --todev 0
##Befelé menő helyi célú forgalom
iptables -t mangle -I INPUT -i eth0 -j IMQ --todev 0
### Minden belűlről kifelé haladó csomag az imq1 interfészbe irányítása
##Belülről szerveren áthaladó forgalom
iptables -t mangle -I FORWARD -i eth1 -o eth0 -j IMQ --todev 1
##Kifelé menő helyi forrású forgalom
iptables -t mangle -I OUTPUT -o eth0 -j IMQ --todev 1
Aztán a tc filterével pedig szabályoznám a forgalmat (pl.: imq0):
$TC filter add dev $IF parent 1: protocol ip prio 1 u32 match ip dst 192.168.1.0/24 flowid 1:10
$TC filter add dev $IF parent 1: protocol ip prio 1 u32 match ip dst 127.0.0.1 flowid 1:20
De magát a szervert nem akarja korlátozni.
Ha így szűrök (eth0: 192.168.17.51 (net))
$TC filter add dev $IF parent 1: protocol ip prio 1 u32 match ip dst 192.168.17.51 flowid 1:20
akkor viszont a lan mögötti gépeket is ebbe az osztályba tereli.
Kérdésem még az - bár a témához szorosan kapcsolódik -, hogy ha egy gép letölt az internetről, akkor azokat a csomagokat hogyan lehet azonosítani?
Az iptraf szerint a külső interfész címen tölti a dolgokat, de valójában a 127.0.0.1 a cél. Vagy nem így van?
Üdv: redman
- A hozzászóláshoz be kell jelentkezni