HTB podzial lacza dynamicznie leaf www prio
|
cookie |
Dodano 24-09-2009 23:47
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
chcialbym podzielic lacze dynamicznie na 3 userow.
Urzylem do tego generator skryptow robsona ale stronki www troche wolno sie otwieraly na komputerach gdy jeden z nich napieral na torrentach wiec zaczolem czytac manuale i postanowilem zrobic kod z hierarhia liscia i pryjorytetem na www.
Prosze o sprawdzenie kodu, jakiekolwiek nakierowanie na problem albo informacje z materialami do douczenia .
Wydaje mi sie ze zle dzieli w sytuacjhi gdy jeden z komputerow byl nie urzywany brat sciagal na torencie bez limitow transferu i ja tez sciagalem. Brat mial transfer 500 kB ja mialem 100 KB, ale te sto bylo z przyczys slabego trackera . Skrypt dobrze podzielil lacze dla torentow, stronki w miare dobrze chodzily ale kiedy sciagalem winampa to transfer z 300 kB zmalal do 16 w pierwsze 2 sec sciagnelo polowe a puzniej bardzo powoli. Wydaje mi sie ze powinno zabrac bratowi bandwitch i przydzielic w tedy mi. Jak brat wylaczyl torenta to sciagnelo go w 2 sec :(.
skrypt ma na chwile obecna robic (jedynie download - upload puzniej na podstawie downloadu):
1) Dynamicznie podzielic lacze na 3 userow po adresie IP z czego ostatni user kozysta z 2 kompow wiec dla niego przydzielony zostal zakres 2 adresow.
2) Stworzyc hierarchie liscia i dla kazdego urzytkownika przydzielic wiekszy priorytet na www niz na pozostale taski.
3) Ustawic limit polaczen TCP = 100 na 3 portach - na torrenty
Oficjalny manual z ktorego korzystalem:
http://luxik.cdi.cz/~devik/qos/htb/ma.../userg.htm
dziekuje i pozdrawiam
#--------------------------------------------
# Cookie
#--------------------------------------------
# Download
TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 5529kbit
tc class add dev br0 parent 1:1 classid 1:2 htb rate 1843kbit ceil 5529kbit
tc class add dev br0 parent 1:1 classid 1:3 htb rate 1843kbit ceil 5529kbit
tc class add dev br0 parent 1:1 classid 1:4 htb rate 1843kbit ceil 5529kbit
$TCA parent 1:2 classid 1:20 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:2 classid 1:21 htb rate 1383kbit ceil 1843kbit prio 3
$TCA parent 1:3 classid 1:30 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:3 classid 1:31 htb rate 1383kbit ceil 1843kbit prio 3
$TCA parent 1:4 classid 1:40 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:4 classid 1:41 htb rate 1383kbit ceil 1843kbit prio 3
$TQA parent 1:2 handle 2: $SFQ
$TQA parent 1:3 handle 3: $SFQ
$TQA parent 1:4 handle 4: $SFQ
$TQA parent 1:20 handle 20: pfifo limit 5
$TQA parent 1:21 handle 21: pfifo limit 5
$TQA parent 1:30 handle 30: pfifo limit 5
$TQA parent 1:31 handle 31: pfifo limit 5
$TQA parent 1:40 handle 40: pfifo limit 5
$TQA parent 1:41 handle 41: pfifo limit 5
$TFA parent 1:0 prio 2 protocol ip handle 2 fw flowid 1:2
$TFA parent 1:0 prio 2 protocol ip handle 3 fw flowid 1:3
$TFA parent 1:0 prio 2 protocol ip handle 4 fw flowid 1:4
$TFA parent 1:2 prio 1 protocol ip handle 20 fw flowid 1:20
$TFA parent 1:2 prio 3 protocol ip handle 21 fw flowid 1:21
$TFA parent 1:3 prio 1 protocol ip handle 30 fw flowid 1:30
$TFA parent 1:3 prio 3 protocol ip handle 31 fw flowid 1:31
$TFA parent 1:4 prio 1 protocol ip handle 40 fw flowid 1:40
$TFA parent 1:4 prio 3 protocol ip handle 41 fw flowid 1:41
iptables -t mangle -A POSTROUTING -d 192.168.2.100 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -d 192.168.2.101 -j MARK --set-mark 3
iptables -t mangle -A POSTROUTING -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 4
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 40
# Upload
TCAU="tc class add dev imq0"
TFAU="tc filter add dev imq0"
TQAU="tc qdisc add dev imq0"
modprobe imq
modprobe ipt_IMQ
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb
tc class add dev imq0 parent 1: classid 1:1 htb rate 462kbit
$TCAU parent 1:1 classid 1:10 htb rate 154kbit ceil 462kbit prio 2
$TCAU parent 1:1 classid 1:11 htb rate 154kbit ceil 462kbit prio 2
$TCAU parent 1:1 classid 1:12 htb rate 154kbit ceil 462kbit prio 2
$TQAU parent 1:10 handle 10: $SFQ
$TQAU parent 1:11 handle 11: $SFQ
$TQAU parent 1:12 handle 12: $SFQ
$TFAU parent 1:0 prio 2 protocol ip handle 10 fw flowid 1:10
$TFAU parent 1:0 prio 2 protocol ip handle 11 fw flowid 1:11
$TFAU parent 1:0 prio 2 protocol ip handle 12 fw flowid 1:12
iptables -t mangle -A PREROUTING -s 192.168.2.100 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.2.101 -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -m iprange --src-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 12
# TCP limitation
iptables -t mangle -A PREROUTING -j IMQ --todev 0
iptables -I FORWARD -p tcp --dport 44440 -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p tcp --dport 44441 -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p tcp --dport 44442:44443 -m connlimit --connlimit-above 100 -j DROP
Edytowany przez cookie dnia 25-09-2009 10:31
|
|
|
|
shibby |
Dodano 25-09-2009 10:24
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
hmm
Cytat iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 40
bez sensu... skad router ma wiedziec w ktora klase ma markowac pakiety? wszystkie beda szly do 40tki.
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
|
|
|
|
cookie |
Dodano 25-09-2009 10:39
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Cytat shibby napisał/a:
hmm
Cytat iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 40
bez sensu... skad router ma wiedziec w ktora klase ma markowac pakiety? wszystkie beda szly do 40tki.
Czy takie rozwiazanie bedzie prawidlowe ?
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.100 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.101 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 40
Edytowany przez cookie dnia 25-09-2009 10:44
|
|
|
|
shibby |
Dodano 25-09-2009 11:37
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
tak juz rozsadniej. chociaz ja nie poszedlbym w strone priorytetowania www a ograniczena p2p bo zaraz przy innej usludze bedziesz mial problem np poczta czy gry online.
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
|
|
|
|
cookie |
Dodano 25-09-2009 12:37
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Cytat shibby napisał/a:
tak juz rozsadniej. chociaz ja nie poszedlbym w strone priorytetowania www a ograniczena p2p bo zaraz przy innej usludze bedziesz mial problem np poczta czy gry online.
Dziekuje Shibby za odpowiedz i trafna uwage.
Czy to rozwiazanie naprawilo by problem:
podzial na www prio1 + torrenty prio3 + pozostale prio2
#--------------------------------------------
# Cookie
#--------------------------------------------
# Download
TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 5529kbit
tc class add dev br0 parent 1:1 classid 1:2 htb rate 1843kbit ceil 5529kbit
tc class add dev br0 parent 1:1 classid 1:3 htb rate 1843kbit ceil 5529kbit
tc class add dev br0 parent 1:1 classid 1:4 htb rate 1843kbit ceil 5529kbit
$TCA parent 1:2 classid 1:20 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:2 classid 1:21 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:2 classid 1:22 htb rate 923kbit ceil 1843kbit prio 2
$TCA parent 1:3 classid 1:30 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:3 classid 1:31 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:3 classid 1:32 htb rate 923kbit ceil 1843kbit prio 2
$TCA parent 1:4 classid 1:40 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:4 classid 1:41 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:4 classid 1:42 htb rate 923kbit ceil 1843kbit prio 2
$TQA parent 1:2 handle 2: $SFQ
$TQA parent 1:3 handle 3: $SFQ
$TQA parent 1:4 handle 4: $SFQ
$TQA parent 1:20 handle 20: pfifo limit 5
$TQA parent 1:21 handle 21: pfifo limit 5
$TQA parent 1:22 handle 22: pfifo limit 5
$TQA parent 1:30 handle 30: pfifo limit 5
$TQA parent 1:31 handle 31: pfifo limit 5
$TQA parent 1:32 handle 32: pfifo limit 5
$TQA parent 1:40 handle 40: pfifo limit 5
$TQA parent 1:41 handle 41: pfifo limit 5
$TQA parent 1:42 handle 42: pfifo limit 5
$TFA parent 1:0 prio 2 protocol ip handle 2 fw flowid 1:2
$TFA parent 1:0 prio 2 protocol ip handle 3 fw flowid 1:3
$TFA parent 1:0 prio 2 protocol ip handle 4 fw flowid 1:4
$TFA parent 1:2 prio 1 protocol ip handle 20 fw flowid 1:20
$TFA parent 1:2 prio 3 protocol ip handle 21 fw flowid 1:21
$TFA parent 1:2 prio 2 protocol ip handle 22 fw flowid 1:22
$TFA parent 1:3 prio 1 protocol ip handle 30 fw flowid 1:30
$TFA parent 1:3 prio 3 protocol ip handle 31 fw flowid 1:31
$TFA parent 1:3 prio 2 protocol ip handle 32 fw flowid 1:32
$TFA parent 1:4 prio 1 protocol ip handle 40 fw flowid 1:40
$TFA parent 1:4 prio 3 protocol ip handle 41 fw flowid 1:41
$TFA parent 1:4 prio 2 protocol ip handle 42 fw flowid 1:42
iptables -t mangle -A POSTROUTING -d 192.168.2.100 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -d 192.168.2.101 -j MARK --set-mark 3
iptables -t mangle -A POSTROUTING -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 4
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.100 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.101 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 40
iptables -t mangle -A POSTROUTING -p tcp --sport 44440 -d 192.168.2.100 -j MARK --set-mark 21
iptables -t mangle -A POSTROUTING -p tcp --sport 44441 -d 192.168.2.101 -j MARK --set-mark 31
iptables -t mangle -A POSTROUTING -p tcp --sport 44442:44443 -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 41
Edytowany przez cookie dnia 25-09-2009 13:02
|
|
|
|
shibby |
Dodano 25-09-2009 13:37
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
ja mam 6mbps na 12 userow. kazdemu przydzielam czesc lacza a p2p ograniczam tylko na wysyle. nikt nie narzeka na neta. jeden sciagaa, drugi gra, trzeci serfuje po www a czwarty slucha radia. nie ma prawa porwac
jak poszukasz na forum to znajdziesz moj skrypt-firewall.
ew jak nie znajdziesz to moge go wkleic po raz kolejny
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
|
|
|
|
cookie |
Dodano 25-09-2009 14:57
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Cytat shibby napisał/a:
ja mam 6mbps na 12 userow. kazdemu przydzielam czesc lacza a p2p ograniczam tylko na wysyle. nikt nie narzeka na neta. jeden sciagaa, drugi gra, trzeci serfuje po www a czwarty slucha radia. nie ma prawa porwac
jak poszukasz na forum to znajdziesz moj skrypt-firewall.
ew jak nie znajdziesz to moge go wkleic po raz kolejny
Nie umie tego skryptu znalesc przydala by sie lepsza wyszukiwarka.
Wklej go prosze.
W jaki sposob moge sprawdzic czy skrypt ktory napisalem nie zawiera bledow sa jakies logi na skrypt firewall jesli tak to jak sie do nich dostac?
Napisz czy moj skrypt jest rowniez "dobrym rozwiazaniem" czy raczej nad nim nie pracowac i sie w niego nie pakowac.
Chcialbym miec dynamicznie podzielone upload i download (upload podzielilbym w ten sam sposob co download powyzej).
Ewentualnie dokonczyl bym prace nad moim skrypten i przetestowal oba twoj i moj i wybral najlepszy droga glosowania 3 userow .
Edytowany przez cookie dnia 25-09-2009 15:12
|
|
|
|
shibby |
Dodano 25-09-2009 15:24
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
Cytat #HTB
modprobe ipt_layer7
#download
TCA="tc class add dev br0 parent 1:1 classid"
TFA="tc filter add dev br0 parent 1:0 prio"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
POST="iptables -t mangle -A POSTROUTING ! -s 192.168.1.0/24"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 6144kbit
$TCA 1:12 htb rate 1024kbit ceil 5000kbit prio 2
$TCA 1:13 htb rate 720kbit ceil 4000kbit prio 2
$TCA 1:14 htb rate 720kbit ceil 4000kbit prio 2
$TCA 1:15 htb rate 720kbit ceil 4000kbit prio 2
$TQA parent 1:12 handle 12: $SFQ
$TQA parent 1:13 handle 13: $SFQ
$TQA parent 1:14 handle 14: $SFQ
$TQA parent 1:15 handle 15: $SFQ
$TFA 2 protocol ip handle 12 fw flowid 1:12
$TFA 2 protocol ip handle 13 fw flowid 1:13
$TFA 2 protocol ip handle 14 fw flowid 1:14
$TFA 2 protocol ip handle 15 fw flowid 1:15
$POST -d 192.168.1.2 -j MARK --set-mark 12
$POST -d 192.168.1.3 -j MARK --set-mark 13
$POST -d 192.168.1.4 -j MARK --set-mark 14
$POST -d 192.168.1.5 -j MARK --set-mark 15
#upload
TCAU="tc class add dev imq0 parent 2:1 classid"
TFAU="tc filter add dev imq0 parent 2:0 prio"
TQAU="tc qdisc add dev imq0"
PRE="iptables -t mangle -A PREROUTING ! -d 192.168.1.0/24"
modprobe imq
modprobe ipt_IMQ
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 2: htb
tc class add dev imq0 parent 2: classid 2:1 htb rate 512kbit
$TCAU 2:12 htb rate 64kbit ceil 400kbit prio 2
$TCAU 2:13 htb rate 56kbit ceil 256kbit prio 2
$TCAU 2:14 htb rate 56kbit ceil 256kbit prio 2
$TCAU 2:15 htb rate 56kbit ceil 256kbit prio 2
$TCAU 2:30 htb rate 28kbit ceil 80kbit prio 3 #p2p
$TQAU parent 2:12 handle 12: $SFQ
$TQAU parent 2:13 handle 13: $SFQ
$TQAU parent 2:14 handle 14: $SFQ
$TQAU parent 2:15 handle 15: $SFQ
$TQAU parent 2:30 handle 30: $SFQ
$TFAU 1 protocol ip handle 12 fw flowid 2:12
$TFAU 2 protocol ip handle 13 fw flowid 2:13
$TFAU 2 protocol ip handle 14 fw flowid 2:14
$TFAU 2 protocol ip handle 15 fw flowid 2:15
$TFAU 4 protocol ip handle 30 fw flowid 2:30
$PRE -s 192.168.1.2 -j MARK --set-mark 12
$PRE -s 192.168.1.3 -j MARK --set-mark 13
$PRE -s 192.168.1.4 -j MARK --set-mark 14
$PRE -s 192.168.1.5 -j MARK --set-mark 15
$PRE -m layer7 --l7proto bittorrent -j MARK --set-mark 30
$PRE -m layer7 --l7proto directconnect -j MARK --set-mark 30
$PRE -m layer7 --l7proto edonkey -j MARK --set-mark 30
$PRE -m layer7 --l7proto fasttrack -j MARK --set-mark 30
$PRE -j IMQ --todev 0
przyklad dla 4 userow i ograniczony wysyl dla p2p
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
|
|
|
|
manius |
Dodano 25-09-2009 16:48
|
User
Posty: 198
Dołączył: 06/08/2006 11:38
|
@shibby a QOS masz wyłączony ?
Pozdrawiam Marcin
|
|
|
|
cookie |
Dodano 25-09-2009 17:45
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Cytat manius napisał/a:
@shibby a QOS masz wyłączony ?
Shibby dzieli up i dl po htb wiec ma pewnie wylaczony gdyby dzielil tylko download po htb to moglby podzielic upload na quos |
|
|
|
cookie |
Dodano 25-09-2009 17:45
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
W jaki sposob moge sprawdzic czy skrypt ktory napisalem nie zawiera bledow sa jakies logi na skrypt firewall jesli tak to jak sie do nich dostac? |
|
|
|
shibby |
Dodano 25-09-2009 19:23
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
qos oczywiscie wylaczony.
bledow nie zawiera. co najwyzej moze dzialac nie tak jak chcesz.
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
|
|
|
|
cookie |
Dodano 25-09-2009 19:30
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Cytat shibby napisał/a:
qos oczywiscie wylaczony.
bledow nie zawiera. co najwyzej moze dzialac nie tak jak chcesz.
wlasnie go testuje i stronki + torrent dzialaja fajnie natomiast jest duzy ping w aionie.
jutro przetestuje twoj skrypt dam znac jaka jest roznica.
Czyli nie ma zadnych logow ?? na tutorialu pisza o tym ale nie rozumie tego zabardzo.
Moj skrypt wyglada nastepujaco:
#--------------------------------------------
# Cookie
#--------------------------------------------
# Download
TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
$TCA parent 1: classid 1:1 htb rate 5529kbit
$TCA parent 1:1 classid 1:2 htb rate 1843kbit ceil 5529kbit
$TCA parent 1:1 classid 1:3 htb rate 1843kbit ceil 5529kbit
$TCA parent 1:1 classid 1:4 htb rate 1843kbit ceil 5529kbit
$TCA parent 1:2 classid 1:20 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:2 classid 1:21 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:2 classid 1:22 htb rate 923kbit ceil 1843kbit prio 2
$TCA parent 1:3 classid 1:30 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:3 classid 1:31 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:3 classid 1:32 htb rate 923kbit ceil 1843kbit prio 2
$TCA parent 1:4 classid 1:40 htb rate 460kbit ceil 1843kbit prio 1
$TCA parent 1:4 classid 1:41 htb rate 460kbit ceil 1843kbit prio 3
$TCA parent 1:4 classid 1:42 htb rate 923kbit ceil 1843kbit prio 2
$TQA parent 1:2 handle 2: $SFQ
$TQA parent 1:3 handle 3: $SFQ
$TQA parent 1:4 handle 4: $SFQ
$TQA parent 1:20 handle 20: pfifo limit 5
$TQA parent 1:21 handle 21: pfifo limit 5
$TQA parent 1:22 handle 22: pfifo limit 5
$TQA parent 1:30 handle 30: pfifo limit 5
$TQA parent 1:31 handle 31: pfifo limit 5
$TQA parent 1:32 handle 32: pfifo limit 5
$TQA parent 1:40 handle 40: pfifo limit 5
$TQA parent 1:41 handle 41: pfifo limit 5
$TQA parent 1:42 handle 42: pfifo limit 5
$TFA parent 1:0 prio 2 protocol ip handle 2 fw flowid 1:2
$TFA parent 1:0 prio 2 protocol ip handle 3 fw flowid 1:3
$TFA parent 1:0 prio 2 protocol ip handle 4 fw flowid 1:4
$TFA parent 1:2 prio 1 protocol ip handle 20 fw flowid 1:20
$TFA parent 1:2 prio 3 protocol ip handle 21 fw flowid 1:21
$TFA parent 1:2 prio 2 protocol ip handle 22 fw flowid 1:22
$TFA parent 1:3 prio 1 protocol ip handle 30 fw flowid 1:30
$TFA parent 1:3 prio 3 protocol ip handle 31 fw flowid 1:31
$TFA parent 1:3 prio 2 protocol ip handle 32 fw flowid 1:32
$TFA parent 1:4 prio 1 protocol ip handle 40 fw flowid 1:40
$TFA parent 1:4 prio 3 protocol ip handle 41 fw flowid 1:41
$TFA parent 1:4 prio 2 protocol ip handle 42 fw flowid 1:42
iptables -t mangle -A POSTROUTING -d 192.168.2.100 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -d 192.168.2.101 -j MARK --set-mark 3
iptables -t mangle -A POSTROUTING -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 4
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.100 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -d 192.168.2.101 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 40
iptables -t mangle -A POSTROUTING -p tcp --sport 44440 -d 192.168.2.100 -j MARK --set-mark 21
iptables -t mangle -A POSTROUTING -p tcp --sport 44441 -d 192.168.2.101 -j MARK --set-mark 31
iptables -t mangle -A POSTROUTING -p tcp --sport 44442:44443 -m iprange --dst-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 41
# Upload
TCAU="tc class add dev imq0"
TFAU="tc filter add dev imq0"
TQAU="tc qdisc add dev imq0"
modprobe imq
modprobe ipt_IMQ
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb
tc class add dev imq0 parent 1: classid 1:1 htb rate 462kbit
$TCAU parent 1:1 classid 1:2 htb rate 154kbit ceil 462kbit
$TCAU parent 1:1 classid 1:3 htb rate 154kbit ceil 462kbit
$TCAU parent 1:1 classid 1:4 htb rate 154kbit ceil 462kbit
$TCAU parent 1:2 classid 1:20 htb rate 38kbit ceil 462kbit prio 1
$TCAU parent 1:2 classid 1:21 htb rate 38kbit ceil 462kbit prio 3
$TCAU parent 1:2 classid 1:22 htb rate 78kbit ceil 462kbit prio 2
$TCAU parent 1:3 classid 1:30 htb rate 38kbit ceil 462kbit prio 1
$TCAU parent 1:3 classid 1:31 htb rate 38kbit ceil 462kbit prio 3
$TCAU parent 1:3 classid 1:32 htb rate 78kbit ceil 462kbit prio 2
$TCAU parent 1:4 classid 1:40 htb rate 38kbit ceil 462kbit prio 1
$TCAU parent 1:4 classid 1:41 htb rate 38kbit ceil 462kbit prio 3
$TCAU parent 1:4 classid 1:42 htb rate 78kbit ceil 462kbit prio 2
$TQAU parent 1:2 handle 2: $SFQ
$TQAU parent 1:3 handle 3: $SFQ
$TQAU parent 1:4 handle 4: $SFQ
$TQAU parent 1:20 handle 20: pfifo limit 5
$TQAU parent 1:21 handle 21: pfifo limit 5
$TQAU parent 1:22 handle 22: pfifo limit 5
$TQAU parent 1:30 handle 30: pfifo limit 5
$TQAU parent 1:31 handle 31: pfifo limit 5
$TQAU parent 1:32 handle 32: pfifo limit 5
$TQAU parent 1:40 handle 40: pfifo limit 5
$TQAU parent 1:41 handle 41: pfifo limit 5
$TQAU parent 1:42 handle 42: pfifo limit 5
$TFAU parent 1:0 prio 2 protocol ip handle 2 fw flowid 1:2
$TFAU parent 1:0 prio 2 protocol ip handle 3 fw flowid 1:3
$TFAU parent 1:0 prio 2 protocol ip handle 4 fw flowid 1:4
$TFAU parent 1:2 prio 1 protocol ip handle 20 fw flowid 1:20
$TFAU parent 1:2 prio 3 protocol ip handle 21 fw flowid 1:21
$TFAU parent 1:2 prio 2 protocol ip handle 22 fw flowid 1:22
$TFAU parent 1:3 prio 1 protocol ip handle 30 fw flowid 1:30
$TFAU parent 1:3 prio 3 protocol ip handle 31 fw flowid 1:31
$TFAU parent 1:3 prio 2 protocol ip handle 32 fw flowid 1:32
$TFAU parent 1:4 prio 1 protocol ip handle 40 fw flowid 1:40
$TFAU parent 1:4 prio 3 protocol ip handle 41 fw flowid 1:41
$TFAU parent 1:4 prio 2 protocol ip handle 42 fw flowid 1:42
iptables -t mangle -A PREROUTING -s 192.168.2.100 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -s 192.168.2.101 -j MARK --set-mark 3
iptables -t mangle -A PREROUTING -m iprange --src-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 4
iptables -t mangle -A PREROUTING -p tcp --dport 80 -s 192.168.2.100 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -p tcp --dport 80 -s 192.168.2.101 -j MARK --set-mark 30
iptables -t mangle -A PREROUTING -p tcp --dport 80 -m iprange --src-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 40
iptables -t mangle -A PREROUTING -p tcp --dport 44440 -s 192.168.2.100 -j MARK --set-mark 21
iptables -t mangle -A PREROUTING -p tcp --dport 44441 -s 192.168.2.101 -j MARK --set-mark 31
iptables -t mangle -A PREROUTING -p tcp --dport 44442:44443 -m iprange --src-range 192.168.2.102-192.168.2.103 -j MARK --set-mark 41
# TCP limitation
iptables -t mangle -A PREROUTING -j IMQ --todev 0
iptables -I FORWARD -p tcp --dport 44440 -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p tcp --dport 44441 -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p tcp --dport 44442:44443 -m connlimit --connlimit-above 100 -j DROP
|
|
|
|
cookie |
Dodano 26-09-2009 01:18
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Czy moge dla klasy rodzic zdefiniowac standardowa klase dziecko do ktorej pojdzie niezdefiniowany ruch? Tak jak to sie robi ponizej:
tc qdisc add dev eth0 root handle 1: htb default 12
chcialbym dodac do default z numerem clasy dziecka do:
$TCAU parent 1:1 classid 1:2 htb rate 154kbit ceil 462kbit
czy da sie tak zrobic jesli tak to jak?
Edytowany przez cookie dnia 26-09-2009 01:19
|
|
|
|
shibby |
Dodano 26-09-2009 09:23
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
default stawiasz tylko jedna na root`cie. nie da sie ustawic wiecej klas, jak i nie da sie ustawic default na lisciu.
natomiast nie wiem czy wiecie ze z liscia mozna robic kolejne liscie
Edytowany przez shibby dnia 26-09-2009 09:24
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
|
|
|
|
cookie |
Dodano 26-09-2009 10:47
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Mam ip 192.168.2.100 torrenta na porcie 4444 0
Ustawilem skrypt jak ponizej, w takim ustawienie nie powinien praktycznie wysylac i pobierac na torrencie a jednak to robi i to max laczem.
Co jest przyczyna?
$TCA parent 1:2 classid 1:21 htb rate 1kbit ceil 1kbit prio 4
iptables -t mangle -A POSTROUTING -p tcp --sport 44440 -d 192.168.2.100 -j MARK --set-mark 21
TO MARNIE DZIALA NA PORTACH TRZEBA TO USTAWIC NA LAYER 7 I ROZPOZNAJE TORRENTA
Edytowany przez cookie dnia 26-09-2009 15:24
|
|
|
|
cookie |
Dodano 26-09-2009 15:42
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Przydatna literatura dla poczatkujacego:
1) http://man-wiki.net/index.php/8:tc-sfq
2) http://lartc.org/howto/lartc.qdisc.fi...lters.html
3) http://pupa.da.ru/tc/
4) http://www.dd-wrt.com/wiki/index.php/...es_command
5) http://www.docum.org/docum.org/faq/ca...he/31.html
6) http://tldp.org/HOWTO/Traffic-Control...ml#qs-esfq
7) http://netfilter.org/documentation/HO...WTO-7.html
8) http://www.docum.org/docum.org/docs/htb/
9) http://www.docum.org/docum.org/faq/ca...he/10.html
Dziekuje @shibby za pomoc
Wydaje mi sie @shibby ze ten limiter dla P2P na uploadzie nie ma prawa dzialac poniewaz wczesniej dzielisz po adresach IP i pakiety wejda do klasy z IP.
Zrobilem test ustawilem dzielenie downloadu po IP i po L7 podpiolem to pod dwie rozne klasy.
Ustawilem rate i ceil dla klasy L7 1kb. Torrent sciagal max laczem wszystko poszlo do klasy z IP gdzie torrent reagowal na zmiane rate i ceil.
Dopiero po usunieciu filtra IP pakiety poszly do klasy L7.
Koncze prace nad moim skryptem efekt koncowy wstawie wkrotce.
dzieki za pomoc,
pozdro
Edytowany przez cookie dnia 30-09-2009 20:12
|
|
|
|
shibby |
Dodano 27-09-2009 23:00
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
mi takie rozwiazanie dziaiala. pakiet pojdzie w ostatni pasujacy post/prerouting a to on kieruje pakiet do odpowiedniej klasy.
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
|
|
|
|
cookie |
Dodano 29-09-2009 21:42
|
User
Posty: 40
Dołączył: 26/08/2009 14:39
|
Czy procedury iptables tego typu:
Cytat iptables -I FORWARD -p tcp -m layer7 --l7proto bittorrent -m connlimit --connlimit-above 50 -j DROP
Oznaczaja ze kazdy user ma limit z osobna 50 czy ze wszyscy razem maja limit 50 ? |
|
|
|
shibby |
Dodano 30-09-2009 07:48
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
wszyscy. jezeli mialby miec kazdy taki limit to musialbys dla kazdego ip pisac taka regulke. a nawet po dwie (bo dla source i destination)
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
|
|
|