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
chce kontrolowac download i upload serwera a nie tylko userow.
slyszalem o czyms takim jak imq. ale za ch. nie wiem jak zrobic przekierowanie calego ruchu na interfejs imq. hyba jeden interfejs bedzie mi potrzebny do tego bo upload mozna spokojnie kontrolowac serwera jak i userow.
bede uzywal jaja 2.6.* i pytanie moje jest takie czy cos trzeba patchowac czy nie. zaznaczylem wszystkie mozliwe opcje w networking :)
prosilbym o nakierowanie na jakis fajny opis co i jak krok po kroku.
caly cel tego jest taki ze bede se sciagal na serwie co bede chcial a w nocy jak nikt niema wlaczonych kompow to bedzie isc ile wlezie.
Offline
www.inet.one.pl
tam masz skrypty do dzielenia łącza w tym i serwera wszystko jest zrobione na hfsc, instalka dobrze opisana. Albo zainstaluj albo sobie opczaj co i jak.
Offline
ok dzieki ale ja bym chcial samemu to zrobic od podstaw
jak postawic imq i jak przekierowac na imq dane.
a czy hfsc jest lepsze od htb ?
potrzebuje tez zrobic dla 6 kompow ta sama kolejka (pasmo)
prosze o odpowiedz albo nakierowanie co i jak ?
dzieki
Offline
wszystko jest ladnie opisane na http://www.linuximq.net/ ale jak ci sie nie chce czytac to przedstawaim streszczenie:
(opis jest dla kerneli 2.6, ale dla 2.4 robi sie to bardzo podobnie)
- sciagasz sobie patch:
#wget http://www.linuximq.net/patchs/linux-2.6.14-imq6.diff
- i jescze jeden do iptables ( uwaga w zaleznosci jak masz wersje iptables taki patch sciagnij)
#wget http://www.linuximq.net/patchs/iptables-1.3.0-imq1.diff
kopiujesz patche w odpowiednie miejsca czyli linux-2.6.14-imq6.diff do srodel kernela ( u mnie /usr/src/linux ) i
#cp linux-2.6.14-imq6.diff /usr/src/linux
#cd /usr/src/linux
#patch -p1 < linux-2.6.14-imq6.diff
tak samo robisz z iptables ( u mnie w /usr/src/iptables )
#cp iptables-1.3.0-imq1.diff /usr/src/iptables
#cd /usr/src/iptables
#patch -p1 < iptables-1.3.0-imq1.diff
teraz spowrotem do /usr/src/linux i make menuconfig, potrzebujesz zaznaczyc 2 opcje:
networking -> networking options -> network packet filtering ->
ip:netfilter configuration -> [*] IMQ target support
oraz
device drivers -> network device support -> <*> IMQ ( bla bla ) support
jak juz to zrobisz to kompilujesz na nowo jajko i odpalasz ( mozesz sobie zrobic to jako modul, i nie musialbys rekompilowac jajka, ale ja jakos wole to miec wkompilowane )
po pomyslnym restarcie mozesz sprawdzc czy imq jest widzane w systemie:
#ip link set imq0 up
#ip link set imq1 up
i sprawdzasz:
# ip link show | grep imq
3: imq0: <NOARP> mtu 1500 qdisc noop qlen 30
4: imq1: <NOARP,UP> mtu 1500 qdisc htb qlen 30
jest ok, mam 2 imq z czego 1 jest podniesiony,
teraz weracamy do iptables:
#cd /usr/src/iptables
#chmod +x extensions/.IMQ-test*
#make
#make install
a do firewalla dopisujesz
iptables -t mangle -A POSTROUTING -o [i] interfejs_do_lanu [/i] -j IMQ --todev 0
iptables -t mangle -A PREROUTING -i [i] interfejs_do_lanu [/i] -j IMQ --todev 1
zaleta tego rozwiazanie jest ze pakiety trafiaja do imq zanim zosta zNATowane wiec moszesz spokojnie w filtrach htb uzywac
... u32 match ip dst [i]ip_lokalne[/i] ...
... u32 match ip [b]src[/b][i]ip_lokalne[/i] ...
pozdrawiam
Offline
Brawo za opis czegoś takiego szukałem żęby wprowadzić lekkie zmiany w tym z inet dzięki.
Offline
fajnie poszlo wszystko ale nie jestem pewien co do tego:
zaleta tego rozwiazanie jest ze pakiety trafiaja do imq zanim zosta zNATowane wiec moszesz spokojnie w filtrach htb uzywac
... u32 match ip dst ip_lokalne ...
... u32 match ip srcip_lokalne ... [/quote]
w konfiguracji jaja zaznacza sie jak ma sie zachowywac imq ja hyba dalem tak ze postrouting
Offline
nie trzeba zmieniac domyslnej konfiguracji imq
Offline
jesli dobrze rozumiem to jak przekieruje ruch do imq1 i imq0 to nie potrzebuje robic kolejki do sieci lan. bo bede neta ograniczal na imq1 i imq0 a nie na eth*
aha i jak wrzucic 6 kompow zeby uzywali tej samej kolejki (1 mb na 6 kompow i jak jeden z nich zapcha to ich sprawa)
jeszcze nie kumam jednego
iptables -t mangle -A POSTROUTING -o interfejs_do_lanu -j IMQ --todev 0
iptables -t mangle -A PREROUTING -i interfejs_do_lanu -j IMQ --todev 1 [/quote]
czy imq1 mam traktowac do robiena kolejek zeby ograniczac download do serwera i kompow w sieci a imq0 do uploadu ?
jak to wogule rozpoznac ?[/code]
Offline
jesli dobrze rozumiem to jak przekieruje ruch do imq1 i imq0 to nie potrzebuje robic kolejki do sieci lan. bo bede neta ograniczal na imq1 i imq0 a nie na eth* [/quote]
tak dobrze rozumiesz, wszystkie kolejki bede podczepiane do virtualnych interfejsow wiec nie ma potrzeby dublowania ich dla kart eth*
aha i jak wrzucic 6 kompow zeby uzywali tej samej kolejki (1 mb na 6 kompow i jak jeden z nich zapcha to ich sprawa) [/quote]
kolejkowanie robisz dokladnie tak samo jak by to byly interfejsy fizyczne, jak sobie 6 kompw wrzucisz do 1 kolejki to 1 komp bedzie mogl zabrac cale pasmo
jeszcze nie kumam jednego
iptables -t mangle -A POSTROUTING -o interfejs_do_lanu -j IMQ --todev 0
iptables -t mangle -A PREROUTING -i interfejs_do_lanu -j IMQ --todev 1
[/quote]
czy imq1 mam traktowac do robiena kolejek zeby ograniczac download do serwera i kompow w sieci a imq0 do uploadu ?
jak to wogule rozpoznac ?[/quote]
jak ruch bedzie terafial na jaki virtualny interfejs to juz zalezy od ciebie,
powyzsze reguły robia to tak, ze caly ruch jak ma wyjsc z interfejsu lanowego na koniec trafia jeszcze to imq0 - wiec na imq0 ograniczas download dla kazdego z uzytkownikow. natomiast caly ruch jaki wchodzi na ten interfejs jest najpierw kierowany do imq1 - wiec imq1 kolejkuje uploda
Nie ma nie idzie... jest nie umiem.Offline
mam jeszcze pytanie odnosnie tego czy mozna podawac zakres portow w htb?
czy takie cos zadziala ?
tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 84.40.128.239 dport 4000:4030 0xffff flowid 1:5
Offline
Time (s) | Query |
---|---|
0.00019 | SET CHARSET latin2 |
0.00014 | SET NAMES latin2 |
0.00110 | 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.225.254.81' WHERE u.id=1 |
0.00061 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.225.254.81', 1732606182) |
0.00065 | SELECT * FROM punbb_online WHERE logged<1732605882 |
0.00086 | DELETE FROM punbb_online WHERE ident='18.119.125.61' |
0.00076 | DELETE FROM punbb_online WHERE ident='3.136.22.204' |
0.00080 | DELETE FROM punbb_online WHERE ident='3.136.236.178' |
0.00216 | DELETE FROM punbb_online WHERE ident='3.22.249.229' |
0.00045 | SELECT topic_id FROM punbb_posts WHERE id=28674 |
0.00028 | SELECT id FROM punbb_posts WHERE topic_id=2856 ORDER BY posted |
0.00077 | 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=2856 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00099 | 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=2856 ORDER BY p.id LIMIT 0,25 |
0.00082 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=2856 |
Total query time: 0.01066 s |