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/.
Mam DSL 256/128 (niestety ale nic nie moge na to poradzic) i chcę podzielić pasmo między usługi:
- w godzinach 16-23 download 200 Kbit na www, pocztę ssh, reszę pasma na pozostałe
upload analogicznie 80 na wybrane usługi a reszte na reszte :)
- w pozostałych godzinach download po równo, upload tak jak wyzej
Oto skrypt uruchamiany o 16:
#!/bin/bash echo "Reguły dotyczace DOWNLOAD-u" echo "Kasujemy stara kolejke..." tc qdisc del dev eth1 root handle 1:0 htb echo "Tworzymy nowa glowna kolejke..." tc qdisc add dev eth1 root handle 1:0 htb echo "Tworzymy klase o predkosci 99 Mbit..." tc class add dev eth1 parent 1:0 classid 1:1 htb rate 99999kbit ceil 99999kbit echo "Tworzymy klase dla netu..." tc class add dev eth1 parent 1:1 classid 1:2 htb rate 240kbit ceil 240kbit echo "Tworzymy klase dla LAN-u..." tc class add dev eth1 parent 1:1 classid 1:3 htb rate 99749kbit ceil 99749kbit echo "Tworzymy klase dla www..." tc class add dev eth1 parent 1:2 classid 1:10 htb rate 200kbit ceil 240kbit quantum 1 burst 10k echo "Tworzymy klase dla reszty..." tc class add dev eth1 parent 1:2 classid 1:11 htb rate 40kbit ceil 240kbit echo "Aby wszyscy mieli po równo..." tc qdisc add dev eth1 parent 1:3 handle 3: sfq perturb 10 tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev eth1 parent 1:11 handle 11: sfq perturb 10 echo "Tworzymy filtry..." tc filter add dev eth1 parent 1:0 protocol ip prio 0 handle 1 fw flowid 1:10 tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 2 fw flowid 1:11 tc filter add dev eth1 protocol ip priority 3 parent 1:0 u32 match ip src 192.168.0.1 flowid 1:3 #echo "upload" echo "Reguły dotyczące UPLOAD-u" echo "Kasujemy stara kolejke" tc qdisc del dev eth0 root handle 2:0 htb echo "Tworzymy nowa glowna kolejke" tc qdisc add dev eth0 root handle 2:0 htb echo "Tworzymy klase o predkosci 110 kbit" tc class add dev eth0 parent 2:0 classid 2:1 htb rate 110kbit ceil 110kbit echo "Tworzymy klase dla www, ssh" tc class add dev eth0 parent 2:1 classid 2:20 htb rate 80kbit ceil 110kbit echo "Tworzymy klase dla reszty" tc class add dev eth0 parent 2:1 classid 2:30 htb rate 30kbit ceil 110kbit echo "Aby każdy miał po równo" tc qdisc add dev eth0 parent 2:20 handle 20:0 sfq perturb 10 tc qdisc add dev eth0 parent 2:30 handle 30:0 sfq perturb 10 echo "Tworzę filtry" tc filter add dev eth0 parent 2:0 protocol ip prio 0 handle 4 fw flowid 2:20 tc filter add dev eth0 parent 2:0 protocol ip prio 1 handle 5 fw flowid 2:30
O 23 uruchamiam identyczny ze zmienionymi prędkościami
Regułki na firewallu (eth0 sieciówka do netu, eh1 do LANU:
download:
iptables -t mangle -A PREROUTING -i eth0 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 80 -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 110 -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 22 -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 443 -j MARK --set-mark 0x1 iptables -t mangle -A PREROUTING -i eth0 -p tcp -j MARK --set-mark 0x2
upload:
iptables -t mangle -A PREROUTING -i eth1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x4 iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 0x4 iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 22 -j MARK --set-mark 0x4 iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 25 -j MARK --set-mark 0x4 iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 443 -j MARK --set-mark 0x4 iptables -t mangle -A PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -j MARK --set-mark 0x5
Czy to ma prawo działać? Pytam się bo nie mogę tego sprawdzić (nie ma mnie na miejscu i przez jakiś czas nie będzie). Z góry dziękuję za wszelkie sugestie.
Offline
http://linuxreviews.org/howtos/networking/lartc/index.html.pl
moze to cie 'natchnie' ;) Pozdrawiam
Offline
właśnie korzystałem z tego, chodzi mi o to żeby ktoś zerknął i napisał czy to wogole ma prawo działać, czy sama koncepcja głównie markowania pakietów i filtrowania ich jest poprawna
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00009 | SET NAMES latin2 |
0.00182 | 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.147.54.227' WHERE u.id=1 |
0.00156 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.54.227', 1738353782) |
0.00110 | SELECT * FROM punbb_online WHERE logged<1738353482 |
0.00133 | SELECT topic_id FROM punbb_posts WHERE id=26412 |
0.00189 | SELECT id FROM punbb_posts WHERE topic_id=3349 ORDER BY posted |
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=3349 AND t.moved_to IS NULL |
0.00016 | SELECT search_for, replace_with FROM punbb_censoring |
0.00124 | 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=3349 ORDER BY p.id LIMIT 0,25 |
0.00164 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=3349 |
Total query time: 0.01184 s |