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/.
hej powiedzcie mi co musze przerobic w moim skrytpcie do ograniczania download'u aby jeszcze ograniczał upload (oczywiscie na tej samej karcie sieciowej), ktora udostepnia internet uzytkownikom:
kawalek mojego skryptu do download to:
## okreslenie minimalnego i maxymalnego przydzialu pasma
MIN_USER=128kbit
MIN_ADMIN=128kbit
MAX=2048kbit
## okreslenie pasma dla uzytkownikow
ADMINS=$MAX
# czyszczenie
tc qdisc del root dev eth1
#przydzielanie domyslnego kanalu glownego + okreslenie defaultowej klasy
tc qdisc add dev eth1 root handle 1:0 htb
#definicja klasy glownej tyle mamy pasma
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 2048kbit ceil 2048kbit
###
#ADMINS
tc class add dev eth1 parent 1:1 classid 1:2 htb rate $MIN_ADMIN ceil $ADMINS
# filtry przydzialu do klas
#ADMINS
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip dst 192.168.1.10 flowid 1:2
# sfq - uczciwe dzielenie w ramach wszystkich klas
tc qdisc add dev eth1 parent 1:2 handle 2:0 sfq perturb 1
PROSZĘ O POMOC !
Offline
nic nie przerabiasz tylko piszesz drugi taki sam :) z ta roznica ze dla uploadu operujesz na interfejsie publicznym serwera a nie na lan'owym
poczytaj sobie o imq - mozesz to rowniez zrobic, kierujac w postroutingu ruch do wirtualnych imq i na nich stawiac kolejki. jesli siec jest malutka/posiada jedna klase adresowa to nie zaprzataj sobie tym glowy i rob analogicznie jak masz w tej chwili download.
pozdr
Offline
dzieki ;) Szczur ..
A tak na marginesie to cudowna xywa ;)
pozdrawiam
Offline
tez mi sie podoba
zapomnialem jeszcze dodac ze w klasyfikatorze u32 urzywasz wtedy ip src zamiast dst (dokladnie odwornie wszystko jak dla downloadu)
pozdr
Offline
Szczu[R], w takim razie mam pytanie, bo ograniczam download dla userów na interfejsie eth1 co jednak skutkuje problemem, że przy okazji ograniczania netu, ograniczam siec lokalną (co oczywiście jest głupie). Czy mógłbym ograniczam także download na interfejsie eth0 ??
Tylko w linii: "tc filter add dev eth1 protocol ip parent 1:0 u32 match ip dst 192.168.1.10 flowid 1:2" zamiast "src" dałbym "dst" ??
DOWNLOAD DLA LUDZI NA ETH1 OGRANICZANY NA ETH0
## okreslenie minimalnego i maxymalnego przydzialu pasma
MIN_USER=128kbit
MIN_ADMIN=128kbit
MAX=2048kbit
## okreslenie pasma dla uzytkownikow
ADMINS=$MAX
# czyszczenie
tc qdisc del root dev eth0
#przydzielanie domyslnego kanalu glownego + okreslenie defaultowej klasy
tc qdisc add dev eth0 root handle 1:0 htb
#definicja klasy glownej tyle mamy pasma
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2048kbit ceil 2048kbit
###
#ADMINS
tc class add dev eth1 parent 1:1 classid 1:2 htb rate $MIN_ADMIN ceil $ADMINS
# filtry przydzialu do klas
#ADMINS
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip dst 192.168.1.10 flowid 1:2
# sfq - uczciwe dzielenie w ramach wszystkich klas
tc qdisc add dev eth0
parent 1:2 handle 2:0 sfq perturb 1
Offline
poczytaj i imq - pusc sobie ruch przez niego i tam limituj - temat byl na forum wiele razy dos dobrze opracowany, nawet w moich postach pewnie bedzie.
co do sieci lokalnej - zdefiniuj kolejke o przepustowosci 10mb powiedzmy a do niej podepnij dwie: net, lan czyli np. 2mi 8m
potem wszystkie kolejki klientow podwieszaj do klasy 2m ale kazdemu dawaj wpis (korzystajac z u32) ze to co jest od klienta kierowane na bramke (serwer) leci kolejka 8m a to co nadaje bramka do klienta do takiej samej klasy tylko na drugim eth (w mysl zasady ze download na lokalnym, a upload na publicznym)
pozdr
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00141 | 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='18.117.105.184' WHERE u.id=1 |
0.00076 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.105.184', 1738438906) |
0.00031 | SELECT * FROM punbb_online WHERE logged<1738438606 |
0.00081 | SELECT topic_id FROM punbb_posts WHERE id=42853 |
0.00107 | SELECT id FROM punbb_posts WHERE topic_id=5554 ORDER BY posted |
0.00071 | 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=5554 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00081 | 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=5554 ORDER BY p.id LIMIT 0,25 |
0.00086 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=5554 |
Total query time: 0.007 s |