25 Listopada 2024 12:40:19
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· DIR868l OFW asus vs ...
· Nowe routery: UX, UC...
· [S] Asus RT-AC56U
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
Najpopularniejsze obecnie wątki
· DIR868l OFW asus ... [11]
· Nowe routery: UX,... [0]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
3.12.161.151
Zobacz wątek
OpenLinksys » :: OPROGRAMOWANIE :: » Tomato - firmware
 Drukuj wątek
QOS download dla zielonych - gotowy skrypt
liamk

Cytat

Manieczek napisał/a:
No niestety ten skrypt nie sprawdza się u mnie , pingi w counter strike skaczą mi od 80 do 120 , a to uniemożliwia granie.


prawdopodobnie cos zle ustawiles Smile

Czasem zdaza sie tez, ze jakis cwaniak p2p w interecie (nie w twojej sieci) ustawi sobie torrenta na portach typowych dla CS source i wtedy jesli polaczysz sie akurat do niego to router to polaczenie sklasyfikuje z najwyzszym prio - taj jak bys sie laczysz do servera CS.
Mialem dwa takie przypadki przez tydzien - ip tych cwaniakow ma teraz regulke DROP Smile

Reasymujac, ten skrypt dziala - nie ma opcji by bylo inaczej, jendak trzeba wiedziec jak go uzyc i dpopasowac pod swoja siec.
Sprawdzales czy aby napewno wszytko jest OK?
iptables -L -t mangle
tc -s class show dev br0
Do jakiej klasy trafiaja pakiety CS'a?, gdzie laduje p2p?

ps.
tytul mposta moze byc nieco mylacy - to jest conf "dla zielonych" w temacie uzycia htb czy tc ale majacych przyajmniej ogolna wiedze z zakresu qos, dobra z iptables, podstawowa znajomosc linuxa (cp, rm, grep, cat, vi itp.) tez mile widziana.
Edytowany przez liamk dnia 08-02-2009 13:37
 
Manieczek
Limak może napisał byś skrypt pod moje łącze ? Łącze 2048/1024 trzy kompy , 2 PC 1 laptop na wifi . Na moim PC czasami śmiga torrent , ale głównie CSS na lapku www i torrent dosyć często , a na drugim PC głównie bershare . Router WRT54GL Tomato Firmware v1.23.8025 . Powiedz jeszcze czy zaznaczać "Activate PFifo" i "Enable TCP Vegas" ?

# iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
BCOUNT 0 -- anywhere anywhere
MARK tcp -- anywhere anywhere mport dports 4662,4
672,55555,27447 MARK set 0xd
RETURN tcp -- anywhere anywhere mport dports 4662,4
672,55555,27447
MARK udp -- anywhere anywhere mport dports 4662,4
672,55555,27447 MARK set 0xd
RETURN udp -- anywhere anywhere mport dports 4662,4
672,55555,27447
MARK tcp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017 MARK set 0xa
RETURN tcp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017
MARK udp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017 MARK set 0xa
RETURN udp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017
MARK tcp -- anywhere anywhere mport sports ftp-da
taPfftop3 bcount --range 0:1000000 MARK set 0xb
RETURN tcp -- anywhere anywhere mport sports ftp-da
taPfftop3 bcount --range 0:1000000
MARK udp -- anywhere anywhere mport sports 20Pfftop
3 bcount --range 0:1000000 MARK set 0xb
RETURN udp -- anywhere anywhere mport sports 20Pfftop
3 bcount --range 0:1000000
MARK tcp -- anywhere anywhere mport sports ftp-da
taPfftop3 bcount --range 1000001+ MARK set 0xc
RETURN tcp -- anywhere anywhere mport sports ftp-da
taPfftop3 bcount --range 1000001+
MARK udp -- anywhere anywhere mport sports 20Pfftop
3 bcount --range 1000001+ MARK set 0xc
RETURN udp -- anywhere anywhere mport sports 20Pfftop
3 bcount --range 1000001+
MARK 0 -- anywhere anywhere MARK set 0xd
CONNMARK 0 -- anywhere anywhere CONNMARK restore ma
sk 0xff

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain QOSO (2 references)
target prot opt source destination
BCOUNT 0 -- anywhere anywhere
CONNMARK 0 -- anywhere anywhere CONNMARK restore ma
sk 0xff
RETURN 0 -- anywhere anywhere CONNMARK match !0x0
/0xff00
CONNMARK udp -- anywhere anywhere mport sports 55555,
27447 CONNMARK set-return 0x104/0xff
CONNMARK tcp -- anywhere anywhere mport sports 55555,
27447 CONNMARK set-return 0x104/0xff
CONNMARK udp -- anywhere anywhere ipp2p v0.8.2 --ipp2
p CONNMARK set-return 0x104/0xff
CONNMARK tcp -- anywhere anywhere ipp2p v0.8.2 --ipp2
p CONNMARK set-return 0x104/0xff
CONNMARK udp -- anywhere anywhere mport dports 28008,
27015,27044,47015 CONNMARK set-return 0x1/0xff
CONNMARK tcp -- anywhere anywhere mport dports 28008,
27015,27044,47015 CONNMARK set-return 0x1/0xff
CONNMARK udp -- anywhere anywhere udp dpts:20Pfftop3 bc
ount --range 0:524287 CONNMARK set-return 0x2/0xff
CONNMARK tcp -- anywhere anywhere tcp dpts:ftp-dataPfft
op3 bcount --range 0:524287 CONNMARK set-return 0x2/0xff
CONNMARK udp -- anywhere anywhere udp dpts:20Pfftop3 bc
ount --range 524288+ CONNMARK set-return 0x3/0xff
CONNMARK tcp -- anywhere anywhere tcp dpts:ftp-dataPfft
op3 bcount --range 524288+ CONNMARK set-return 0x3/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto skyp
etoskype CONNMARK set-return 0x102/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto skyp
etoskype CONNMARK set-return 0x102/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto shou
tcast CONNMARK set-return 0x102/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto shou
tcast CONNMARK set-return 0x102/0xff
CONNMARK 0 -- anywhere anywhere CONNMARK set-return
0x4



