K tomu proxy serveru - nešlo by to vyřešit pomocí IMQ? Nejsem si teď jist, jak se IMQ chová v případě, kdy data končí na lokálním rozhraní (a kompilovat kvůli tomu kernel a hrabat se v konfiguraci se mi nechce ;-), nicméně pokud by v něm pakety nekončily, nýbrž jen virtuálně "procházely", mohlo by to fungovat...
Zkoušel to někdo?
No s tim je docela legrace. Vse do vnitrni site jde sice pres proxy a HTB shaper. Pokud ale neshapujete vylozene natvrdo, jako je to zde, ale hlidate hlavne pomer pasem, dokaze i tak jeden stahovac shrabnout skoro cele pasmo. HTB sice funguje, ale kdyz ty pakety prichazeji od providera pro toho stahovace dostatecne rychle (a pro ostatni pomalu), tak mate smulu. Pak je potreba vymyslet schema, kde omezujete i na vstupu. Ja osobne pouzivam jeste na vstupu sfq.
IMQ tohle nevyresi, do IMQ muzes posilat (pres mangle) jen veci z PREROUTINGU...
Kdyz jsem zkousel do toho pridat jeste transparentni proxynu (z POSTROUTINGU nebo OUTPUTu do IMQ tak nastala krasna hlaska: KERNEL PANIC (ale byla videz az po pripojeni monitoru k serveru )
Jinak pokud shapujete provoz nezapomente shapovat i to co od vas odchazi (imq je dobra vec) ale neshapne jeste to co odchozi ze serveru, takze tam je jeste dobre oshapovat primo rozhrani. (Poskytovatel nas take pocita pomoci imq) a to byste se divili co takova kazza ci jine SHAREprogramy dokazi s linkou, kdyz od vas nekdo sosa......
Jinak velmi dobra stranka jak rozhodit IMQ je
http://alfa.tailor.com.pl/imqhtb/imq_htb.html
a te trosce polstiny se da porozumet :)
Mě taky nepanikařil. Ale je fakt, že co si tak vzpomínám, HTB se mi nad pakety posílanými na IMQ přes prerouting opravdu rozběhat nepodařilo, prostě je ignoroval. Když jsem potřeboval přidat pro HTB nějaké pravidlo, které šlo ošetřit jen v preroutingu (typicky kontrola vstupního rozhraní), musel jsem si paket označkovat a hodit ho na IMQ až v postroutingu...
Nevím, jestli jsem to pochopil. Ale já například posílám všechno co se octne na vstupním rozhraní v PREroutingu na virtuální rozhraní IMQ. Na imq sedí HTB a shapuje tak, jak mu zadám.
Jen mě napadá, že já ty pakety vůbec neznačkuji a místo toho je rozlišuji pomocí tc a jeho u32 filtrů.
Mně se to nějak nechytalo, nevylučuju, že byl problém mezi klávesnicí a židlí. Takže to řeším tak, že si na preroutingu přes "iptables <filtr> -j MARK --set mark <cislo>" příslušně označím to, co chci posílat na IMQ (jak jsem psal, potřeboval jsem to třídit podle vstupní síťové karty, tu v postroutingu nezjistím) a v postroutingu si takto označkované pakety ochytávám a házím na IMQ, na kterém mám pověšený shaper (přes zmíněné tc a u32 filtry ;-).
Jak říkám, možná jsem něco dělal blbě. Nicméně teď to funguje, takže nevidím důvod, proč se v tom znovu šťourat ;-)