Witam
Zainstalowalem sobie squida, niceshaper na DLS 1024/256. Mam ok 48 użytkowników. W configu niceshapera przycinam wszystkich na dl_ceil 40kbps i dl_ceil 2kbps. Z forum wyczytałem, że dobrym rozwiązaniem dla pogodzenia www z p2p jest korzystanie z imq. Tak też zrobiłem, podnislem imq od 0-3, niceshapera ustawilem na imq metod, squida mam transparentnego i wylapuje pakiety i przekazuje na imq:
niceshaper conf:
<global>
iface inet eth0 83.17.10.142/29
iface local eth1 10.0.0.1/24
do not shape local 83.17.10.142 with 10.0.0.0/24
# do not shape local 10.0.0.1 with 10.0.0.0/24 prio 1
# shape router true low 6kbps ceil 3kbps prio 2
stats unit kbps dump 5c file /home/httpd/html/nsstats.txt
resolve hostname true
method imq
reload 4s
</global>
<download>
link speed 116kbps shape 105kbps
user low 0kbps ceil 95kbps strict 40% prio 5
# interactive rate 20kbps ceil 50kbps
# interactive rcport 80 dstport 80
interactive u32 match ip protocol 1 0xff
interactive u32 match ip tos 0x10 0xff
policy dynamic
# interactive rate 50kbps ceil 70kbps
# interactive srcip 10.0.0.1
### Squid
interactive scrport 8080,80 dstport 8080,80
###########################################
</download>
<upload>
link speed 28kbps shape 25kbps
user low 0kbps ceil 22kbps strict 1% prio 5
# interactive srcport 80 dstport 80
policy dynamic
# interactive rate 0kbps ceil 0kbps
# interactive dstip 208.231.90.235
### Wydzielone pasmo na FTP na moim kompie
# interactive rate 10kbps ceil 20kbps
# interactive scrport 21 dstport 21
# interactive dstip 10.0.0.200
###########################################
### Squid
# interactive scrport 8080,80 dstport 8080,80
###########################################
</upload>
wylapywanie imq:
#!/bin/bash
ipt="/usr/sbin/iptables"
port="8080"
wew_if="eth1"
trans="1"
# proxy transparent
if [ $trans == "1" ]; then
$ipt -t nat -A PREROUTING -i $wew_if -p tcp --dport 80 -j REDIRECT --to-port $port
echo Port 80 przelaczony na port squida $port
fi
# wylapywanie
$ipt -A OUTPUT -t mangle -p tcp --sport $port -m connmark --mark 0 \
-m string --string 'X-Cache: MISS from ' -j CONNMARK --set-mark 1
$ipt -A OUTPUT -t mangle -p tcp --sport $port -m connmark --mark 0 \
-m string --string 'X-Cache: HIT from ' -j CONNMARK --set-mark 2
$ipt -A OUTPUT -t mangle -p tcp --sport $port \
-j CONNMARK --restore-mark
$ipt -t mangle -A OUTPUT -m mark --mark 1 -j IMQ --todev 3
Przy takiej konfiguracji jak odpale emule, pingi na www oczywiscie sa salbe albo ich nie ma, stronki sie nie otwieraja w zasadzie.
Wystarczy jednak że zmienie:
wylacze wylapywanie:
# wylapywanie
#$ipt -A OUTPUT -t mangle -p tcp --sport $port -m connmark --mark 0 \
#-m string --string 'X-Cache: MISS from ' -j CONNMARK --set-mark 1
#$ipt -A OUTPUT -t mangle -p tcp --sport $port -m connmark --mark 0 \
#-m string --string 'X-Cache: HIT from ' -j CONNMARK --set-mark 2
#$ipt -A OUTPUT -t mangle -p tcp --sport $port \
#-j CONNMARK --restore-mark
#$ipt -t mangle -A OUTPUT -m mark --mark 1 -j IMQ --todev 3
w niceshaperze zmienie method na mark i zaplotkuje:
...
method mark
...
### Squid
# interactive scrport 8080,80 dstport 8080,80
a stronki z emule jednoczesnie smigaja jak glupie, pingi co prawda nie ida, ale stronki sie otwieraja.
Po zo zatem to cale imq i gadanie o nim. Prosze o wyjasnienie, pewnie mam coś źle zapisane w skryptach, jeżeli tak to proszę o pomoc, bo jak widze te wszystkie opisy, ze temu dziala, temu dziala wysmienice to dochodze do wniosku, że to imq jest potrzebne, a u mnie wydaje się być zbędne
Thx