# tc -s class show dev br0
class htb 1:1 root rate 1850Kbit ceil 1850Kbit burst 3911b cburst 3911b
Sent 593234086 bytes 914130 pkts (dropped 0, overlimits 0)
rate 237088bit 70pps
lended: 630686 borrowed: 0 giants: 0
tokens: 13688 ctokens: 13688

class htb 1:20 parent 1:1 leaf 20: prio 2 rate 900000bit ceil 1850Kbit burst 272
4b cburst 3911b
Sent 418852 bytes 1223 pkts (dropped 0, overlimits 0)
rate 8bit
lended: 1221 borrowed: 2 giants: 0
tokens: 19435 ctokens: 13659

class htb 1:30 parent 1:1 leaf 30: prio 3 rate 512000bit ceil 1850Kbit burst 224
0b cburst 3911b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 28672 ctokens: 13857

class htb 1:40 parent 1:1 leaf 40: prio 4 rate 132000bit ceil 1850Kbit burst 176
4b cburst 3911b
Sent 592815234 bytes 912907 pkts (dropped 0, overlimits 0)
rate 237648bit 69pps
lended: 282223 borrowed: 630684 giants: 0
tokens: -9925 ctokens: 13688

Tak wygląda po wpisaniu tych poleceń.

Zapomniałem dodać że kompy mają ip: 192.168.10,11,12 z końcówką 10 to mój najważniejszy Grin 11 to laptop i 12 pc . Chodzi o to żeby mój kom miał najwyższy priorytet wysyłania i pobierania a lapek i pc mniejszy . Lapek i drugi pc nie mogą mnieć więcej jak 200kb gwarantowanego uploadu .
Edytowany przez Manieczek dnia 08-02-2009 16:24
 
liamk

Cytat

Limak może napisał byś skrypt pod moje łącze ?


1. LiamK, nie limak
2. nie, to nie dziala w ten sposob Smile

widze, ze nie masz klasy na dowlonad 1:10 - ktora prawdopodobnie obsluguje prio 0 (tak na 95% bo nie wiem jak tworzysz klasy i kolejki).
W tej sytuacji bez 1:10 to nie dziwota, ze nie dziala jak powinno.
 
Manieczek
No to nie kumam dlaczego nie ma klasy 1:10 bo w skrypcie jest wpisane

