05 Maja 2025 05:55:54
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· r6400v2 bład przy u...
· drukarka drukuje tyl...
· [S] sprzęt sieciowy...
· Router do światłow...
· [sprzedam] Asus RT-A...
· Netia IPv6
· Multiroom N z wykorz...
· [S] Ubiquity Edgerou...
· [MOD] FreshTomato-AR...
· Nowe routery: UX, UC...
· asus rt-ax86u pro z ...
· Zmiana OpenVPN na wi...
· [S]UBIQUITI EdgeRout...
· Zaawansowana konfigu...
· ByPass VPN dla wybra...
· [MOD] FreshTomato-MI...
· Komputer Serwer
· Ciągle rozłączani...
· Wersje Freshtomato d...
· FreshTomato- WAN inn...
Najpopularniejsze obecnie wątki
· drukarka drukuje ... [12]
· Router do świat... [8]
· r6400v2 bład prz... [7]
· [S] sprzęt sieci... [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [152 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: 420
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.219.197.162
Zobacz wątek
OpenLinksys » :: OPROGRAMOWANIE :: » Tomato - firmware
 Drukuj wątek
qos skrypt
gosad
Witam wszystkich
Od dłuższego czasu obserwuje boje z qosem dodam dla zainteresowanych swoje rozwiązanie do podziału pasma na użytkowników .Dopasowanie do swoich potrzeb sprowadza się do edycji górnej częsci skryptu skryptu .
Edit Dodałem opisy .

#!/bin/sh

TC=tc
IPTABLES=iptables
# Interface lan
IF_LOCAL=br0
# Interface wan
IF_INET=ppp0
# Adres sieci lokalnej
TEMP_LOCAL_NET=192.168.1.0/24
# Calkowity download
QOS_DOWNSTREAM=2048kbit
# Calkowity upload
QOS_UPSTREAM=512kbit
# Ile danych moze byc przetransferowane zanim zostana zastosowane limity, musi byc wieksze niz MTU
# Szybki burst downstream
QOS_FDOWN_BURST=16kbit
# burst downstream dla pozaklasowych polanczen
QOS_SDOWN_BURST=4kbit
# Szybki burst upstream
QOS_FUP_BURST=8kbit
# burst upstream dla pozaklasowych polanczen
QOS_SUP_BURST=2kbit
# Minimalny defaultowy pozaklasowy upload
MIN_DEF_UP=1kbit
# Maxymalny defaultowy pozaklasowy upload
MAX_DEF_UP=15kbit
# Minimalny defaultowy pozaklasowy download
MIN_DEF_DOWN=2kbit
# Maxymalny defaultowy pozaklasowy download
MAX_DEF_DOWN=50kbit
#qos_user_set first_clas second_class ip_addres min_upload max_upload min_download max_download prio conlimit_tcp conlimit_udp
users_set () {
qos_set_user 1:1 1:10 192.168.1.20 5 128 10 600 1 50 40
qos_set_user 1:1 1:11 192.168.1.21 5 500 10 2000 1 50 40
qos_set_user 1:1 1:12 192.168.1.22 5 128 10 600 1 50 40
qos_set_user 1:1 1:13 192.168.1.23 5 128 10 600 1 50 40
qos_set_user 1:1 1:14 192.168.1.24 5 128 10 600 1 50 40
qos_set_user 1:1 1:15 192.168.1.25 5 128 10 600 1 50 40
qos_set_user 1:1 1:16 192.168.1.26 5 128 10 600 1 50 40
qos_set_user 1:1 1:17 192.168.1.27 5 128 10 600 1 50 40
qos_set_user 1:1 1:18 192.168.1.28 5 128 10 1500 1 50 40
qos_set_user 1:1 1:19 192.168.1.29 5 128 10 600 1 50 40
qos_set_user 1:1 1:20 192.168.1.30 5 128 10 600 1 50 40
qos_set_user 1:1 1:21 192.168.1.31 5 128 10 600 1 50 40
qos_set_user 1:1 1:22 192.168.1.32 5 128 10 600 1 50 40
qos_set_user 1:1 1:23 192.168.1.33 5 128 10 600 1 50 40
qos_set_user 1:1 1:24 192.168.1.34 5 128 10 600 1 50 40
qos_set_user 1:1 1:25 192.168.1.35 5 500 10 2000 1 50 40
}

# qos_set_user 1-root, 2-clsid, 3-matchip ,4-min_up ,5-max_up ,6-min_down ,7-max_down ,8-prio , 9-connlimit tcp,10-connlimit udp
qos_set_user () {
subclasspart=`echo ${2} | cut -f2 -d':'`
#echo " - device: $IF_LOCAL, classid: ${2}, root: ${1}, rate: ${6}kbps, ceil: ${7}kbps, burst: ${QOS_FDOWN_BURST}k"
$TC class add dev $IF_LOCAL parent ${1} classid ${2} htb prio ${8} rate ${6}kbit ceil ${7}kbit burst $QOS_FDOWN_BURST
#echo " - device: $IF_INET, classid: ${2}, root: ${1}, rate: ${4}kbps, ceil: ${5}kbps, burst: ${QOS_FUP_BURST}k"
$TC class add dev $IF_INET parent ${1} classid ${2} htb prio ${8} rate ${4}kbit ceil ${5}kbit burst $QOS_FUP_BURST
#echo "   - TC filter: delete old upstream/downstream filters for class ${2}"
$TC filter del dev $IF_LOCAL parent ${2} pref 100  2>/dev/null
$TC filter del dev $IF_INET parent ${2} pref 100  2>/dev/null
#echo "   - TC down filter in class ${1}, ip ${3}, destination ${2}"
$TC filter add dev $IF_LOCAL protocol ip parent ${1} pref 100 u32 match ip dst ${3} flowid ${2}
#echo "   - TC iptables set mark ${subclasspart} for ip ${3}"
$IPTABLES -A PREROUTING -t mangle -s ${3} -j MARK --set-mark ${subclasspart}
#echo "   - TC up filter in class 1:, handle ${subclasspart}, destination ${2}"
$TC filter add dev $IF_INET parent 1: protocol ip handle ${subclasspart} pref 100 fw classid 1:${subclasspart}
#echo "   - SFQ subclass ${subclasspart}: on $IF_LOCAL, $IF_INET"
$TC qdisc add dev $IF_LOCAL parent ${2} handle ${subclasspart}: sfq perturb 10
$TC qdisc add dev $IF_INET  parent ${2} handle ${subclasspart}: sfq perturb 10
if [ "$1" != 0  ] then
$IPTABLES -I FORWARD -s ${3} -p tcp -m connlimit --connlimit-above ${9} -j DROP
$IPTABLES -I FORWARD -p udp -s ${3} -j DROP
$IPTABLES -I FORWARD -p udp -s ${3} -m limit --limit ${10}/sec -j ACCEPT
fi
}

# Flush rules
$TC qdisc del dev $IF_LOCAL root 2>/dev/null
$TC qdisc del dev $IF_INET  root 2>/dev/null
# Delete old DOWNSTREAM root filters
$TC filter del dev $IF_LOCAL parent 1:2  pref 100  2>/dev/null
$TC filter del dev $IF_LOCAL parent 1:1  pref 100  2>/dev/null
$TC filter del dev $IF_LOCAL parent 1:   pref 100  2>/dev/null
# Delete old UPSTREAM root filters
$TC filter del dev $IF_INET parent 1:1  pref 100  2>/dev/null
$TC filter del dev $IF_INET parent 1:   pref 100  2>/dev/null
# DOWNSTREAM Root qdisc, divide local and inet traffic to separate classes
$TC qdisc add dev $IF_LOCAL root handle 1: htb default 90 r2q 1
$TC class add dev $IF_LOCAL parent 1: classid 1:1 htb rate $QOS_DOWNSTREAM burst $QOS_FDOWN_BURST
$TC class add dev $IF_LOCAL parent 1: classid 1:2 htb rate 10mbit burst $QOS_FDOWN_BURST
# UPSTREAM Root qdisc, default class internet traffic to firewall class
$TC qdisc add dev $IF_INET root handle 1: htb default 89 r2q 1
$TC class add dev $IF_INET parent 1:0 classid 1:1 htb rate $QOS_UPSTREAM burst $QOS_FUP_BURST
# Initialize upstream packet mangling
$IPTABLES -F PREROUTING -t mangle
$IPTABLES -A PREROUTING -t mangle -s $TEMP_LOCAL_NET -j MARK --set-mark 255
users_set
$TC class add dev $IF_LOCAL parent 1:1 classid 1:90 htb prio 2 rate $MIN_DEF_DOWN ceil $MAX_DEF_DOWN burst $QOS_SDOWN_BURST
$TC qdisc add dev $IF_LOCAL parent 1:90 handle 90: sfq perturb 10
$TC class add dev $IF_INET parent 1:1 classid 1:90 htb prio 2 rate $MIN_DEF_UP ceil $MAX_DEF_UP burst $QOS_SUP_BURST
$TC qdisc add dev $IF_INET parent 1:90 handle 90: sfq perturb 10
$TC class add dev $IF_INET parent 1:1 classid 1:89 htb prio 1 rate 100kbit ceil 10000kbit burst 4kbit
$TC qdisc add dev $IF_INET parent 1:89 handle 89: sfq perturb 10
## Root Categorization FILTERS
# Match traffic from firewall, enque to fast flow
$TC filter add dev $IF_LOCAL protocol ip parent 1: pref 100 u32 match ip src $TEMP_LOCAL_NET flowid 1:2
# Match traffic for local network
$TC filter add dev $IF_LOCAL protocol ip parent 1: pref 100 u32 match ip dst $TEMP_LOCAL_NET flowid 1:1
# Match traffic from local network
$TC filter add dev $IF_INET parent 1: protocol ip handle 255 pref 100 fw classid 1:90


Edytowany przez gosad dnia 15-12-2007 23:21
 
SlyT
Ciekawa sprawa :). Nalezaloby tylko dac jakas legende dla mniej oczytanych w temacie szczegolnie z parti:


QOS_FDOWN_BURST=16kbit
QOS_FUP_BURST=8kbit
QOS_SDOWN_BURST=4kbit
QOS_NDOWN_BURST=8kbit
QOS_SUP_BURST=2kbit
QOS_NUP_BURST=4kbit
QOS_UPFW_STREAM=10kbit
MIN_DEF_UP=1kbit
MAX_DEF_UP=15kbit
MIN_DEF_DOWN=2kbit
MAX_DEF_DOWN=50kbit

Linksys E2000 Tomato 1.28 shibby's compilation
Linksys EA6700 FreshTomato
 
gosad
Dołożyłem opisy pomiędzy wierszami .
 
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: 70

· Użytkowników online: 0

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

servee
24-01-2025 18:18
Światłowód + mediakonwenter. Ekranowana skrętka nie jest wymagana, taką sytuację już zastałem. Zamierzam ją wymienić na zwykłą. Da to coś?

shibby
17-01-2025 07:45
a ta skrętka ekranowana o której piszesz to jakiś wkopany przewód do bramy/furtki/kamer
y zewn? Jak tak to jego też przez zabezpieczenie podepnij.

shibby
17-01-2025 07:43
no to pora zabezpieczyć kable LAN zabezpieczeniami przeciwprzepięciow
ymi - tanio nie będzie. Jak przychodzi ci internet? Skrętką czy światłem? Jak skrętką to zacząłbym od tego.

servee
12-01-2025 12:52
Ponownie padły mi wszystkie porty sieciowe w routerze - to już 3-ci w 6 m-cy. Podejrzany to ekranowana, nieuziemiona skrętka - 12mb. Czy jest to możliwe?

dawidt
21-12-2024 01:09
siema Grin

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.

115,954,825 unikalnych wizyt