Tomato + zmienna predkość łącza
|
krzynek1 |
Dodano 31-07-2009 22:02
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
mam mały problem ze skyptem na dl znajdującym się na jffs, przeniosłem tam dwa pliki, dzien.sh i noc.sh, mają nastęującą postać:
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=5400
WWWMAX=1000000
PRIO0="27015:27090,53,5900,200"
PRIO1="20:110,442"
P2P="6510,23421,12231,43678,23575"
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 512kbit ceil 1500kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 2056kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:14 htb rate 560kbit ceil 560kbit prio 2
$TCA parent 1:1 classid 1:12 htb rate 2056kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 100kbit ceil 5100kbit 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
$TQA parent 1:14 handle 14: $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 2 protocol ip handle 14 fw flowid 1:14
$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 POSTROUTING -m iprange --dst-range 192.168.1.4-192.168.1.6 -j MARK --set-mark 14
przeniosłem je przez ftp na jffs, nadałem uprawnienia
chciałem żeby scheduler odpalał o odpowiedniej porze te pliki, ale najpierw chciałem sprawdzic czy ręcznie działa, wiec
tc qdisc del dev br0 root
a po tym
i tu zdziwienie bo wywala błąd
# /jffs/dzien.sh
: not found.sh: line 11:
"annot find device "br0
"annot find device "br0
Illegal "rate"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "prio"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "ceil"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "prio"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "ceil"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "prio"
Usage: ... qdisc add ... htb [default N] [r2q N]
default minor id of class to which unclassified packets are sent {0}
r2q DRR quantums are computed as rate in Bps/r2q {10}
debug string of 16 numbers each 0-3 {0}
... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
[prio P] [slot S] [pslot PS]
[ceil R2] [cburst B2] [mtu MTU] [quantum Q]
rate rate allocated to this class (class can still borrow)
burst max bytes burst which can be accumulated during idle period {computed}
mpu minimum packet size used in rate computations
overhead per-packet size overhead used in rate computations
ceil definite upper class rate (no borrows) {rate}
cburst burst but for ceil {computed}
mtu max packet size we create rate map for {1600}
prio priority of leaf; lower are served first {0}
quantum how much bytes to serve from leaf at once {use r2q}
TC HTB version 3.3
Illegal "perturb"
Illegal "perturb"
Illegal "perturb"
Illegal "perturb"
Illegal "perturb"
Illegal "classid"
Illegal "classid"
Illegal "classid"
Illegal "classid"
Illegal "classid"
'ptables v1.3.7: Invalid target name `BCOUNT
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `23575
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `23575
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `23575
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `23575
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `200
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `200
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `200
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `200
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `442
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `442
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `442
Try `iptables -h' or 'iptables --help' for more information.
' specified.3.7: invalid port/service `442
Try `iptables -h' or 'iptables --help' for more information.
+1ffs/dzien.sh: line 43: syntax error: 1000000
o co że tak powiem się rozchodzi ? |
|
|
|
shibby |
Dodano 01-08-2009 18:30
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
po 1)
po co dajesz z palca
tc qdisc del dev br0 root
skoro w sktypcie masz
tc qdisc del dev ${DEV} root
po drugie moze tak
na poczatku pliku
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
|
|
|
|
krzynek1 |
Dodano 01-08-2009 22:03
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
ok, tak zrobiłem lecz mam następny problem, wkleje po prostu co robię
# cd /jffs
# ftpget -u router -p tomato 192.168.1.7 noc.sh /noc.sh
# ftpget -u router -p tomato 192.168.1.7 dzien.sh /dzien.sh
# chmod 700 /jffs/noc.sh
# chmod 700 /jffs/dzien.sh
# cat noc.sh
#!/bin/sh
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=6200
WWWMAX=1000000
PRIO0="27015:27090,53,5900,200"
PRIO1="20:110,442"
P2P="6510,23421,12231,43678,23575"
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 512kbit ceil 1500kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 2056kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:14 htb rate 560kbit ceil 560kbit prio 2
$TCA parent 1:1 classid 1:12 htb rate 2056kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 100kbit ceil 6200kbit 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
$TQA parent 1:14 handle 14: $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 2 protocol ip handle 14 fw flowid 1:14
$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-m ark 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-m ark 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 --r ange 0x0-${WWWMAX} -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --r ange 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --r ange 0x0-${WWWMAX} -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --r ange 0x0-${WWWMAX} -j RETURN
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --r ange $(($WWWMAX+1)) -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -p tcp -m mport --sports ${PRIO1} -m bcount --r ange $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --r ange $(($WWWMAX+1)) -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -p udp -m mport --sports ${PRIO1} -m bcount --r ange $(($WWWMAX+1)) -j RETURN
iptables -t mangle -A PREROUTING -j MARK --set-mark 13
iptables -t mangle -A POSTROUTING -m iprange --dst-range 192.168.1.4-192.168.1.6
po czym chcę sprawdzić czy działa, więc odpalam polecenie
# /jffs/noc.sh
-sh: /jffs/noc.sh: not found
# /jffs/dzien.sh
-sh: /jffs/dzien.sh: not found
dziwne, bo przed chwilą konsola odczytała zawartość tych plików, co teraz robię źle ? |
|
|
|
shibby |
Dodano 02-08-2009 10:42
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
eh pisze wyraznie
na pocztku pliku
a ty wklejasz to do 6tej linijjki.
ponadto pliki maja atrybut wykonywalny?
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
|
|
|
|
krzynek1 |
Dodano 02-08-2009 11:45
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
tak, na początku pliku znajduje sie !/bin/sh
Cytat
#cat noc.sh
#!/bin/sh
DEV="br0"
TCA="tc class add dev ${DEV}"
TFA="tc filter add dev ${DEV}"
TQA="tc qdisc add dev ${DEV}"
SFQ="sfq perturb 10"
uprawnienia do pliku nadaję przez chmod 755, a to chyba najwyższe
Edytowany przez krzynek1 dnia 02-08-2009 11:46
|
|
|
|
shibby |
Dodano 02-08-2009 15:34
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
masz optware? jak tak to zainstaluj bash, i zamien /bin/sh na /opt/bin/bash i sprawdz
dziwne ze on ci nie rozpoznaje pliku.
ew sprubuj tak:
cd /jffa
./noc.sh
atrybuj nadaj tak chmod +x noc.sh
btw najwyzsze prawa to 777
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
|
|
|
|
krzynek1 |
Dodano 02-08-2009 17:33
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
# cd /jffs
# chmod +x noc.sh
# ./noc.sh
-sh: ./noc.sh: not found
pliki były odczytywane, tylko że nieprawidłowo zanim dałem na początku !/bin/sh
Edytowany przez krzynek1 dnia 02-08-2009 17:36
|
|
|
|
shibby |
Dodano 02-08-2009 23:39
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
a zobacz czy masz w katalogu /bin plik sh bo juz pomyslow nie mam.
Edytowany przez shibby dnia 02-08-2009 23:43
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
|
|
|
|
krzynek1 |
Dodano 04-08-2009 20:18
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
mam, ale wpadłem na pomysł aby inaczej te pliki utworzyć na jffs
wiem że można utworzyć pusty plik, wkleic do niego zawartość i zapisać, tylko nie znam komend :|
poza tym załączam jeden z plików, może jednak gdzieś cos w nim nie jest w porządku
krzynek1 załączono następujące plik:
Nie masz uprawnień, by zobaczyć załączniki w tym wątku.
Edytowany przez krzynek1 dnia 04-08-2009 20:19
|
|
|
|
koralm |
Dodano 04-08-2009 20:54
|
Super User
Posty: 505
Dołączył: 29/07/2006 23:19
|
czym ty edytujesz ten plik?
Proud winner of Netgear WNR3500L
|
|
|
|
krzynek1 |
Dodano 04-08-2009 21:14
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
notepad++ |
|
|
|
sloan |
Dodano 05-08-2009 06:50
|
User
Posty: 13
Dołączył: 22/01/2008 19:55
|
Otwórz sobie te pliki na routerze w vi i sprawdź je, głównie pod kątem znaków końca linii. Edytory bywają różne. Miałem podobny problem i okazało się, że edytor powstawiał mi znaki końca linii, które w vi wyglądały jak "^M" i nie był to notatnik |
|
|
|
shibby |
Dodano 05-08-2009 08:10
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
sprawdz czy masz odpowiednie kodowanie wybrane w notepad++
ew na piechotke to mozna inaczej wklej 1 skrypt w firewall i zapisz, nastepnie
Cytat cp /tmp/script_fire.sh /jffs/dzien.sh
i masz pierwszy skrypt poprawnie zapisany
pozniej kopiujesz drugi skrypt do firewall i zapisujesz i
Cytat cp /tmp/script_fire.sh /jffs/noc.sh
i masz juz dwa
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
|
|
|
|
krzynek1 |
Dodano 06-08-2009 08:22
|
User
Posty: 90
Dołączył: 31/08/2007 16:21
|
tak panowie, okazało się że mimo używania notepad++ skrypty miały na końcach linii ^M i to był cały problem, polecenie cat tego nie widzi, ale vi już tak
mój skrypt obecnie wygląda następująco
#!/bin/sh
nvram set qos_obw=440
service qos restart
sleep 10
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=5400
WWWMAX=1000000
PRIO0="27015:27090,53,5900,200"
PRIO1="20:110,442"
P2P="6510,23421,12231,43678,23575"
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 512kbit ceil 1500kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 2056kbit ceil ${CEIL}kbit prio 1
$TCA parent 1:1 classid 1:14 htb rate 560kbit ceil 560kbit prio 2
$TCA parent 1:1 classid 1:12 htb rate 2056kbit ceil ${CEIL}kbit prio 3
$TCA parent 1:1 classid 1:13 htb rate 100kbit ceil 5100kbit 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
$TQA parent 1:14 handle 14: $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 2 protocol ip handle 14 fw flowid 1:14
$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 POSTROUTING -m iprange --dst-range 192.168.1.4-192.168.1.6 -j MARK --set-mark 14
wget -O /dev/null http://[IP]:[PORT]/gui/\?action\=setsetting\&s\=max_ul_rate\&v\=0 2> /dev/null
stosuję dodatkowo skrypt uruchomieniowy podany przez sloana, umieściłem go w wan up, jednak nie działa on prawidłowo, prawdopodobnie dlatego że wpisanie w konsolę czas=`date +%k%M%S`nie wyświetla żadnego wyniku
sleep 10
czas=`date +%k%M%S`
if
[ "$czas" -ge 231500 ] && [ "$czas" -le 074500 ] ;
then /jffs/noc.sh
else
/jffs/dzien.sh
fi
można coś z tym zrobić ? a w ogóle, to jak należy ustawić notepad++ żeby prawidłowo tworzył pliki skryptów ? obecnie jest ustawiony na język shell, używam kodowania utf8, zapisuję jako plik .sh i nadal ^M na końcach linii wstawia :o
Edytowany przez krzynek1 dnia 06-08-2009 08:24
|
|
|
|
shibby |
Dodano 06-08-2009 09:36
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
najlepiej to uzywac narzedzi linuxowych czyli vi, nano, pico, mcedit
co do skryptu to
Cytat czas=`/bin/date +%k%M%S`
tak sprobuj i /bin/date +%k%M%S zwraca wynik, natomiast czas=`date +%k%M%S` nigdy ci nie zwroci wyniku bo zapisze ją w zmiennej czas
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
|
|
|
|
KOWALszefu |
Dodano 23-09-2009 22:50
|
User
Posty: 5
Dołączył: 09/10/2007 18:27
|
Super sprawdza sie ponizszy skrypcik do zmainy wartosciu uploadu w qos-ie w okreslonych godzinach...
Cytat
cru a qos_1 "00 23 * * * nvram set qos_obw=640 ; service qos restart"
cru a qos_2 "00 07 * * * nvram set qos_obw=320 ; service qos restart"
... ale mam pytanie, bo nie moge znalezc na to odpowiedzi, jaka wpisac zmienna zeby zmienialo wartosc downloadu?? |
|
|
|
shibby |
Dodano 24-09-2009 08:48
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Cytat jaka wpisac zmienna zeby zmienialo wartosc downloadu??
qos_ibw
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
|
|
|
|
jack78 |
Dodano 13-12-2009 00:00
|
OL Maniac
Posty: 1365
Dołączył: 22/04/2007 22:28
|
Trochę odgrzebię temat. Zrobiłem dwa pliki, dzien.sh i noc.sh
dzien.sh
#!/bin/sh
#--------------------------------------------
#WRT54 Script Generator v1.02
#(C) 2006-2007 Robert "Robson" Mytkowski
#--------------------------------------------
modprobe ipt_layer7
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 1100kbit
$TCA parent 1:1 classid 1:10 htb rate 250kbit ceil 500kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 39kbit ceil 599kbit prio 4
$TCA parent 1:1 classid 1:12 htb rate 39kbit ceil 599kbit prio 4
$TCA parent 1:1 classid 1:13 htb rate 39kbit ceil 599kbit prio 4
$TCA parent 1:1 classid 1:14 htb rate 39kbit ceil 599kbit prio 4
$TCA parent 1:1 classid 1:15 htb rate 39kbit ceil 599kbit prio 4
$TCA parent 1:1 classid 1:16 htb rate 200kbit ceil 900kbit prio 1
$TCA parent 1:1 classid 1:17 htb rate 100kbit ceil 500kbit prio 2
$TCA parent 1:1 classid 1:18 htb rate 50kbit ceil 500kbit prio 3
$TCA parent 1:1 classid 1:19 htb rate 200kbit ceil 500kbit prio 1
$TCA parent 1:1 classid 1:20 htb rate 50kbit ceil 500kbit prio 3
$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
$TQA parent 1:14 handle 14: $SFQ
$TQA parent 1:15 handle 15: $SFQ
$TQA parent 1:16 handle 16: $SFQ
$TQA parent 1:17 handle 17: $SFQ
$TQA parent 1:18 handle 18: $SFQ
$TQA parent 1:19 handle 19: $SFQ
$TQA parent 1:20 handle 20: $SFQ
$TFA parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
$TFA parent 1:0 prio 4 protocol ip handle 11 fw flowid 1:11
$TFA parent 1:0 prio 4 protocol ip handle 12 fw flowid 1:12
$TFA parent 1:0 prio 4 protocol ip handle 13 fw flowid 1:13
$TFA parent 1:0 prio 4 protocol ip handle 14 fw flowid 1:14
$TFA parent 1:0 prio 4 protocol ip handle 15 fw flowid 1:15
$TFA parent 1:0 prio 1 protocol ip handle 16 fw flowid 1:16
$TFA parent 1:0 prio 2 protocol ip handle 17 fw flowid 1:17
$TFA parent 1:0 prio 3 protocol ip handle 18 fw flowid 1:18
$TFA parent 1:0 prio 1 protocol ip handle 19 fw flowid 1:19
$TFA parent 1:0 prio 3 protocol ip handle 20 fw flowid 1:20
iptables -t mangle -A POSTROUTING -m layer7 --l7proto sip -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -m layer7 --l7proto bittorrent -j MARK --set-mark 11
iptables -t mangle -A POSTROUTING -m layer7 --l7proto directconnect -j MARK --set-mark 12
iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j MARK --set-mark 13
iptables -t mangle -A POSTROUTING -m layer7 --l7proto gnutella -j MARK --set-mark 14
iptables -t mangle -A POSTROUTING -m layer7 --l7proto soulseek -j MARK --set-mark 15
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 16
iptables -t mangle -A POSTROUTING -p tcp --sport 443 -j MARK --set-mark 17
iptables -t mangle -A POSTROUTING -p tcp --sport 995 -j MARK --set-mark 18
iptables -t mangle -A POSTROUTING -p tcp --sport 3389 -j MARK --set-mark 19
iptables -t mangle -A POSTROUTING -p tcp --sport 110 -j MARK --set-mark 20
noc.sh
#!/bin/sh
#--------------------------------------------
#WRT54 Script Generator v1.02
#(C) 2006-2007 Robert "Robson" Mytkowski
#--------------------------------------------
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 1100kbit
$TCA parent 1:1 classid 1:10 htb rate 550kbit ceil 1100kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 220kbit ceil 1100kbit prio 1
$TCA parent 1:1 classid 1:12 htb rate 220kbit ceil 1100kbit prio 2
$TCA parent 1:1 classid 1:13 htb rate 110kbit ceil 769kbit 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 2 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 POSTROUTING -p tcp --sport 80 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp --sport 443 -j MARK --set-mark 11
iptables -t mangle -A POSTROUTING -p tcp --sport 110 -j MARK --set-mark 12
iptables -t mangle -A POSTROUTING -p tcp --sport 1024:65535 -j MARK --set-mark 13
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 250kbit
$TCAU parent 1:1 classid 1:13 htb rate 20kbit ceil 100kbit prio 4
$TQAU parent 1:13 handle 13: $SFQ
$TFAU parent 1:0 prio 4 protocol ip handle 13 fw flowid 1:13
iptables -t mangle -A PREROUTING -p tcp --dport 1024:65535 -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -j IMQ --todev 0
oba są odpalane o odpowiednich godzinach przez Administration/Scheduler
Dodatkowo w Scripts/Firewall mam
/jffs/board/board/messages.sh
/jffs/board/board/blocked.sh
/jffs/httpd/board/messages.sh
/jffs/httpd/board/blocked.sh
iptables -t nat -A PREROUTING -p tcp --dport 8000 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 8001 -j ACCEPT
iptables -A INPUT -p tcp --dport 8001 -j ACCEPT
/jffs/statperuser/statinit.sh
Nie wiem czy komenda tc qdisc del dev br0 root czyści tylko klasy, czy również całą zawartość firewall, oraz czy przy każdym odpaleniu skryptów przez Scheduler dać za nimi restartowanie firewalla?
Czy może lepiej kod z firewall dodać do skryptów dzien.sh i noc.sh czy pozostawić tak jak mam?
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
|
|
|
|
mrjurek |
Dodano 02-03-2010 20:12
|
User
Posty: 5
Dołączył: 15/05/2009 13:51
|
Panowie a co jeśli ja ogladam Telewizje poprzez IPTV i mam 1,4Mb/s, a gdy wyłącze, osiągam 1,9Mb/s. Ciężko ustawić harmonogram o której będę oglądał TV.
No to zagwozdka.
Zaznaczam, że IPTV wpięte jest do tego samego modemu mojego operatora ADSL co Net tylko na dedykowanym (przerutowanym) porcie. Internet dalej wpięty do mojego LinkSysa.
Nie mogę tu zastosować skryptu uruchamianego o konkretnej godzinie (no może po godz. 2:00 bo jestem pewien na 100%, że nie będę siedział przed TV ).
Jakieś pomysły |
|
|
|
shibby |
Dodano 02-03-2010 21:00
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
nie dogodzisz nigdy wszystkim. Nie da sie zrobic tak jak to wiekszosc sobie marzy ze jak sa dwie osoby to maja po 50% lacza a jak jedna wylaczy to druga ma full. NIE TAK SIE NIE DA. Trzeba zostawic zapas. Robisz pewnego rodzaju kompromis dajac kazdemu pewna predkosc gwarantowana i pewna predkosc maksymalna. Nigdy nikomu nie dajesz pelnej predkosci lacza. W ten sposob wszyscy niewazne co robia maja plynnie dzialajacy internet i nikt nie jest poszkodowany np tym ze ty ogladasz iptv badz tym ze ktos gra online a tobie iptv pocina
Bardziej chodzi w tym wszystkim o to by dogodzic kazdemu niz zeby wyciagnac z lacza ile sie da.
Po przeczytaniu tego okresl co potrzebujesz i jak chcesz podzielic lacze to cie nakierujemy co zrobic.
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
|
|
|