Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
IMQ - HTB - prerouting - brak ograniczenia pasma http://forum.freesco.pl/viewtopic.php?f=22&t=15134 |
Strona 1 z 1 |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 12:15 ] |
Tytuł: | IMQ - HTB - prerouting - brak ograniczenia pasma |
Witam Nie mogę rozwiązać problemu który objawia się tym że przekierowania do imq w preroutingu powoduje to że pasmo nie jest ograniczane. Dane trafiają do klas ale przelatują bez ograniczenia. W postroutingu ograniczenie działa. Jak znaleźć przyczynę problemu?? Jak rozwiązać go ?? Dziękuję za pomoc. kernel 2.4.32-10nnd z nałożoną łatką IMQ-behawiour.(testowany bez łatki też) |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 13:38 ] |
Tytuł: | |
ustawic pozadnie filtry na imq, zeby lapaly to co chcesz lub klase domyslana. |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 13:57 ] |
Tytuł: | |
Czy podany przykład jest prawidłowy ? Powinien działać ? #!/bin/bash TC="/sbin/tc" i="/usr/sbin/iptables" # testowany upload dl=57 $i -t mangle -A PREROUTING -i eth1 -s 192.168.0.0/16 -m mark --mark 0x4 -j IMQ --todev 4 $TC qdisc add dev imq4 root handle 5:0 htb default 101 r2q 1 $TC class add dev imq4 parent 5:0 classid 5:1 htb rate $((dl*8))kbit quantum 1500 burst 0k cburst 0k $TC class add dev imq4 parent 5:1 classid 5:101 htb rate 1kbit ceil $((dl*8))kbit quantum 1500 burst 0k cburst 0k $TC filter add dev imq4 parent 5:0 protocol ip prio 7 handle 0x4 fw flowid 5:101 $TC qdisc add dev imq4 parent 5:101 sfq perturb 10 quantum 1500 |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 15:40 ] |
Tytuł: | |
#!/bin/bash TC="/sbin/tc" i="/usr/sbin/iptables" Cytuj: # testowany upload
dl=57 $i -t mangle -A PREROUTING -i eth1 -s 192.168.0.0/16 -m mark --mark 0x4 -j IMQ --todev 4 $TC qdisc add dev imq4 root handle 5:0 htb r2q 1 default 101 $TC class add dev imq4 parent 5:0 classid 5:1 htb rate $((dl*8))kbit quantum 1500 burst 0k cburst 0k $TC class add dev imq4 parent 5:1 classid 5:101 htb rate 1kbit ceil $((dl*8))kbit quantum 1500 burst 0k cburst 0k $TC filter add dev imq4 parent 5:0 protocol ip prio 7 handle 0x4 fw flowid 5:101 $TC qdisc add dev imq4 parent 5:101 sfq perturb 10 quantum 1500 i nic nie co wpadnie do tego imq nie ma prawa przekroczyc zadanej wartosci. filtrowanie po mark 0x4 nie ma tu sesu bo nic nie oznaczasz tym znacznikiem, klasa default i tak mowi gdzie poleci ruch. nic nie filtrujesz na tym imq tylko puszczasz na zywiol, a to troche bez sesu. ale ot tego zaczyna sie rozwijanie wlasnego podzialu. pozostaje pytanie o inne reguly w mangle PREROUTING, jesli sa moga wplywac na przekierowanie. jesli przekierowanie na imq jest ostatnia regula a wczesniej masz jakies inne sposoby podzialu pasma to i tak one wezma w leb! jesli regula bedzie pierwsza a za nia inne podzialy czy przekierowania na imq to predkosci imq4 nie beda zachowane, trzeba zrobic maly wybieg. ale to jest sprawa indywidualna przystosowana do danej sytuacji. |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 15:55 ] |
Tytuł: | |
Witam Markiem 0x4 mam znaczone głównie p2p i niestety ograniczane nie jest. Leci wszsytko pełną prędkością łącza. Zdziwiło mnie ze przez dsl4000 poleciał upload 92kB/s ![]() ![]() |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 16:04 ] |
Tytuł: | |
predkosc jest ustawiona na tym imq i skierowane wszystko z danej podsieci, i tyle idzie, p2p tez ! :) nie masz osobnej klasy dla p2p wiec sie nie ma co dziwic. ale jesli dodasz: Cytuj: # testowany upload
ul=57 ulp2p=10 $i -t mangle -A PREROUTING -i eth1 -s 192.168.0.0/16 -m mark --mark 0x4 -j IMQ --todev 4 $TC qdisc add dev imq4 root handle 5:0 htb r2q 1 default 101 $TC class add dev imq4 parent 5:0 classid 5:1 htb rate $((ul*8))kbit quantum 1500 burst 0k cburst 0k $TC class add dev imq4 parent 5:1 classid 5:101 htb rate 1kbit ceil $((ul*8))kbit quantum 1500 burst 0k cburst 0k prio 5 $TC class add dev imq4 parent 5:1 classid 5:102 htb rate 1kbit ceil $((ulp2p*8))kbit quantum 1500 burst 0k cburst 0k prio 7 $TC qdisc add dev imq4 parent 5:101 sfq perturb 10 quantum 1500 $TC qdisc add dev imq4 parent 5:102 sfq perturb 10 quantum 1500 $TC filter add dev imq4 parent 5:0 protocol ip prio 7 handle 0x4 fw flowid 5:102 to p2p zamarkowane 0x4 poleci do klasy z prio 7, jesli bedzie wolne pasmo w klasie 101 to pakiety z klasy 102 beda przechodzily szybciej niz 1kb/s |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 18:27 ] |
Tytuł: | |
No i lipa ![]() 5:1 < 456Kbit - 456Kbit > 649684.0 bit/s (451pps) 5:102 < 1Kbit - 456Kbit > 668608.0 bit/s (462pps) |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 18:35 ] |
Tytuł: | |
ziolko pisze: No i lipa
![]() 5:1 < 456Kbit - 456Kbit > 649684.0 bit/s (451pps) 5:102 < 1Kbit - 456Kbit > 668608.0 bit/s (462pps) jak ty ustawiasz predkosci? wklej ten skrypcik tak jak masz skonfigurowany. jak dasz full to tyle poleci! jakie masz lacza, i na co puszczasz ruch z podklasy 192.168.0.0/16. a do klasy 101 nic nie idzie? wszystkie pakiety trafiajace do imq sa z mark 0x4 ? dobrze markujesz? |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 19:00 ] |
Tytuł: | |
Jest światełko w tunelu ![]() 5:1 < 456Kbit - 456Kbit > 108156.0 bit/s (124pps) 5:102 < 1Kbit - 80Kbit > 150236.0 bit/s (124pps) To teraz dlaczego niceshaper nie dziala ![]() tc class add dev imq3 parent 1:1 classid 1:13 htb rate 481280 quantum 40 tc class add dev imq3 parent 1:13 classid 1:1016 htb rate 1536 ceil 1536 prio 5 quantum 1 tc filter add dev imq3 protocol ip parent 1:0 prio 10 handle 800::10 u32 match ip src 192.168.0.4/32 flowid 1:1016 tc class add dev imq3 parent 1:13 classid 1:1020 htb rate 1536 ceil 1536 prio 5 quantum 1 tc filter add dev imq3 protocol ip parent 1:0 prio 10 handle 800::14 u32 match ip src 192.168.0.5/32 flowid 1:1020 tc class add dev imq3 parent 1:13 classid 1:1028 htb rate 1536 ceil 1536 prio 5 quantum 1 tc filter add dev imq3 protocol ip parent 1:0 prio 10 handle 800::1c u32 match ip src 192.168.0.7/32 flowid 1:1028 tc class add dev imq3 parent 1:13 classid 1:1040 htb rate 1536 ceil 1536 prio 5 quantum 1 tc filter add dev imq3 protocol ip parent 1:0 prio 10 handle 800::28 u32 match ip src 192.168.0.10/32 flowid 1:1040 tc class add dev imq3 parent 1:13 classid 1:1044 htb rate 1536 ceil 1536 prio 5 quantum 1 |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 19:02 ] |
Tytuł: | |
pokaz wynik iptables -L PREROUTING -t mangle -v -n iptables -L POSTROUTING -t mangle -v -n Cytuj: wklej ten skrypcik tak jak masz skonfigurowany.
dobrze sie rozumiemy? |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 20:27 ] |
Tytuł: | |
Skrypcik który ? Chain POSTROUTING (policy ACCEPT 130M packets, 28G bytes) pkts bytes target prot opt in out source destination 11M 1843M IMQ all -- * eth3 0.0.0.0/0 0.0.0.0/0 MARK match 0x4 IMQ: todev 4 867K 716M ns_download all -- * * 0.0.0.0/0 192.168.0.0/16 Chain PREROUTING (policy ACCEPT 132M packets, 125G bytes) pkts bytes target prot opt in out source destination 47M 8548M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 MARK set 0x4 454K 18M MARK icmp -- eth1 * 192.168.0.0/16 0.0.0.0/0 MARK set 0x3 13428 818K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpts:81:100 MARK set 0x3 9919K 1136M MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:80 MARK set 0x3 110K 53M MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:8080 MARK set 0x3 480K 79M MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:443 MARK set 0x3 32845 2250K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:4902 MARK set 0x3 1719 83284 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:119 MARK set 0x3 50896 4423K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:8074 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:3510 MARK set 0x3 23139 4194K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:22 MARK set 0x3 3 144 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:23 MARK set 0x3 21 1008 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:2510 MARK set 0x3 378 33486 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:2010 MARK set 0x3 15 720 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:2225 MARK set 0x3 6650 268K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:995 MARK set 0x3 216K 9136K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:17001 MARK set 0x3 1051K 186M MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:25 MARK set 0x3 1513 147K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:21 MARK set 0x3 739 37429 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:20 MARK set 0x3 48580 2191K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:110 MARK set 0x3 128K 7576K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:3724 MARK set 0x3 482 32004 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:6112 MARK set 0x3 377K 204M MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpts:6881:6999 MARK set 0x3 149K 7970K MARK udp -- eth1 * 192.168.0.0/16 0.0.0.0/0 udp dpts:6881:6999 MARK set 0x3 149K 7970K MARK udp -- eth1 * 192.168.0.0/16 0.0.0.0/0 udp dpts:6881:6999 MARK set 0x3 1216K 178M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 LAYER7 l7proto skypetoskype MARK set 0x2 2278K 1056M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 LAYER7 l7proto bittorrent MARK set 0x4 3314K 849M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 LAYER7 l7proto edonkey MARK set 0x4 3648K 642M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 LAYER7 l7proto gnutella MARK set 0x4 673K 243M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 LAYER7 l7proto ares MARK set 0x4 1059K 139M MARK all -- eth1 * 192.168.0.0/16 0.0.0.0/0 ipp2p v0.8.1_rc1 --ipp2p MARK set 0x4 189K 8447K MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:7171 MARK set 0x3 211 8761 MARK udp -- eth1 * 192.168.0.0/16 0.0.0.0/0 udp dpt:7171 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 89.163.147.71 MARK set 0x3 377K 25M MARK udp -- eth1 * 192.168.0.0/16 89.163.147.71 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 85.14.218.197 MARK set 0x3 0 0 MARK udp -- eth1 * 192.168.0.0/16 85.14.218.197 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 213.25.175.13 MARK set 0x3 0 0 MARK udp -- eth1 * 192.168.0.0/16 213.25.175.13 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 89.163.147.71 MARK set 0x3 377K 25M MARK udp -- eth1 * 192.168.0.0/16 89.163.147.71 MARK set 0x3 368K 17M MARK tcp -- eth1 * 192.168.0.0/16 89.163.145.47 MARK set 0x3 0 0 MARK udp -- eth1 * 192.168.0.0/16 89.163.145.47 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 195.114.0.27 MARK set 0x3 299K 20M MARK udp -- eth1 * 192.168.0.0/16 195.114.0.27 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 195.114.0.20 MARK set 0x3 147K 9564K MARK udp -- eth1 * 192.168.0.0/16 195.114.0.20 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 86.63.147.138 MARK set 0x3 294K 20M MARK udp -- eth1 * 192.168.0.0/16 86.63.147.138 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 217.113.238.203 MARK set 0x3 20 2063 MARK udp -- eth1 * 192.168.0.0/16 217.113.238.203 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 217.113.237.156 MARK set 0x3 24038 1705K MARK udp -- eth1 * 192.168.0.0/16 217.113.237.156 MARK set 0x3 258K 16M MARK udp -- eth1 * 192.168.0.0/16 0.0.0.0/0 udp dpt:53 MARK set 0x3 17 820 MARK tcp -- eth1 * 192.168.0.0/16 0.0.0.0/0 tcp dpt:53 MARK set 0x3 180K 46M MARK tcp -- eth1 * 192.168.0.0/16 192.168.0.0/16 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 173.16.1.0/24 MARK set 0x3 0 0 MARK tcp -- eth1 * 192.168.0.0/16 173.16.0.0/24 MARK set 0x3 29587 1671K MARK tcp -- eth1 * 192.168.0.0/16 83.3.0.0/16 MARK set 0x4 0 0 MARK tcp -- eth1 * 192.168.0.0/16 173.16.0.199 tcp dpt:80 MARK set 0x2 232K 15M MARK udp -- eth1 * 192.168.0.0/16 192.168.0.199 udp dpt:53 MARK set 0x3 12 576 MARK tcp -- eth1 * 192.168.0.0/16 192.168.0.199 tcp dpt:53 MARK set 0x3 2360 453K MARK all -- eth1 * 192.168.0.0/16 81.219.253.124 MARK set 0x3 861 274K MARK all -- eth1 * 192.168.0.0/16 194.228.111.109 MARK set 0x3 219K 21M ns_upload1 all -- * * 192.168.0.0/16 0.0.0.0/0 MARK match 0x3 582K 92M ns_upload3 all -- * * 192.168.0.0/16 0.0.0.0/0 MARK match 0x4 1287 187K ns_upload2 all -- * * 192.168.0.0/16 0.0.0.0/0 MARK match 0x2 |
Autor: | -MW- [ czwartek, 5 kwietnia 2007, 21:10 ] |
Tytuł: | |
nie wiem co chcesz uzyskac i coraz mniej chce mi sie w to zaglebiac ale podpowiem ze przy wpychaniu regul do jednego lancucha masz duzo mniejsze pole manewru z wybrnieciem z opresji. Cytuj: Chain POSTROUTING (policy ACCEPT 130M packets, 28G bytes)
pkts bytes target prot opt in out source destination 11M 1843M IMQ all -- * eth3 0.0.0.0/0 0.0.0.0/0 MARK match 0x4 IMQ: todev 4 867K 716M ns_download all -- * * 0.0.0.0/0 192.168.0.0/16 przekierowanie do imq umieszczone nad niceshaperem spowoduje ze nie puscisz przez imq pakietow z predkoscia jaka chcesz, mimo ze klasy bede duze. nice ograniczy do swoich wartosci. kiedys w roznych skryptach umiescilem taki wpis ![]() ------------------uwaga rozwala upload niceshapera po czym nastepowal restart nice poniewaz przy starcie regulke w prerouting zawsze umieszczal na pierwszym miejscu (-I) a na to juz wplywu nie mialem, w postroting pchal na ostatnia pozycje (-A) jak jest z nowsza wersja nie wiem i wiedziec nie bede ![]() jesli regula przekierowujaca bedzie pod regulami nice to nice nie bedzie ograniczal, a pakiety poleca przez kalsy z predkosciami ustawionymi na imq. i mysle ze jest to bardzo cenna uwaga. zeby to zauwazyc musialem sie sporo pogimnastykowac, szkoda tylko ze nie ma w necie dobrych opracowac na ten temat. zamiast testowac wystarczyloby poczytac. milej zabawy. |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 21:23 ] |
Tytuł: | |
Witam To że w postrouting jest IMQ nie znaczy że tak ma być. Wstawiłem to ostatnio bo miałem problemy z upload'em . Teraz upload trzymany jest globalnie na jednym łączu . Jak będę już wiedział co jest przyczyną nietrzymania upload'u przez niceshapera to IMQ z postroutingu wywale. Czy klasy i filtry które podałem są poprawnie zapisane ? Niceshaper je tworzy . |
Autor: | ziolko [ czwartek, 5 kwietnia 2007, 21:29 ] |
Tytuł: | |
Teraz z niceshaperem jest tak ze po restarcie na koncu preroutingu robi wpis. Gdy przekierowanie do imq zrobie wczesniej spelniejace warunek taki jak niceshaper to mimo ze imq przekierowanie jest wczesniej to do imq nic nie trafi tylko niceshaper sobie wazmie. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |