Jaki procesor posiada twój router?
Broadcom MIPSEL
36% [151 głosów]
Broadcom ARM
52% [219 głosów]
Atheros
5% [22 głosów]
Marvell
1% [4 głosów]
Ralink
1% [3 głosów]
Intel/AMD/VIA
1% [5 głosów]
Ż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
O nie! Gdzie jest JavaScript? Twoja przeglądarka internetowa nie ma włączonej obsługi JavaScript lub nie obsługuje JavaScript.
Proszę włączyć JavaScript w przeglądarce internetowej, aby poprawnie wyświetlić tę witrynę, lub zaktualizować do przeglądarki internetowej, która obsługuje JavaScript.
qos skrypt
gosad
Dodano 01-12-2007 18:44
User
Posty: 6
Dołączył: 29/05/2006 09:13
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
Dodano 01-12-2007 22:28
Power User
Posty: 366
Dołączył: 15/09/2006 23:44
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
Dodano 02-12-2007 18:26
User
Posty: 6
Dołączył: 29/05/2006 09:13
Dołożyłem opisy pomiędzy wierszami .
Przejdź do forum
Regulamin
Testy i recenzje
Tutoriale
Projekty
Ogłoszenia - Komunikaty - Postulaty
Tomato - firmware
DD-WRT - firmware
OpenWrt - firmware
Oryginalny firmware
Pozostałe firmware
Asus
D-Link
Netgear
TP-Link
Linksys
Ubiquiti (EdgeRouter, Unifi)
Pozostałe
Rozwiązanie dedykowane
Składaki i rozwiązania alternatywne
Modemy 3G/LTE
Android / Windows Mobile
Kamery sieciowe
ITX / Media Center
Technologia VoIP
Kupię, sprzedam, zamienię, oddam
Ogłoszenia, pytania, porady w zakupie
Free zone
Kosz
· Gości online: 108
· Użytkowników online: 0
· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Musisz się zalogować, aby opublikować wiadomość.