Freesco, NND, CDN, EOS
http://forum.freesco.pl/

problemy z htb i markowaniem pakietów
http://forum.freesco.pl/viewtopic.php?f=22&t=13834
Strona 1 z 1

Autor:  marcin w [ poniedziałek, 16 października 2006, 10:42 ]
Tytuł:  problemy z htb i markowaniem pakietów

Witam.

Zainstalowałem rc.htb 0.3.3-stable-0.2-NNND-Zciech-05.01.23. Troszkę go zmodyfikowałem do obsługi p2p. Oto jak wygląda po zmianach skrypt htb http://ms.gotdns.com/htb/rc.htb oraz skrypt markujący pakiety http://ms.gotdns.com/htb/fwmarks.htb Jednak jest problem z p2p.
Pakiety p2p nie idą oddzielną klasą, przechodzą klasą tą, w której jest dany użytkownik.
Wydaje mi się że są poprawnie markowane:
Cytuj:
[root@SERWER rc.d]# iptables -t mangle -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
MARK all -- anywhere anywhere ipp2p v0.8.1_rc1 --ipp2p MARK set 0x64
MARK all -- Admin anywhere MARK set 0x2
MARK all -- Jagódka anywhere MARK set 0x3
MARK all -- Jewiak anywhere MARK set 0x4
MARK all -- Kopeć anywhere MARK set 0x5
MARK all -- Lachtara anywhere MARK set 0x6
MARK all -- Lipiec anywhere MARK set 0x7
MARK all -- Pazdzioch anywhere MARK set 0x8
MARK all -- Płaza anywhere MARK set 0x9
MARK all -- Proć anywhere MARK set 0xa
MARK all -- Sliwiński anywhere MARK set 0xb
MARK all -- tel_IP anywhere MARK set 0xc
MARK all -- Witkowska anywhere MARK set 0xd
MARK all -- Wojtek anywhere MARK set 0xe


Czy coś nie tak zrobiłem tworząc klasy dla p2p. Przyznam że z htb jeszcze nigdy nie korzystałem i nie jestem pewien czy poprawnie stworzyłem skrypt.

Autor:  zciech [ poniedziałek, 16 października 2006, 14:55 ]
Tytuł: 

1. ipp2p to malo co wylapuje :(
2. reguly w lancucha PREROUTING tablicy mangle w krorych markujesz nie maja celu powodujacego wyjscie z tabeli (ACCEP, DROP, REJECT, RETURN) i w zwiazku z tym regula zamarkowana nie opuszcza lancucha tylko sprawdzane sa nastepne reguly, co powoduje, ze pakiet zamarkowany przez ipp2p nastepnie trafia do regulu "usera" i tam jego mark jest zmieniany na mark usera.

Autor:  marcin w [ wtorek, 17 października 2006, 11:15 ]
Tytuł: 

1. Czy lepszym rozwiązaniem od ipp2p jest layer7 ?

2. W jaki sposób zamarkować pakiety p2p i przekazać do klasy, w krórej mają być kolejkowane. Tu w tym drugim pukncie to proszę o wskazówki, bo nie bardzo wiem jak to zrobić.

Autor:  marask [ wtorek, 17 października 2006, 11:34 ]
Tytuł: 

Cytuj:
1. Czy lepszym rozwiązaniem od ipp2p jest layer7 ?

zdecydowanie lepszym i skuteczniejszym

Cytuj:
2. W jaki sposób zamarkować pakiety p2p i przekazać do klasy, w krórej mają być kolejkowane. Tu w tym drugim pukncie to proszę o wskazówki, bo nie bardzo wiem jak to zrobić.


skoro mają iść do osobnej kolejki to zrób tak w fwmarks
: [/] [] ()
/sbin/modprobe imq numdevs=2 &>/dev/null
/sbin/ifconfig imq0 up &>/dev/null
$IPT -t mangle -A PREROUTING -m ipp2p --ipp2p -j IMQ --todev 0


to samo zrób dla layer7

Autor:  marcin w [ środa, 18 października 2006, 11:22 ]
Tytuł: 

Dzięki za pomoc. Zrobiłem wg powyższych wskazówek, tzn markuje pakiety i cały ruch przekierowywuje do imq. Wszystko poprawnie działa.

Mam jeszcze pytanie do layer7
W przypadku ipp2p zapis
: [/] [] ()
... -m ipp2p --ipp2p ...
odnosił się do całego ruchu p2p. Czy jest coś takiego w layer7 czy każdy trzeba osobno markować :?:

Autor:  adamol [ środa, 18 października 2006, 14:17 ]
Tytuł: 

Całego.

Autor:  marask [ środa, 18 października 2006, 17:26 ]
Tytuł: 

adamol chya nie zrozumiałeś pytania :)

marcin w musisz każdy z osobna wyznaczyć np:
: [/] [] ()
... -m layer7 --l7proto bittorent -j IMQ --todev 0
... -m layer7 --l7proto edonkey -j IMQ --todev 0


itp

lista:
http://l7-filter.sourceforge.net/protocols

Autor:  marcin w [ poniedziałek, 23 października 2006, 00:16 ]
Tytuł: 

Witam

Wracam do tematu. Musiałem zmienić konfig, gdyż przycinał mi transfer w sieci lokalnej

Ale teraz mam problem. Markuję pakiety przez layer7, w przypadku uploadu jest ok, trafiają do włąściwej klasy. Jedna z downloadem jest inaczej. Pomimo danego marka idą przez klasę usera. Oto fragment moich regułek markowania:
Cytuj:
IPT=/usr/sbin/iptables