DEV="br0"
TCA="tc class add dev ${DEV}"
TFA="tc filter add dev ${DEV}"
TQA="tc qdisc add dev ${DEV}"
SFQ="sfq perturb 10"
CEIL=1850
WWWMAX=1000000
PRIO0="47015,27118,27461,27092,28008,27015,27044,27017"
PRIO1="20:110"
P2P="4662,4672,55555,27447"
tc qdisc del dev ${DEV} root
tc qdisc add dev ${DEV} root handle 1: htb
tc class add dev ${DEV} parent 1: classid 1:1 htb rate ${CEIL}kbit
$TCA parent 1:1 classid 1:10 htb rate 256kbit ceil 256kbit prio 0
$TCA parent 1:1 classid 1:20 htb rate 900kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:30 htb rate 512kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:40 htb rate 132kbit ceil ${CEIL}kbit prio 4
$TQA parent 1:10 handle 10: $SFQ
$TQA parent 1:20 handle 20: $SFQ
$TQA parent 1:30 handle 30: $SFQ
$TQA parent 1:40 handle 40: $SFQ
$TFA parent 1:0 prio 10 protocol ip handle 1 fw flowid 1:10
$TFA parent 1:0 prio 20 protocol ip handle 2 fw flowid 1:20
$TFA parent 1:0 prio 30 protocol ip handle 3 fw flowid 1:30
$TFA parent 1:0 prio 40 protocol ip handle 4 fw flowid 1:40
iptables -t mangle -A PREROUTING -j BCOUNT
iptables -t mangle -A PREROUTING -p tcp -m mport --dports ${P2P} -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -p tcp -m mport --dports ${P2P} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --dports ${P2P} -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -p udp -m mport --dports ${P2P} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO0} -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO0} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO0} -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO0} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --range 0x0-${WWWMAX} -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --range 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --range 0x0-${WWWMAX} -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --range 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --range $(($WWWMAX+1)) -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --range $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --range $(($WWWMAX+1)) -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --range $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark --mask 0xff


 
liamk
przy takim skrypcie nie ma szans dzialac... Prosze przeczytaj ze ZROZUMIENIEM pierwszy post i ten z connmark bo to co zrobiles jest bezmyslnym polaczeniem obu wersji.

zobacz co robisz:
$TFA parent 1:0 prio 10 protocol ip handle 1 fw flowid 1:10
$TFA parent 1:0 prio 20 protocol ip handle 2 fw flowid 1:20
$TFA parent 1:0 prio 30 protocol ip handle 3 fw flowid 1:30
$TFA parent 1:0 prio 40 protocol ip handle 4 fw flowid 1:40

czyli pakiety zamarkowane 1,2,3,4 przypisujesz do klas

a potem do iptables dodajesz:
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO0} -j MARK --set-mark 10

czyli markujesz dziesiatka - dla ktorej obslugi nie masz klasy... bo hadle masz 1-4...

dodatkowo na koncu masz jeszcze
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark --mask 0xff
czyli przywrocenie markow z QOS out.
Edytowany przez liamk dnia 08-02-2009 18:21
 
Manieczek
Wpisałem skrypt od nowa tylko to z pierwszego posta , ale teraz nie działa polecenie "tc -s class show dev br0" . Czy mógł byś podpowiedzieć jeszcze co trzeba wpisać żeby przyciąć upload na dwóch kompach .
 
liamk

Cytat

Manieczek napisał/a:
Wpisałem skrypt od nowa tylko to z pierwszego posta , ale teraz nie działa polecenie "tc -s class show dev br0" . Czy mógł byś podpowiedzieć jeszcze co trzeba wpisać żeby przyciąć upload na dwóch kompach .


tc nie moze nie dzialac Grin ono dziala tylko, ze pewnie nic nie pokazuje bo cos musiales skopac przepisujac skrypt :/
Pozatym ten skrypt nie jest do "przepisania" tylko do obczajenia o co biega i napisania swojego.
Chyba jendak pozostaje Ci tylko generator robsona B) coprawda nie oferuje tych mozliwosc co moj skrypt ale tam trudno cos "skopac".
 
Manieczek
Dzięki za skrypt i porady jakoś sobie wreszcie poradziłem . Działa idealnie

# tc -s class show dev br0
class htb 1:11 parent 1:1 leaf 11: prio 1 rate 1024Kbit ceil 1900Kbit burst 2880
b cburst 3974b
Sent 17482277 bytes 15274 pkts (dropped 0, overlimits 0)
rate 2776bit
lended: 10828 borrowed: 4446 giants: 0
tokens: 18125 ctokens: 13545

