25 Listopada 2024 12:35:13
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
18.117.105.230
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
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
 
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: 90

· 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,727,317 unikalnych wizyt