25 Listopada 2024 12:54:04
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.16.51.237
Zobacz wątek
OpenLinksys » :: OPROGRAMOWANIE :: » Tomato - firmware
 Drukuj wątek
QOS download dla zielonych - gotowy skrypt
shibby
i niby jak ona mialaby byc wrzucana do routera?

generator ma za zadanie jedno, nie kazdy potrafi napisac sobie skrypt HTB by podzielic lacza. generator w ladny i przejzysty sposob to umozliwia generuja ciezki do zrozumienia dla wiekszosci skrypt, ktory wystarczy tylko wkleic. wiekszosc osob chca go zmodyfikowac, generuja skrypt na nowo bo nie potrafia.

co do QoS to wszystko jest ladnie i przejrzyscie zrobione w GUI, wiec czego chciec wiecej.
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
 
Piosza
Czy ten skrypt będzie działał na różnych prędkościach downloadu ? bo u mnie mam 3 różne w zależności od godziny a niestety nie mogę tego nigdzie wyczytać Sad
WRT54GL-EU 1.1 <--> Tomato Firmware v1.23.8510 RAF
LINKSYS E4200
 
shibby
i tak i nie. musisz zrobic sobie takie 3 skrypty, kazdy w osobnym pliku i zapisac je np na jffs i w shedulerze odpalac dany skrypt o danej godzinie.
Edytowany przez shibby dnia 17-07-2009 09:17
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
 
Piosza

Cytat

shibby napisał/a:
i tak i nie. musisz zrobic sobie takie 3 skrypty, kazdy w osobnym pliku i zapisac je np na jffs i w shedulerze odpalac dany skrypt o danej godzinie.


a scheduler to ten z poziomu www ?? i ewentualnie jaką komendę mu zapodać.
WRT54GL-EU 1.1 <--> Tomato Firmware v1.23.8510 RAF
LINKSYS E4200
 
shibby
tak ten z www gui.

komende? hmm normalnie zapisujesz sobie 3 pliki na jffs kazdy ze skryptem z innymi predkosciami. nadalesz im atrybut do uruchomienia. i wpisujesz w shedulerze np /jffs/skrypt1.sh codziennie o danej godzinie
Edytowany przez shibby dnia 19-07-2009 19:57
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
 
Piosza
Smile no mam nadzieję że sobie poradzę . Dzieki za info
WRT54GL-EU 1.1 <--> Tomato Firmware v1.23.8510 RAF
LINKSYS E4200
 
alvaro99

Cytat

// tworzenie klas
// tutaj okresli gwarantowana i max przepustowosc dla swoich klas
// PAMIETAJ - suma wszystkich gwarantowanych nie moze przekroczyc CEIL
$TCA parent 1:1 classid 1:10 htb rate 256kbit ceil 256kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 1492kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:12 htb rate 1024kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 128kbit ceil ${CEIL}kbit prio 4

W którym miejscu jest max przepustowość download tutaj?
Mam łączę D 1000 kbytes/s i U 230 kbytes/s. Jak to najlepiej prawidłowo ustawić? Chciałbym tylko rozgraniczyć WWW od P2P i skype żeby to dobrze hulało i torrent nie zamulał wszystkiego. Żadnych portów dla gier i innych.

Czy jak np. ustawię jakiś gwarantowany próg dla P2P powiedzmy 30 KB/s to chociaż przeglądam tylko stronki WWW i nie mam włączonego klienta torrenta to i tak odcina mi z łącza zawsze te 30 KB i ze 120 KB downloadu zostaje mi tylko 90?
ISP WiFi 5GHz >><< Ubiquiti NanoStation M5 Smile <---> FRITZ!Box Fon VoIP <---> AP+BT+FTP+SAMBA OVISLINK WMU-6500FS i C009-M2 by JKR >><< 3 Kompy po WiFi
 
-K@mil-
U mnie 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="27964,27015:27016,27045"
PRIO1="20:110"
P2P="61555"

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 492kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 128kbit 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 shoutcast -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 11


Jednak w dalszym ciągu bittorrent zapycha łącze - 2048kbps down i 256kbps up.

img197.imageshack.us/img197/6509/76019178.jpg
img32.imageshack.us/img32/5092/81459677.jpg

Tomato 1.25
Edytowany przez -K@mil- dnia 25-07-2009 14:53
 
Rayden
Chciałbym się paru rzeczy dowiedzieć, jestem zielony jeśli chodzi o skrypty qos. Bawiłem się trochę generatorem skryptów robsonna i częściowo kojarzę jak to działa.

