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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-11-04 22:06:34

  piroaa - Nowy użytkownik

piroaa
Nowy użytkownik
Zarejestrowany: 2013-06-30

Ingres filter.

Dzień dobry.
Mam mały problem z ograniczaniem transferu. Topologia wygląda tak :
sieć 192.168.1.0/24 ---- eth0 - router z tc - ath0 ---- internet
Robię tak :

Kod:

# tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 11

tc class add dev eth0 parent 1: classid 1:1 htb rate 5mbit burst 0k
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4mbit ceil 5mbit burst 0k
tc class add dev eth0 parent 1:1 classid 1:90 htb rate 1mbit ceil 1mbit burst 0k

tc qdisc add dev eth0 parent 1:11 handle 11: sfq perturb 10
tc qdisc add dev eth0 parent 1:90 handle 90: sfq perturb 10

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst "192.168.1.90" flowid 1:90

Działa to tak że do dyspozycji jest 5mbit transferu jednak gdy pobieranie włącza 192.168.1.90 to co by się nie działo on ma gwarantowane 1mbit pobierania a cała reszta dostaje 4mbit do podziału.
Takie założenie działa problem jest z uploadem, są w sieci skrypty które niby to robią, wszyscy karzą zmienić match ip dst na  match ip src i niby ma to działać, ale jak dla mnie upload nie jest cięty może coś jeszcze robię źle.
Zacząłem szukać i natrafiłem na informację o polisach wygląda to tak :

Kod:

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 256kbit burst 10k drop flowid :1
tc qdisc add dev eth0 root tbf rate 256kbit latency 25ms burst 10k

i nawet działa tylko nie bardzo wiem jak dodać to tego taką fajną funkcjonalność jak powyżej czyli nie tnie dostępnej prędkości dopóki 192.168.1.90 nie zacznie wysyłać danych.
Czy jest możliwość żeby taką funkcjonalność w ogóle osiągnąć bez używania imq?

Ostatnio edytowany przez piroaa (2014-11-04 22:16:18)

Offline

 

#2  2014-11-04 22:26:00

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Ingres filter.

Przeczytaj sobie ten artykuł: https://dug.net.pl/tekst/270/traffic_control__czyli_jak_limitowac_siec_p2p_bez_uszczerbku_dla_niej_samej/ , będziesz miał szersze pojęcie jak to ma działać.

Offline

 

#3  2014-11-04 22:46:16

  piroaa - Nowy użytkownik

piroaa
Nowy użytkownik
Zarejestrowany: 2013-06-30

Re: Ingres filter.

Dzień dobry.
Tylko że tam jest wykorzystane imq a ja nie mam możliwości żeby go użyć.

Offline

 

#4  2014-11-04 23:36:01

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Ingres filter.

A czytać to nauczyli w szkole?

2. Jeśli nie IMQ, to co w takim razie?[/quote]

Offline

 

#5  2014-11-05 20:07:35

  piroaa - Nowy użytkownik

piroaa
Nowy użytkownik
Zarejestrowany: 2013-06-30

Re: Ingres filter.

Dzięki za pomoc działa :)
Jak by ktoś potrzebował zrobiłem tak :

Kod:

#DOWNLOAD
tc qdisc add dev eth0 root handle 1: htb default 111
tc class add dev eth0 parent 1: classid 1:1 htb rate 3mbit burst 0k
tc class add dev eth0 parent 1:1 classid 1:111 htb rate 2mbit ceil 3mbit burst 0k
tc class add dev eth0 parent 1:1 classid 1:190 htb rate 512kbit ceil 512kbit burst 0k
tc qdisc add dev eth0 parent 1:11 handle 111: sfq perturb 10
tc qdisc add dev eth0 parent 1:90 handle 190: sfq perturb 10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst "192.168.1.90" flowid 1:90
#UPLOAD
tc qdisc add dev ath0 root handle 1: htb default 211
tc class add dev ath0 parent 1: classid 1:1 htb rate 1mbit burst 0k
tc class add dev ath0 parent 1:1 classid 1:211 htb rate 515kbit ceil 1mbit burst 0k
tc class add dev ath0 parent 1:1 classid 1:290 htb rate 512kbit ceil 512kbit burst 0k
tc qdisc add dev ath0 parent 1:11 handle 211: sfq perturb 10
tc qdisc add dev ath0 parent 1:90 handle 290: sfq perturb 10
iptables -t mangle -A POSTROUTING -s 192.168.1.90/32 -j CLASSIFY --set-class 1:290

Cały myk polega na tym że download trzeba ciąć na jednym interfejsie natomiast upload na drugim w moim przypadku odpowiednio eth0 i ath0.
Prawdę powiedziawszy od tego zacząłem ale coś nie chciało działać, dziś kombinowałem jeszcze trochę i jest ok.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00014 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00189 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.145.44.22' WHERE u.id=1
0.00095 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.44.22', 1732807923)
0.00071 SELECT * FROM punbb_online WHERE logged<1732807623
0.00081 SELECT topic_id FROM punbb_posts WHERE id=278530
0.00131 SELECT id FROM punbb_posts WHERE topic_id=26653 ORDER BY posted
0.00079 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=26653 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00109 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=26653 ORDER BY p.id LIMIT 0,25
0.00101 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26653
Total query time: 0.00885 s