class htb 1:1 root rate 1900Kbit ceil 1900Kbit burst 3974b cburst 3974b
Sent 220868390 bytes 1718001 pkts (dropped 0, overlimits 0)
rate 91408bit 141pps
lended: 790480 borrowed: 0 giants: 0
tokens: 13545 ctokens: 13545

class htb 1:10 parent 1:1 leaf 10: prio 0 rate 256000bit ceil 256000bit burst 19
20b cburst 1920b
Sent 106288 bytes 727 pkts (dropped 0, overlimits 0)
rate 72bit
lended: 727 borrowed: 0 giants: 0
tokens: 47309 ctokens: 47309

class htb 1:13 parent 1:1 leaf 13: prio 4 rate 108000bit ceil 1900Kbit burst 173
4b cburst 3974b
Sent 192519030 bytes 1694887 pkts (dropped 0, overlimits 0)
rate 83640bit 136pps
lended: 913915 borrowed: 780972 giants: 0
tokens: 94058 ctokens: 13545

class htb 1:12 parent 1:1 leaf 12: prio 3 rate 512000bit ceil 1900Kbit burst 224
0b cburst 3974b
Sent 10760795 bytes 7113 pkts (dropped 0, overlimits 0)
lended: 2051 borrowed: 5062 giants: 0
tokens: 28058 ctokens: 13545


Teraz polecenie wygląda tak
Edytowany przez Manieczek dnia 09-02-2009 14:50
 
liamk

Cytat

Manieczek napisał/a:
Dzięki za skrypt i porady jakoś sobie wreszcie poradziłem . Działa idealnie


gratuluje Smile
btw. pamietaj, ze trzeba jeszcze ustawic priorytety dla ruchu wychodzacego - ale to juz przez interface tomato przez www - czyli banal.

A na cwaniakow z p2p na porcie 53 albo 27015 (CS) mozna dodac regule L7.
Staraczy kazdy pakiet lecacy do PRI0 njapierw przez L7 sprawdzic czy czasem nie jest p2p i jesli tak, to zamarkowac do najnizszego prio albo lepiej DROP - brak litosci dla chamow Smile

ps. jak juz zrobiles wersje pierwsza skryptu to polecam pokombinowac z wersja druga - jest o wiele szybsza dla routera i w sumie prostsza do zaimplemetnowania i konfiguracji (w zaleznosci od obcazenia i ilosci L7 oszczedzisz nawet pare ms na pingu w CS)
Kolejna zaleta - dopoki nie dodasz nowych klas to klasyfikacja OUT oraz IN mozesz zarzadzac z poziomu interface tomato przez www - bez logowania przez ssh.

Ja obecnie (i chyba juz docelowo) jade na drugiej wersji skryptu z drzewiastymi klasami na 3 klientow. Szczegoly : http://luxik.cdi.cz/~devik/qos/htb/ma.../userg.htm
 
Manieczek
Teraz polecenia wyglądają tak :

# iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
TTL 0 -- anywhere anywhere TTL increment by 1
BCOUNT 0 -- anywhere anywhere
MARK tcp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017 MARK set 0xa
RETURN tcp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017
MARK udp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017 MARK set 0xa
RETURN udp -- anywhere anywhere mport sports 47015,
27118,27461,27092,28008,27015,27044,27017
MARK tcp -- anywhere anywhere mport sports ftp-da
ta,ftp,www,pop3 bcount --range 0:1000000 MARK set 0x14
RETURN tcp -- anywhere anywhere mport sports ftp-da
ta,ftp,www,pop3 bcount --range 0:1000000
MARK udp -- anywhere anywhere mport sports 20,fsp
,www,pop3 bcount --range 0:1000000 MARK set 0x14
RETURN udp -- anywhere anywhere mport sports 20,fsp
,www,pop3 bcount --range 0:1000000
MARK tcp -- anywhere anywhere mport sports ftp-da
ta,ftp,www,pop3 bcount --range 1000001+ MARK set 0x1e
RETURN tcp -- anywhere anywhere mport sports ftp-da
ta,ftp,www,pop3 bcount --range 1000001+
MARK udp -- anywhere anywhere mport sports 20,fsp
,www,pop3 bcount --range 1000001+ MARK set 0x1e
RETURN udp -- anywhere anywhere mport sports 20,fsp
,www,pop3 bcount --range 1000001+
MARK 0 -- anywhere anywhere MARK set 0x28
MARK 0 -- anywhere anywhere LAYER7 l7proto shou
tcast MARK set 0x14
MARK 0 -- anywhere anywhere LAYER7 l7proto skyp
etoskype MARK set 0x14
CONNMARK 0 -- anywhere anywhere CONNMARK restore ma
sk 0xff

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
TTL 0 -- anywhere anywhere TTL increment by 1

