Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam wszystkich
To mój pierwszy post na tym forum więc proszę o wyrozumiałość gdybym palną jakąś gafę.
Na tym forum jest wiele extra opisów i porad dla kogoś takiego jak ja bo z Debianem mam do czynienie dopiero kilka miesięcy dlatego często przegloądam to forum.
Do rzeczy mam zainstalowanego debiana na którym dzielę DSL'a 2Mbit jądro (2.6.14) jest skonfigurwane wg. opisu z www.inet.one.pl wszystko jest ok oprucz uploadu na IMQ. Po napisaniu regułek zrobiłem test ograniczając upload dla każdego IP na 10kB i wysyłając meila sprawdzałem transfer iptrafem. Wszystko jest ok cały czas upload trzymał się na 10 kB więc przekonany byłem że będzie tak cały czas ale okazało się że jak ktoś ma włączonego klienta p2p np: bittorrent to ograniczenie uploadu nie działa tak jak powinno poprostu zapycha cały upload 32kB. Przy stanie mojej wiedzy nie bardzo wiem gdzie jest nieścisłość co zrobiłem źle ? Czytając tematy na ten temat wynika że powinno działąć i ograniczać upload a tak nie jest.
######Tak wygląda uplad#######
iptables="/usr/local/sbin/iptables"
LAN="eth0"
DSL="eth1"
MIN="12.8kbit"
ip link set imq0 up
tc qdisc del root dev imq0 2> /dev/null
tc qdisc add dev imq0 root handle 10:0 htb
tc class add dev imq0 parent 10:0 classid 10:1 htb rate 256kbit ceil 256kbit
tc class add dev imq0 parent 10:1 classid 10:2 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:3 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:4 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:5 htb rate $MIN ceil 80kbit
tc class add dev imq0 parent 10:1 classid 10:6 htb rate $MIN ceil 80kbit
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.3 flowid 10:2
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.4 flowid 10:3
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.5 flowid 10:4
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.6 flowid 10:5
tc filter add dev imq0 protocol ip parent 10:0 u32 match ip src 192.168.1.7 flowid 10:6
$iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0
#####Tak download######
iptables="/usr/local/sbin/iptables"
LAN="eth0"
DSL="eth1"
tc qdisc del root dev $LAN 2> /dev/null
tc qdisc add dev $LAN root handle 1:0 htb
tc class add dev $LAN parent 1:0 classid 1:1 htb rate 99000kbit ceil 99000kbit quantum 1500
tc class add dev $LAN parent 1:1 classid 1:2 htb rate 2048kbit ceil 2048kbit quantum 1500
tc class add dev $LAN parent 1:1 classid 1:3 htb rate 96952kbit ceil 96952kbit quantum 1500
tc class add dev $LAN parent 1:2 classid 1:4 htb rate 492kbit ceil 800kbit prio 2
tc class add dev $LAN parent 1:2 classid 1:5 htb rate 492kbit ceil 800kbit prio 5
tc class add dev $LAN parent 1:2 classid 1:6 htb rate 492kbit ceil 800kbit prio 3
tc class add dev $LAN parent 1:2 classid 1:7 htb rate 492kbit ceil 800kbit prio 4
tc class add dev $LAN parent 1:2 classid 1:8 htb rate 8kbit ceil 240kbit prio 6
# Wszystko ze squida TOS
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.1.0/24 match ip sport 80 0xffff match ip tos 0 0xff flowid 1:3
# Wszystko z servera
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip src 192.168.1.1 flowid 1:3
tc filter add dev $LAN protocol ip preference 1 parent 1:0 u32 match ip src 212.244.187.2 flowid 1:3
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.3 flowid 1:4
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.4 flowid 1:5
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.5 flowid 1:6
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.6 flowid 1:7
tc filter add dev $LAN protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.7 flowid 1:8
Nie wiem czy to wystarczy aby wyciągnąć jakieś wnioski jeżeli coś trzeba dodać to proszę napisać.
Jeżeli coś sknociłem to poradzcie co zmienić.
Dodam że urzytkownikuw jest więcej to jest część regułek resztę usunołem aby zmniejszyć objętość wiadomości.
Offline
IMQ zalozyles nie na tym interfejsie, powinienes to zrobic na interfejsie od DSL czyli eth1
wiec zamiast tego:
$iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0 [/quote]
do uploadu powinno byc tak:Kod:
$iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 0i wtedy powinnienes kierowac pakiety do odpowiednich kolejek nie przez tc filter tylko przez markowanie w iptables, regulka taka by wygladala tak:
Kod:
$iptables -t mangle -A FORWARD -s 192.168.1.3 -j MARK --set-mark 0x2a wtedy filtry w tc wygladaly by tak
Kod:
tc filter add dev imq0 protocol ip preference 1 parent 1:0 handle 0x2 fw flowid 10:2zrob sobie IMQ na downloadzie tez caly caly shaper bedzie dzialal znacznie lepiej
Linux Registered User # 406343
[i]Routing protocols enable routers to route routed protocols[/i] :)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00108 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.143.235.140' WHERE u.id=1 |
0.00074 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.143.235.140', 1738439497) |
0.00049 | SELECT * FROM punbb_online WHERE logged<1738439197 |
0.00087 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=5705 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00165 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=5705 ORDER BY p.id LIMIT 0,25 |
0.00078 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=5705 |
Total query time: 0.00581 s |