sorki za moje noobowate pytania ale poprostu większość tutoriali tłumaczy składnię poleceń ale nie piszą już co oznaczają nawiasy () a co {}

1. jak się nazywa ten język skryptów (czego mam szukać w google) aby się czegoś więcej dowiedzieć nt jak to dokładnie działa.

2. rozumiem że: TCA="" <<< definiuję zmienną i uzywam jej za pomocą $TCA, ale nie rozumiem w takim razie po co klamry ${CEIL} ?
co to dokładnie zmienia jak są klamry???

3. do czego służy -j RETURN ??

4. Skrypt robsonna uzywa postrouting natomiast ten skrypt uzywa prerouting, co to zmieni jeśli użyłbym postrouting ?

5. chciałbym się dowiedzieć dokładniej jak działa bcount --range 0x0-${WWWMAX}, szukałem w googlach, ale nie moge nigdzie znaleźć informacji na temat bcount i jak tego używać, w dodatku chciałbym się dowiedzieć jakich wartości mógłbym użyć z --range, czy muszę uzywać wartości szestnastkowych??? wygodniej byłoby mi podać ilość bajtów lub kilobajtów(ew kilobitów)

6. dlaczego w jednym miejscu mam --range 0x0-${WWWMAX} a w drugim --range $(($WWWMAX+1)) <<< co takiego robią te dodatkowe nawiasy czy nie mogłoby być ${WWWMAX+1} lub 1000001.
Netgear R7000 Tomato 122 K26ARM USB VPN-64K
 
shibby
odpowiem na czesc

1) jezyk to bash, skrypt to HTB, a calosc wykonywana przez iptables.

2) definiujesz zmienna TCA="" i pozniej jej mozesz uzyc jako $TCA lub ${TCA}. to sa rownowazne odpowiedniki. chociaz ${TCA} jest bardziej bezpieczne. zauwaz ze w jednym miejscu jest zapis ${TCA}kbit. jakbys napisal $TCAkbit to nie zadziala prawda? Smile w pozostalych przypadkach mozna uzyc poprostu $TCA. ale zeby bylo estetycznie i ladnie to juz autor zastosowal {} przy kazdej zmiennej. odrazu sie rzuca w oczy.

3) zwraca wynik.

4) bo tej skrypt ogranicza tylko download. skrypt robsona ogranicza i upload i download.

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
 
luki_er
Witam,
od razu piszę że jestem bardzo zielony, ale udało mi się zrobić wszystko jak jest opisane w tym tutorialu + codzienna automatyczna podmiana plików *.sh przy zmiennym łączu (dzien, noc) Smile
Jak narazie wszystko działa - dziękuję wszystkim bardzo!Smile
Niestety po dłuższym zastanowieniu się pojawiły mi się pewne pytania na które nie potrafię znaleźć odpowiedzi:

1) dlaczego w określeniu klas i reguł w skrypcie jest następująca numeracja: Prio 0, 1, 3 i 4 jeśli na początku skryptu i w regułach piszesz o prio 0, 1, 2, 3? Nie wiem czy się mylę ale albo jest błąd w numeracji albo tak powinno być? Czy należy to poprawić we własnym skrypcie?

Cytat

liamk napisał/a:

Krytycznie linie sa w miare szczegolowo opisane. Dla twpowych zastosown starczy, ze wyedytujesz sobie CEIL, WWWMAX, DWLMIN = WWWMAX +1, PRIO0, PRIO1.

// Porty o podwyzszonym priorytecie. Tutaj powinny wyladowac
// typowe uslugi jak www, ftp, smpt, pop.
// Po przekroczeniu WWWMAX automatycznie polaczenie
// zostanie wyrzucone z tej kolejki tak aby zawsze
// zapewnic jej przepustowosc (uzyteczne dla L7 skype, L7 shoutcast itp)
PRIO1="20:110"
PRIO2 - bez zmian
PRIO3 - bez zmian

// tworzenie klas
// tutaj okresli gwarantowana i max przepustowosc dla swoich klas
// PAMIETAJ - suma wszystkich gwarantowanych nie moze przekroczyc CEIL
$TCA parent 1:1 classid 1:10 htb rate 256kbit ceil 256kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 1492kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:12 htb rate 1024kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 128kbit ceil ${CEIL}kbit prio 4

// tworzenie filtrow
$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