Chain QOSO (2 references)
target prot opt source destination
BCOUNT 0 -- anywhere anywhere
CONNMARK 0 -- anywhere anywhere CONNMARK restore ma
sk 0xff
RETURN 0 -- anywhere anywhere CONNMARK match !0x0
/0xff00
CONNMARK udp -- anywhere anywhere mport ports 55555,4
4444 CONNMARK set-return 0x104/0xff
CONNMARK tcp -- anywhere anywhere mport ports 55555,4
4444 CONNMARK set-return 0x104/0xff
CONNMARK udp -- anywhere anywhere mport dports 27017,
27015,27044,47015,27035,27020 CONNMARK set-return 0x101/0xff
CONNMARK udp -- anywhere anywhere mport dports 20,fsp
,www,pop3,domain bcount --range 0:524287 CONNMARK set-return 0x2/0xff
CONNMARK tcp -- anywhere anywhere mport dports ftp-da
ta,ftp,www,pop3,domain bcount --range 0:524287 CONNMARK set-return 0x2/0xff
CONNMARK udp -- anywhere anywhere mport dports 20,fsp
,www,pop3 bcount --range 524288+ CONNMARK set-return 0x3/0xff
CONNMARK tcp -- anywhere anywhere mport dports ftp-da
ta,ftp,www,pop3 bcount --range 524288+ CONNMARK set-return 0x3/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto skyp
etoskype CONNMARK set-return 0x102/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto skyp
etoskype CONNMARK set-return 0x102/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto shou
tcast CONNMARK set-return 0x102/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto shou
tcast CONNMARK set-return 0x102/0xff
CONNMARK 0 -- anywhere anywhere CONNMARK set-return
0x4

# tc -s class show dev br0
class htb 1:1 root rate 1850Kbit ceil 1850Kbit burst 3911b cburst 3911b
Sent 359274305 bytes 258402 pkts (dropped 0, overlimits 0)
rate 120bit
lended: 131757 borrowed: 0 giants: 0
tokens: 13603 ctokens: 13603

class htb 1:10 parent 1:1 leaf 10: prio 1 rate 250000bit ceil 256000bit burst 19
11b cburst 1920b
Sent 39091 bytes 310 pkts (dropped 0, overlimits 0)
rate 32bit
lended: 310 borrowed: 0 giants: 0
tokens: 48234 ctokens: 47309

class htb 1:20 parent 1:1 leaf 20: prio 2 rate 1000Kbit ceil 1850Kbit burst 2849
b cburst 3911b
Sent 105066196 bytes 86344 pkts (dropped 0, overlimits 0)
rate 88bit
lended: 62241 borrowed: 24103 giants: 0
tokens: 18363 ctokens: 13688

class htb 1:30 parent 1:1 leaf 30: prio 3 rate 500000bit ceil 1850Kbit burst 222
4b cburst 3911b
Sent 254169018 bytes 171748 pkts (dropped 0, overlimits 0)
lended: 64094 borrowed: 107654 giants: 0
tokens: 28534 ctokens: 13688

class htb 1:40 parent 1:1 leaf 40: prio 4 rate 100000bit ceil 1850Kbit burst 172
4b cburst 3911b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 113049 ctokens: 13857

Nie wiem czy dobrze wszystko zrobiłem Grin

A tak wygląda skrypt :