$IPT -t mangle -A PREROUTING -s IP-usera -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 100
$IPT -t mangle -A POSTROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 100
$IPT -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1
$IPT -t mangle -A PREROUTING -i eth0 -j IMQ --todev 0

oraz htb

Cytuj:
# INTERFEJS IMQ0 (ruch przychodz±cy)
/sbin/rchtb_tc qdisc add dev imq0 root handle 1:0 htb default 3 r2q 1

# Główna klasa dla imq0
/sbin/rchtb_tc class add dev imq0 parent 1:0 classid 1:1 htb rate 4500kbit ceil 4500kbit

# Podział na pasmo dla ł±cza internetowego i resztę
/sbin/rchtb_tc class add dev imq0 parent 1:1 classid 1:2 htb rate 496kbit ceil 496kbit
/sbin/rchtb_tc class add dev imq0 parent 1:1 classid 1:3 htb rate 4004kbit ceil 4004kbit prio 9
/sbin/rchtb_tc qdisc add dev imq0 parent 1:3 esfq perturb 10 hash dst

# pasmo priorytetowe dla ICMP, TOS 0x10 (min. delay) oraz wybranego portu 22
/sbin/rchtb_tc class add dev imq0 parent 1:2 classid 1:20 htb rate 35kbit ceil 496kbit prio 1 quantum 1500
/sbin/rchtb_tc qdisc add dev imq0 parent 1:20 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq0 protocol ip prio 3 parent 1:0 u32 match ip sport 22 0xffff flowid 1:20
/sbin/rchtb_tc filter add dev imq0 protocol ip prio 2 parent 1:0 u32 match ip tos 0x10 0xff flowid 1:20
/sbin/rchtb_tc filter add dev imq0 protocol ip prio 2 parent 1:0 u32 match ip protocol 1 0xff flowid 1:20

# user1
/sbin/rchtb_tc class add dev imq0 parent 1:2 classid 1:21 htb rate 35kbit ceil 496kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev imq0 parent 1:21 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq0 protocol ip prio 5 parent 1:0 u32 match ip dst 192.168.1.29 flowid 1:21


#user2
.
.
.
#p2p
/sbin/rchtb_tc class add dev imq0 parent 1:2 classid 1:34 htb rate 13kbit ceil 128kbit prio 6 quantum 15000
/sbin/rchtb_tc qdisc add dev imq0 parent 1:34 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq0 parent 1:0 protocol ip prio 7 handle 100 fw flowid 1:34

# transfer serwer->LAN
/sbin/rchtb_tc filter add dev imq0 protocol ip prio 1 parent 1:0 handle 1 fw flowid 1:3


# INTERFEJS IMQ1 (ruch wychodz±cy)
/sbin/rchtb_tc qdisc add dev imq1 root handle 2:0 htb default 11 r2q 1

# główna klasa
/sbin/rchtb_tc class add dev imq1 parent 2:0 classid 2:1 htb rate 339kbit ceil 339kbit

# klasa priorytetowa ACK
/sbin/rchtb_tc class add dev imq1 parent 2:1 classid 2:10 htb rate 24kbit ceil 24kbit prio 1 quantum 1500
/sbin/rchtb_tc qdisc add dev imq1 parent 2:10 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 2 u32 match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 1 match u8 0x10 0xff at 33 flowid 2:10 # ACK

# klasa priorytetowa TOS 0x10 oraz ICMP
/sbin/rchtb_tc class add dev imq1 parent 2:1 classid 2:9 htb rate 6kbit ceil 309kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev imq1 parent 2:9 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 1 u32 match ip tos 0x10 0xff flowid 2:9 # TOS 0x10
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 2 u32 match ip dport 22 0xffff flowid 2:9 # port 22
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 2:9 # ICMP

# ruch serwerowy (pasmo dla go¶ci z zewn±trz)
/sbin/rchtb_tc class add dev imq1 parent 2:1 classid 2:11 htb rate 135kbit ceil 309kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev imq1 parent 2:11 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 3 handle 1 fw flowid 2:11

# user1
/sbin/rchtb_tc class add dev imq1 parent 2:1 classid 2:12 htb rate 13kbit ceil 309kbit prio 2 quantum 1500
/sbin/rchtb_tc qdisc add dev imq1 parent 2:12 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 5 handle 2 fw flowid 2:12

user2
.
.
.
.

#p2p
/sbin/rchtb_tc class add dev imq1 parent 2:1 classid 2:25 htb rate 13kbit ceil 128kbit prio 6 quantum 1500
/sbin/rchtb_tc qdisc add dev imq1 parent 2:25 esfq perturb 10 hash dst
/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 7 handle 100 fw flowid 2:25

/sbin/rchtb_tc filter add dev imq1 parent 2:0 protocol ip prio 9 u32 match ip dst 0/0 flowid 2:11


Walczę z tym już kilka ładnych dni i nie mogę nic zrobić, proszę o pomoc w rozwiązaniu problemu.

Autor:  -MW- [ środa, 21 listopada 2007, 20:56 ]
Tytuł: 

marask pisze:
adamol chya nie zrozumiałeś pytania :)

marcin w musisz każdy z osobna wyznaczyć np:
: [/] [] ()
... -m layer7 --l7proto bittorent -j IMQ --todev 0
... -m layer7 --l7proto edonkey -j IMQ --todev 0


itp

lista:
http://l7-filter.sourceforge.net/protocols



a po co? nie mozna zaznaczyc markiem i jedna regulka sierowac
tam gdzie sie chce?


ps.
archeolog

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/