2) Czy Prio 0 musi mieć dokładnie wartość 256kbps czy może wynosić więcej lub mniej?

Cytat


// PRIO jest jednak ograniczone do max 256kbit downloadu.
// Tutaj wpisuj TYLKO porty gier, ssh, telnet, itp.
PRIO0="27964,27015:27016,27045"


3) Dlaczego WWWMAX = 1000000, a nie więcej lub mniej?

Cytat

// Po przekroczeniu sciagania tylu bits uslugi z PRIO1
// zostana przeniosione do PRIO2.
// Ma to na celu np. odroznienie normlanego ogladania stron www
// od sciagania plikow przez www czy ftp.
// Czyli jesli WWWMAX zostanie przekroczony sciaganie pliku dostanie
// nizszy prio od przegladania www.
WWWMAX=1000000


4) WWWMAX+1 - co oznacza i ile wynosi?

5) czy mam mieć włączony QoS (np tylko do sprawdzania ruchu na łączu) czy lepiej go całkowicie wyłączyć by procesor routera miał mniej zadań?

6) czy warto używać reguł typu L7 jeśli jest użyty ten skrypt?

Cytat

// wczytanie L7, mozna usunac jesli nie uzywasz
modprobe ipt_layer7


Cytat

// reguly dla programow P2P
// procesor twojego routera z pewnoscia je doceni Smile gdy uzywasz L7


Proszę o wyrozumiałość i odpowiedź Smile
 
jack78
Coś ten temat umarł. Kiepsko się znam ale spróbuję, najwyżej ktoś mnie poprawi

Cytat

1) dlaczego w określeniu klas i reguł w skrypcie jest następująca numeracja: Prio 0, 1, 3 i 4 jeśli na początku skryptu i w regułach piszesz o prio 0, 1, 2, 3? Nie wiem czy się mylę ale albo jest błąd w numeracji albo tak powinno być? Czy należy to poprawić we własnym skrypcie?


Skrypt operuje na klasach 0, 1, 2 i 3, chociaż klasa druga nie jest szczegółowo zdefiniowana. Wpada tam wszystko co nie mieści się w klasie 1.

Cytat


2) Czy Prio 0 musi mieć dokładnie wartość 256kbps czy może wynosić więcej lub mniej?

Możesz dać więcej, ale wydaje mi się że z tej klasy ma korzystać tylko DNS, więc więcej nie potrzeba. Chociaż w tym skrypcie są tam przypisane porty gier, pewnie większej przepustowości nie potrzebuję.

Cytat


3) Dlaczego WWWMAX = 1000000, a nie więcej lub mniej?

ustalasz według uznania, po prostu to jest ilość danych po których połączenie jest przerzucane o klasę niżej.


Cytat


4) WWWMAX+1 - co oznacza i ile wynosi?

nie wiem co to znaczy

Cytat


5) czy mam mieć włączony QoS (np tylko do sprawdzania ruchu na łączu) czy lepiej go całkowicie wyłączyć by procesor routera miał mniej zadań?

Ja mam włączony ponieważ ten skrypt steruje tylko downloadem, a QOS zajmuje się uploadem.

Cytat


6) czy warto używać reguł typu L7 jeśli jest użyty ten skrypt?

U mnie działają dodatkowo 2 reguły L7 i nadal przepuszczają mi torrenty, więc jeszcze tnę to po portach.
Edytowany przez jack78 dnia 15-12-2009 00:08

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
marcinsz0

Cytat

2. przeklej moj skrypt do notatnika, dopasuj pod siebie, wlacz cifs1 (tez z if www routera w adm) zgraj tam skrypt pod nazwa fw.txt


prosze o podpowiedz jak to zgrać na cifs1 ,jestem bardzooo zielony z tego Smile

Zastanawiam się jaką funkcję spełnia w QoS INBOUND LIMIT i jego klasy,podobno QoS nie limituje downloadu wiec po co te ustawienia ?

Z góry dziekuję za odpowiedzi.
 
shibby
cifs1 to podmontowany udzial sieciowy komputera. a wiec udostepnij jakis katalog na komputerze na haslo i podmontuj co w routerze jako cifs podajac nazwe komputera lub ip, login i haslo do udzialu.
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
 
marcinsz0
dziękuję bardzo ,mozesz mi jeszcze odpowiedziec na moje drugie pytanie .
 