modprobe ipt_layer7
DEV="br0"
TCA="tc class add dev ${DEV}"
TFA="tc filter add dev ${DEV}"
TQA="tc qdisc add dev ${DEV}"
SFQ="sfq perturb 10"
CEIL=1850
WWWMAX=1000000
PRIO1="47015,27118,27461,27092,28008,27015,27044,27017"
PRIO2="20,21,80,110"
tc qdisc del dev ${DEV} root
tc qdisc add dev ${DEV} root handle 1: htb default 40
tc class add dev ${DEV} parent 1: classid 1:1 htb rate ${CEIL}kbit
$TCA parent 1:1 classid 1:10 htb rate 250kbit ceil 256kbit prio 1
$TCA parent 1:1 classid 1:20 htb rate 1000kbit ceil ${CEIL}kbit prio 2
$TCA parent 1:1 classid 1:30 htb rate 500kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:40 htb rate 100kbit ceil ${CEIL}kbit prio 4
$TQA parent 1:10 handle 10: $SFQ
$TQA parent 1:20 handle 20: $SFQ
$TQA parent 1:30 handle 30: $SFQ
$TQA parent 1:40 handle 40: $SFQ
$TFA parent 1:0 prio 1 protocol ip handle 10 fw flowid 1:10
$TFA parent 1:0 prio 2 protocol ip handle 20 fw flowid 1:20
$TFA parent 1:0 prio 3 protocol ip handle 30 fw flowid 1:30
$TFA parent 1:0 prio 4 protocol ip handle 40 fw flowid 1:40
iptables -t mangle -A PREROUTING -j BCOUNT
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO2} -m bcount --range 0x0-${WWWMAX} -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO2} -m bcount --range 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO2} -m bcount --range 0x0-${WWWMAX} -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO2} -m bcount --range 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO2} -m bcount --range $(($WWWMAX+1)) -j MARK --set-mark 30
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO2} -m bcount --range $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO2} -m bcount --range $(($WWWMAX+1)) -j MARK --set-mark 30
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO2} -m bcount --range $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -j MARK --set-mark 40
iptables -t mangle -A PREROUTING -m layer7 --l7proto shoutcast -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark --mask 0xff

Stronki które podajesz są po angielsku , a z tym u mnie ciężko Grin
Edytowany przez Manieczek dnia 12-02-2009 12:09
 
Andrzejas
na wstępie napiszę że jestem zielony w tych sprawach
zgrałem skrypt z 1 posta dokonałem poprawek wg 1 posta, uruchomiłem JFFS2, uruchomiłem /cifs1, następnie skopiowałem skrypt (/jffs/fw),nadałem prawa chmod 700, uruchomiłem vi, usunąłem ^M zapisałem skrypt, dodałem linię (/jffs/fw) do scripts-firewall, no właśnie i co dalej?, jak wybieram Qos z zakładki jest dalej nie aktywny. Z góry dziękuje za pomoc

ps. mam wrt54gl v1.0 z Tomato Version 1.23.8515
 
croak
Witam, czy byłaby możliwość dopisania jakiejś linijki kodu do tego skryptu, w ten sposób żeby filmy z youtube miały wysoki priorytet? Pytam, ponieważ przy włączonym p2p strony działają szybko, ale już filmików nie da się normalnie oglądać.
 
shibby
ze niby chcesz sciagasz, ogladac filmy na youtube i zeby jeszcze byl ping zajebisty i stronki chodzily idealnie?!? zastanow sie, bo wszystkiego miec nie mozna.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
krzynek1
proszę o wyjaśnienie co dokładnie robi poniższy skrypt :



Chain PREROUTING (policy ACCEPT)
target prot opt source destination
TTL 0 -- anywhere anywhere TTL increment by 1
BCOUNT 0 -- anywhere anywhere
MARK tcp -- anywhere anywhere mport dports 48805 MARK set 0xd
RETURN tcp -- anywhere anywhere mport dports 48805
MARK udp -- anywhere anywhere mport dports 48805 MARK set 0xd
RETURN udp -- anywhere anywhere mport dports 48805
MARK tcp -- anywhere anywhere mport sports 27964,27015:27016,27045 MARK set 0xa
RETURN tcp -- anywhere anywhere mport sports 27964,27015:27016,27045
MARK udp -- anywhere anywhere mport sports 27964,27015:27016,27045 MARK set 0xa
RETURN udp -- anywhere anywhere mport sports 27964,27015:27016,27045
MARK tcp -- anywhere anywhere mport sports ftp-data:pop3 bcount --range 0:1000000 MARK set 0xb
RETURN tcp -- anywhere anywhere mport sports ftp-data:pop3 bcount --range 0:1000000
MARK udp -- anywhere anywhere mport sports 20:pop3 bcount --range 0:1000000 MARK set 0xb
RETURN udp -- anywhere anywhere mport sports 20:pop3 bcount --range 0:1000000
MARK tcp -- anywhere anywhere mport sports ftp-data:pop3 bcount --range 1000001+ MARK set 0xc
RETURN tcp -- anywhere anywhere mport sports ftp-data:pop3 bcount --range 1000001+
MARK udp -- anywhere anywhere mport sports 20:pop3 bcount --range 1000001+ MARK set 0xc
RETURN udp -- anywhere anywhere mport sports 20:pop3 bcount --range 1000001+
MARK 0 -- anywhere anywhere MARK set 0xd
MARK 0 -- anywhere anywhere LAYER7 l7proto shoutcast MARK set 0xb
MARK 0 -- anywhere anywhere LAYER7 l7proto skypetoskype MARK set 0xb

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
QOSO 0 -- anywhere anywhere

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
TTL 0 -- anywhere anywhere TTL increment by 1

