23 Lipca 2024 23:53:26
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· Switch zasilany prze...
· [Howto] Xpenology na...
· Asus TUF-AX3000_V2 p...
· Kto "steruje" MAC ad...
· [MOD] FreshTomato-AR...
· [MOD] Tomato64 (x86-64)
· Jaki router do 1000/...
· Omv raid 0
· [S] Orange Pi Lite
· Ustawienie domyślne...
· AX-88U - po wgraniu ...
· Szukam zaproszenia n...
· [S] Netgear AC2600 R...
· Openvpn+klient android
· Połączenie vpn i c...
· [HOWTO] OpenVPN serv...
· [S] edgerouter er-12
· Dostęp do urządzen...
· Brak dostępu do ust...
· Takedown 2000
Najpopularniejsze obecnie wątki
· [MOD] FreshTomato... [883]
· [MOD] Tomato64 (x... [58]
· [Howto] Xpenology... [32]
· Asus TUF-AX3000_V... [20]
· Switch zasilany p... [4]
· Kto "steruje" MAC... [2]
Ankieta
Jaki procesor posiada twój router?

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

Broadcom ARM
Broadcom ARM
52% [217 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: 417
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
44.192.44.30
Zobacz wątek
OpenLinksys » :: OPROGRAMOWANIE :: » Tomato - firmware
 Drukuj wątek
QOS download dla zielonych - gotowy skrypt
franek_89
Cześć, jeśli chodzi o tomato to jestem zupełnie zielony i dopiero zaczynam się w to bawić, czy może mi ktoś wytłumaczyć krok po kroku jak mam wgrać ten skrypt do routera?
Mam Ovislinka Wl1600GL z Tomato 1.27PL
 
shibby
sprobuj poprostu wkleic do w firewalla.
Poniewaz rozmiar skryptu firewall jest ograniczony, pousuwaj wszystkie zbedne (opisowe) linie zaczynajace sie od // i pozostaw tylko te potrzebne (czyli pozostale po usunieciu tych z //).

Jak sie nie zmiesci to pozostaje konsolowe vi lub scp
Proxmox VE: i7-7700T, 64GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
kapryk
Witam. Mam problem z działaniem skrypu (wersja z 1 posta). Wystarczy, że ktokolwiek w sieci zacznie ściągać (torrent, ftp, itp.) to pingi w grach podnoszą się z ok 60ms do grubo ponad 300ms. Wg "tc -s class show dev br0" pakiety trafiają do odpowiednich klas. Proszę o analizę mojego skryptu, coś muszę mieć skopane.

Skrypt wygląda tak:
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=1900

WWWMAX=1000000

PRIO0="27950,3074,88"
PRIO1="20:87,89:110,443"

P2P="18996"

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:11 htb rate 1024kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:12 htb rate 512kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 100kbit ceil ${CEIL}kbit prio 4

$TQA parent 1:10 handle 10: $SFQ
$TQA parent 1:11 handle 11: $SFQ
$TQA parent 1:12 handle 12: $SFQ
$TQA parent 1:13 handle 13: $SFQ

$TFA parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
$TFA parent 1:0 prio 1 protocol ip handle 11 fw flowid 1:11
$TFA parent 1:0 prio 3 protocol ip handle 12 fw flowid 1:12
$TFA parent 1:0 prio 4 protocol ip handle 13 fw flowid 1:13

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 -m layer7 --l7proto bittorrent -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -m layer7 --l7proto xboxlive -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 11


tc -s class show dev br0
class htb 1:11 parent 1:1 leaf 11: prio 1 rate 1024Kbit ceil 1900Kbit burst 2880b cburst 3974b
Sent 210274 bytes 301 pkts (dropped 0, overlimits 0)
lended: 275 borrowed: 26 giants: 0
tokens: 18125 ctokens: 13545

class htb 1:1 root rate 1900Kbit ceil 1900Kbit burst 3974b cburst 3974b
Sent 210274 bytes 301 pkts (dropped 0, overlimits 0)
lended: 26 borrowed: 0 giants: 0
tokens: 13545 ctokens: 13545

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

class htb 1:13 parent 1:1 leaf 13: prio 4 rate 100000bit ceil 1900Kbit burst 1724b cburst 3974b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 113049 ctokens: 13710

class htb 1:12 parent 1:1 leaf 12: prio 3 rate 512000bit ceil 1900Kbit burst 2240b cburst 3974b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 28672 ctokens: 13710





 
efreet
Witam,
Mam pytanie odnosnie wersji skryptu z CONMARK. Nie jest dla mnie jasne ta czesc skryptu:

$TCA parent 1:1 classid 1:10 htb rate 256kbit ceil 256kbit prio 1
$TCA parent 1:1 classid 1:20 htb rate 1492kbit ceil ${CEIL}kbit prio 2
$TCA parent 1:1 classid 1:30 htb rate 1024kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:40 htb rate 128kbit 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

Dlaczego przy tworzeniu filtrow poslugujemy sie znacznikami z zakresu 1-4, mimo iz wczesniej uzywalismy {10,20,30,40}. Analogicznie, dlaczego priorytety sa {10,20,30,40}, mimo iz wczesniej byly 1-4? Czy to zwykla literowka, czy stoi za tym wiekszy sens?
I na konic, co to wlasciwie jest filtr, i po co sie go okresla, i w jeo budowie powiela to co sie juz wpisalo przy tworzeniu kolejek i klas? Czy to jest tak ze filtr to taka pod klasa klasy, z mozliwoscia okreslenia wewnetrznych priorytetow?
 
adriaanek
słuchajcie , czy dobrze mam zrobiony skrypt ? Smile
moglby ktos rzucic okiem ?


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=1450
WWWMAX=1000000
PRIO0="27964,27015:27016,27045"
PRIO1="20:110"
P2P="48805"

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 1
$TCA parent 1:1 classid 1:20 htb rate 740kbit ceil ${CEIL}kbit prio 2
$TCA parent 1:1 classid 1:30 htb rate 326kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:40 htb rate 128kbit 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 4
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 4
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 1
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 1
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 2
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 2
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 3
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 3
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 4
iptables -t mangle -A PREROUTING -m layer7 --l7proto shoutcast -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 2


ASUS RT-N16 + Tomato Firmware 1.28.0000 MIPSR2-121 K26 USB AIO
 
stalminator
Zastanawiam się czy istnieje możliwość pewnej modyfikacji skryptu z głównego wątku, a dokładniej tej części:

// reguly dla PRIO1
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

// reguly dla PRIO2
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

Jak zostało wyjaśnione w temacie po przekroczeniu WWWMAX na PRIO1 ruch zaczyna być klasyfikowany jako PRIO2, czyli markowanie następuje na tym samym PRIO na którym zostało przekroczone WWWMAX. Teraz moje pytanie - czy da się przekształcić skrypt w taki sposób, aby po przekroczeniu WWWMAX powiedzmy na PRIO0 markował w żądany sposób tylko np.PRIO2 i PRIO3, pozostawiając bez zmian PRIO0 ?. Zdaje sobie sprawę, że mogą być trudności ze zrozumieniem o co mi chodzi więc spróbuje objaśnić jakoś bardziej obrazowo ;P. Dajmy na to niech PRIO0 to tylko porty gry, PRIO1,PRIO2,PRIO3 to cała reszta którą w jakiś tam sposób sobie skonfigurowałem. W momencie uruchomienia gry zostaje przekroczone WWWMAX (ustawiona jakaś mała wartość np.10) na PRIO0, zrobić bym teraz chciał tak, że w skutek tego PRIO1,PRIO2,PRIO3 zostaje zamarkowane w jakiś określony przeze mnie sposób. Da się to moje widzimisię jakoś rozwiązać w skrypcie, czy operacja taka jest nie do wykonania ?.
 
buniusie
Kurcze czytam czytam i dupa blada jestem tępy ech Moze pomożecie mi mam łacze 2m wyjscie 512 W domu sa dwa stacjonarne 1 laptop Może ktos napisze mi skrypt bede wdzieczny i oczywiscie wynagrodze za prace 1 komputer 1400 / 300 2 600 /25o Moje GG 12890876
 
losiu
Moje pytanie dotyczy pierwszego postu to jest ustawienie do downloadu a przydało by mi się do uploadu - żeby w jednym skrypcie był qos dla download i upload. Czy mógł by ktoś na podstawie tego skryptu dopisać linijki z qos dla uplodu.
 
cross
Mam pytanie w jakim celu stosować to? Czy do optymalizacji sieci, która działa prawidłowo bez QoS i Bandwidth Limiter?

Miałem problem taki, że ustawiłem Bandwidth limiter i chciałem ustawić dla klas IP dopisanych na routerze taką a taka prędkość a reszta bez dodanych wpisów w DHCP miała mieć ograniczone prędkości. Wynik był taki, że dla klas dopisanych dałem max DLrate i DLceil skutkiem czego przy utorrencie odpalając go nie otwierały mi się żadne strony. Ucząc się w ten sposób na podstawie błędów swoich doszedłem do wniosku ze Limiter ustawię tylko dla sieci Bezprzewodowej Gościa, dla br1 a resztę wywalę. Teraz wszystko działa. Pytanie czy powyższe zastosowanie jest potrzebne dla małych sieci ? Wydaje mi się, że nie.
 
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: 58

· Użytkowników online: 0

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

ptyku
29-06-2024 15:16
hi, mam problem z routerkiem RT-AC88u a dokładniej z wgraniem nowego firmware.

tamtosiamto
03-06-2024 16:24
poszlo w koncu -najpierw przez restoration jakies stare ddwrt, potem z menu update plik ac66u z art o zmianie 868l->ac66u

tamtosiamto
02-06-2024 21:44
trx size 44560384 > memory size 33554432 nigdy czegos takiego nie widzialem podczas flashowania rutera

tamtosiamto
02-06-2024 21:37
wgrywanie ddwrt z opisu zmiany softu z dlinka na asusa nic nie daje, dalej startuje tomato, wgranie ddwrt dla ac66u wchodzi, ale z niego tez nie da sie wgrac ofw asusa i merlina, kicha

tamtosiamto
02-06-2024 19:57
Probowal ktos wrocic z tomata do OFW ASAUSa na przerowbionym DIR868l -> rt-ac66u ? Ni cholery nie moge dac sobie rady.

RaTaJ
10-05-2024 15:43
Czy intel n100 4x 3,40Ghz z Intel HD i DDR5 byłby dobry, widziałem za 550zł z 8gb ram i ssd 512gb?

Adooni
26-04-2024 14:41
jaki router RMerlin nie pociagne, tomato/ openwrt tak non hilink,

tamtosiamto
23-04-2024 12:35
modem bez smilocka?

man1
22-04-2024 23:27
Czy próbował ktoś uzywac karty voice (z nolimit GB) od tmobile w modemie /routerze? Da się jakoś to zrobić? Bo u mnie neta brak. E3372 Sad

tamtosiamto
31-03-2024 12:54
Wesolego jajka wszytskim forumowiczom Grin

78,399,168 unikalnych wizyt