shibby
to powinno dzialac i pewnie dziala (w jakims stopniu) jezeli sobie odpowiednio skonfigurujesz klasy. A ze klas jest tak malo ze ledwo co starcza na podzial wysylu to stosuje sie taki trik ze qosem dzieli sie upload a skryptem download.

zreszta ja i tak preferuje tylko skrypt. nie ma zadnych ograniczen i robisz co i jak chcesz Smile
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
 
marcinsz0
udało mi się wrzucić skrypt w wersji 2 ,ale nie działa do konca tak jak ma ,ustawiłem sobie w klasyfikacji niski priorytet dla ruchu na porcie docelowym i zródłowym 54911 ,który wykorzystuję w torrencie ,nie wszystkie połaczenia na tym porcie są wrzucane do klasy niskiej ,część z nich ląduje do połaczeń nieklasyfikowanych.

Miałem ustawioną klasyfikację tak jak na zdjeciach wszystko lecące na portach docelowych w zakresie 10-110 o rozmiarze max.512KB miało wysoką klasę niestety np ruch DNS na porcie 53 był wrzucany do klasy niskiej ,musiałem dodać osobną klasyfikację dla portu 53,dlaczego wczesniejsza reguła nie dała portu 53 wysokiego priorytetu??

images38.fotosik.pl/242/0f5d5d14fd7fd26am.jpg images36.fotosik.pl/132/c6a9c5bd802d2410m.jpg
Edytowany przez marcinsz0 dnia 09-01-2010 11:23
 
jack78
Mam jedno pytanie odnoście tego skryptu.
Neta dzielę we 4 z sąsiadami, i od zawsze było tak że maksymalna dostępna prędkość jaką mieliśmy była dostępna dla każdego. Teraz rozgraniczyłem, w dzień max to 1,5mbit,. nocą 2mbit, chciałem trochę ograniczyć torrenty w dzień, niech sobie ludzie kompy na noc zostawiają włączone, jak nikt nie korzysta z netu.
Teraz zgłosił się do mnie kolejny sąsiad i chciałbym w końcu przestać każdemu dawać max łącza. Jak do tego skryptu dodać kolejną regułkę po adresie MAC, tak żeby wszyscy mieli po staremu, a nowo dopięta osoba miała ograniczenie 1mbit. Kto to widział żeby za 18zł/m-c mieć 2 mbit :D . Wcześniej płacił 40zł za 512kbs, to teraz i tak będzie miał jak za darmo.
Mój skrypty na dzień wygląda tak.
Oczywiście zależy mi żeby nadal po pobraniu WWWMAX usługa była zrzucana o klasę niżej.


#!/bin/sh

modprobe ipt_layer7 #wczytanie L7, mozna usunac jesli nie uzywasz

DEV="br0" #nazwa device. Na std. tomato do download to br0

#makra do budowy klas, filtrow i kolejek
TCA="tc class add dev ${DEV}"
TFA="tc filter add dev ${DEV}"
TQA="tc qdisc add dev ${DEV}"
SFQ="sfq perturb 10"


#max download twojego lacza
CEIL=1500


WWWMAX=1000000

PRIO0="22222,2000,8080,8000,8001,9092"

PRIO1="20:80"

P2P="50900,32000,51413,51414"

# usuwanie/tworzenie roota
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 500kbit ceil ${CEIL}kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 400kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:12 htb rate 200kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 128kbit ceil ${CEIL}kbit prio 4

# tworzenie kolejek
$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

# tworzenie filtrow
$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

WWWMAX
iptables -t mangle -A PREROUTING -j BCOUNT

# reguly dla programow P2P
# procesor twojego routera z pewnoscia je doceni :) gdy uzywasz L7
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

# reguly dla PRIO0
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


# 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

# regula dla PRIO3
iptables -t mangle -A PREROUTING -j MARK --set-mark 13


iptables -t mangle -A PREROUTING -m layer7 --l7proto shoutcast -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypetoskype -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -m layer7 --l7proto skypeout -j MARK --set-mark 11


Edytowany przez jack78 dnia 12-01-2010 00:20

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
ulag
czy właczając ten skrypt, w qos mam włączyć Inbound Limit?
 
jack78
Ja mam wszędzie ustawione tak
img10.imageshack.us/img10/2531/beztytuufhf.jpg

A gdyby ktoś był w stanie odpowiedzieć na moje pytanie dwa posty wyżej.
Edytowany przez jack78 dnia 15-01-2010 14:28

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
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: 100

· 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,730,590 unikalnych wizyt