Chain QOSO (2 references)
target prot opt source destination
BCOUNT 0 -- anywhere anywhere
CONNMARK 0 -- anywhere anywhere CONNMARK restore mask 0xff
RETURN 0 -- anywhere anywhere CONNMARK match !0x0/0xff00
CONNMARK udp -- anywhere anywhere udp spt:48805 CONNMARK set-return 0x106/0xff
CONNMARK tcp -- anywhere anywhere tcp spt:48805 CONNMARK set-return 0x106/0xff
CONNMARK udp -- anywhere anywhere udp dpt:domain bcount --range 0:2047 CONNMARK set-return 0x1/0xff
CONNMARK tcp -- anywhere anywhere tcp dpt:domain bcount --range 0:2047 CONNMARK set-return 0x1/0xff
CONNMARK udp -- anywhere s14.pifpaf.pl udp dpts:27960:27970 CONNMARK set-return 0x1/0xff
CONNMARK tcp -- anywhere s14.pifpaf.pl tcp dpts:27960:27970 CONNMARK set-return 0x1/0xff
CONNMARK udp -- starzy anywhere CONNMARK set-return 0x4/0xff
CONNMARK tcp -- starzy anywhere CONNMARK set-return 0x4/0xff
CONNMARK udp -- anywhere anywhere mport dports 27015:27016,27045 CONNMARK set-return 0x2/0xff
CONNMARK tcp -- anywhere anywhere mport dports 27015:27016,27045 CONNMARK set-return 0x2/0xff
CONNMARK tcp -- anywhere anywhere mport dports www,https bcount --range 0:524287 CONNMARK set-return 0x2/0xff
CONNMARK udp -- anywhere anywhere mport dports 20:ssh,25 CONNMARK set-return 0x3/0xff
CONNMARK tcp -- anywhere anywhere mport dports ftp-data:ssh,smtp CONNMARK set-return 0x3/0xff
CONNMARK tcp -- anywhere anywhere mport dports www,https bcount --range 524288+ CONNMARK set-return 0x5/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto skypetoskype CONNMARK set-return 0x105/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto skypetoskype CONNMARK set-return 0x105/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto httpaudio CONNMARK set-return 0x105/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto httpaudio CONNMARK set-return 0x105/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto httpvideo CONNMARK set-return 0x105/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto httpvideo CONNMARK set-return 0x105/0xff
CONNMARK udp -- anywhere anywhere LAYER7 l7proto shoutcast CONNMARK set-return 0x105/0xff
CONNMARK tcp -- anywhere anywhere LAYER7 l7proto shoutcast CONNMARK set-return 0x105/0xff
CONNMARK 0 -- anywhere anywhere CONNMARK set-return 0x7

 
shibby
markuje uslugi
Edytowany przez shibby dnia 25-06-2009 14:04
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
krzynek1
wyjaśnij bardziej szczegółowo, co konkretnie ma na celu wprowadzenie conmark bo że markuje usługi to bardzo nie wiele informacji
 
shibby
oznacza dany pakiet danym markiem. po to by pozniej moc skierowac pakiet z danym markiem do odpowiedniej klasy predkosci z odpowiednim priorytetem.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
boomcak
moze by sie ktos pofatygował i napisał generator do QoS taki jak jest do dynamicznego podziału łącza Smile
 
shibby
i co ma taki generator robic?
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
boomcak
no teraz mozna wygenerowac gotowy skrypt dla adresów IP lub dla protokołów HTTP P2P itp - a dobrze by bylo jakby mozna wygenerowac skrypt z obydwoma tymi funkcjami, tzn umiem sobie w skrypcie ustawic ladnie lącze po IP ale nie umiem Qos i chcialbym sobie jeszze wrzucic ta konfiguracje automatycznego podzialu www, p2p, poczta ale jedna z druga sie wyklucza...
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 102

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,728,161 unikalnych wizyt