18 Października 2024 10:05:30
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· Wireguard na FreshTo...
· RT AC66U B1
· [MOD] FreshTomato-MI...
· RT AX 89X
· [S] Asus RT-AC56U
· Czy to jeszcze NAS?
· [Artykuł] Jakie tom...
· [sprzedam] Asus RT-A...
· [S] Asus RT-AC68U E1
· [S] Banana pi bpi-r4...
· Asus TUF-AX3000_V2 p...
· Połączenie VPN mi...
· [MOD] FreshTomato-AR...
· Asus AC-3200 aktuali...
· [S] i7-7700T + płyta
· Jaki router kupić?
· Openvpn+klient android
· Bandwidth -Dzienne M...
· TOMATO VPN GUI - kon...
· [MOD] Tomato64 (x86-64)
Najpopularniejsze obecnie wątki
· [MOD] FreshTomato... [413]
· RT AC66U B1 [35]
· Czy to jeszcze NAS? [23]
· Wireguard na Fres... [13]
· RT AX 89X [8]
· [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% [218 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: 418
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.117.154.217
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: i5-13400T, 64GB RAM, 512GB NVMe, 3x2TB SSD, 1x1TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
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: 107

· Użytkowników online: 0

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

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ą?

servee
25-07-2024 09:22
W routerze RT-N18u siadły mi wszystkie porty LAN oraz WAN. Działa tylko radio. To jest naprawialne?

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

90,453,674 unikalnych wizyt