Za duży skrypt - jak skrócić ?
|
luk-a-sz |
Dodano 14-12-2007 16:03
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Witam
Używam generatora od dłuższego czasu. Od pewnego momentu zaczyna mi brakować miejsca na skrypt. Dzisiaj wygenerowałem skrypt w nowym generatorze i nie daje rady się zmieścić z nim. Czy moglibyście mi pomóc go skrócić ?
#--------------------------------------------
#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 4000kbit
$TCA parent 1:1 classid 1:11 htb rate 250kbit ceil 1000kbit prio 2
$TCA parent 1:1 classid 1:12 htb rate 250kbit ceil 1000kbit prio 2
$TCA parent 1:1 classid 1:13 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:14 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:15 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:16 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:17 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:18 htb rate 200kbit ceil 1000kbit prio 2
$TCA parent 1:1 classid 1:19 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:20 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:21 htb rate 200kbit ceil 1000kbit prio 2
$TCA parent 1:1 classid 1:22 htb rate 200kbit ceil 1000kbit prio 2
$TCA parent 1:1 classid 1:23 htb rate 200kbit ceil 700kbit prio 2
$TCA parent 1:1 classid 1:24 htb rate 200kbit ceil 700kbit prio 2
$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
$TQA parent 1:21 handle 21: $SFQ
$TQA parent 1:22 handle 22: $SFQ
$TQA parent 1:23 handle 23: $SFQ
$TQA parent 1:24 handle 24: $SFQ
$TFA parent 1:0 prio 2 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 2 protocol ip handle 13 fw flowid 1:13
$TFA parent 1:0 prio 2 protocol ip handle 14 fw flowid 1:14
$TFA parent 1:0 prio 2 protocol ip handle 15 fw flowid 1:15
$TFA parent 1:0 prio 2 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 2 protocol ip handle 18 fw flowid 1:18
$TFA parent 1:0 prio 2 protocol ip handle 19 fw flowid 1:19
$TFA parent 1:0 prio 2 protocol ip handle 20 fw flowid 1:20
$TFA parent 1:0 prio 2 protocol ip handle 21 fw flowid 1:21
$TFA parent 1:0 prio 2 protocol ip handle 22 fw flowid 1:22
$TFA parent 1:0 prio 2 protocol ip handle 23 fw flowid 1:23
$TFA parent 1:0 prio 2 protocol ip handle 24 fw flowid 1:24
iptables -t mangle -A POSTROUTING -d 192.168.1.11 -j MARK --set-mark 11
iptables -t mangle -A POSTROUTING -d 192.168.1.13 -j MARK --set-mark 12
iptables -t mangle -A POSTROUTING -d 192.168.1.101 -j MARK --set-mark 13
iptables -t mangle -A POSTROUTING -d 192.168.1.104 -j MARK --set-mark 14
iptables -t mangle -A POSTROUTING -d 192.168.1.105 -j MARK --set-mark 15
iptables -t mangle -A POSTROUTING -d 192.168.1.106 -j MARK --set-mark 15
iptables -t mangle -A POSTROUTING -d 192.168.1.109 -j MARK --set-mark 16
iptables -t mangle -A POSTROUTING -d 192.168.1.111 -j MARK --set-mark 17
iptables -t mangle -A POSTROUTING -d 192.168.1.114 -j MARK --set-mark 18
iptables -t mangle -A POSTROUTING -d 192.168.1.115 -j MARK --set-mark 18
iptables -t mangle -A POSTROUTING -d 192.168.1.119 -j MARK --set-mark 19
iptables -t mangle -A POSTROUTING -d 192.168.1.120 -j MARK --set-mark 19
iptables -t mangle -A POSTROUTING -d 192.168.1.121 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.122 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.123 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.1.124 -j MARK --set-mark 21
iptables -t mangle -A POSTROUTING -d 192.168.1.126 -j MARK --set-mark 22
iptables -t mangle -A POSTROUTING -d 192.168.1.127 -j MARK --set-mark 22
iptables -t mangle -A POSTROUTING -d 192.168.1.128 -j MARK --set-mark 22
iptables -t mangle -A POSTROUTING -d 192.168.1.129 -j MARK --set-mark 23
iptables -t mangle -A POSTROUTING -d 192.168.1.130 -j MARK --set-mark 23
iptables -t mangle -A POSTROUTING -d 192.168.1.131 -j MARK --set-mark 23
iptables -t mangle -A POSTROUTING -d 192.168.1.133 -j MARK --set-mark 23
iptables -t mangle -A POSTROUTING -d 192.168.1.132 -j MARK --set-mark 24
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 4000kbit
$TCAU parent 1:1 classid 1:11 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:12 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:13 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:14 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:15 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:16 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:17 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:18 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:19 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:20 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:21 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:22 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:23 htb rate 50kbit ceil 150kbit prio 2
$TCAU parent 1:1 classid 1:24 htb rate 50kbit ceil 150kbit prio 2
$TQAU parent 1:11 handle 11: $SFQ
$TQAU parent 1:12 handle 12: $SFQ
$TQAU parent 1:13 handle 13: $SFQ
$TQAU parent 1:14 handle 14: $SFQ
$TQAU parent 1:15 handle 15: $SFQ
$TQAU parent 1:16 handle 16: $SFQ
$TQAU parent 1:17 handle 17: $SFQ
$TQAU parent 1:18 handle 18: $SFQ
$TQAU parent 1:19 handle 19: $SFQ
$TQAU parent 1:20 handle 20: $SFQ
$TQAU parent 1:21 handle 21: $SFQ
$TQAU parent 1:22 handle 22: $SFQ
$TQAU parent 1:23 handle 23: $SFQ
$TQAU parent 1:24 handle 24: $SFQ
$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
$TFAU parent 1:0 prio 2 protocol ip handle 13 fw flowid 1:13
$TFAU parent 1:0 prio 2 protocol ip handle 14 fw flowid 1:14
$TFAU parent 1:0 prio 2 protocol ip handle 15 fw flowid 1:15
$TFAU parent 1:0 prio 2 protocol ip handle 16 fw flowid 1:16
$TFAU parent 1:0 prio 2 protocol ip handle 17 fw flowid 1:17
$TFAU parent 1:0 prio 2 protocol ip handle 18 fw flowid 1:18
$TFAU parent 1:0 prio 2 protocol ip handle 19 fw flowid 1:19
$TFAU parent 1:0 prio 2 protocol ip handle 20 fw flowid 1:20
$TFAU parent 1:0 prio 2 protocol ip handle 21 fw flowid 1:21
$TFAU parent 1:0 prio 2 protocol ip handle 22 fw flowid 1:22
$TFAU parent 1:0 prio 2 protocol ip handle 23 fw flowid 1:23
$TFAU parent 1:0 prio 2 protocol ip handle 24 fw flowid 1:24
iptables -t mangle -A PREROUTING -s 192.168.1.11 -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -s 192.168.1.13 -j MARK --set-mark 12
iptables -t mangle -A PREROUTING -s 192.168.1.101 -j MARK --set-mark 13
iptables -t mangle -A PREROUTING -s 192.168.1.104 -j MARK --set-mark 14
iptables -t mangle -A PREROUTING -s 192.168.1.105 -j MARK --set-mark 15
iptables -t mangle -A PREROUTING -s 192.168.1.106 -j MARK --set-mark 15
iptables -t mangle -A PREROUTING -s 192.168.1.109 -j MARK --set-mark 16
iptables -t mangle -A PREROUTING -s 192.168.1.111 -j MARK --set-mark 17
iptables -t mangle -A PREROUTING -s 192.168.1.114 -j MARK --set-mark 18
iptables -t mangle -A PREROUTING -s 192.168.1.115 -j MARK --set-mark 18
iptables -t mangle -A PREROUTING -s 192.168.1.119 -j MARK --set-mark 19
iptables -t mangle -A PREROUTING -s 192.168.1.120 -j MARK --set-mark 19
iptables -t mangle -A PREROUTING -s 192.168.1.121 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.1.122 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.1.123 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.1.124 -j MARK --set-mark 21
iptables -t mangle -A PREROUTING -s 192.168.1.126 -j MARK --set-mark 22
iptables -t mangle -A PREROUTING -s 192.168.1.127 -j MARK --set-mark 22
iptables -t mangle -A PREROUTING -s 192.168.1.128 -j MARK --set-mark 22
iptables -t mangle -A PREROUTING -s 192.168.1.129 -j MARK --set-mark 23
iptables -t mangle -A PREROUTING -s 192.168.1.130 -j MARK --set-mark 23
iptables -t mangle -A PREROUTING -s 192.168.1.131 -j MARK --set-mark 23
iptables -t mangle -A PREROUTING -s 192.168.1.133 -j MARK --set-mark 23
iptables -t mangle -A PREROUTING -s 192.168.1.132 -j MARK --set-mark 24
iptables -t mangle -A PREROUTING -j IMQ --todev 0
i[color=red]ptables -I FORWARD -s 192.168.1.11 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.13 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.101 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.104 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.105 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.106 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.109 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.111 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.114 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.115 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.119 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.120 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.121 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.122 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.123 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.124 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.126 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.127 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.128 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.129 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.130 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.131 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.133 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.132 -p tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.1.10 -p udp -m limit --limit 10/sec -j DROP
iptables -I FORWARD -s 192.168.1.11 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.13 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.101 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.104 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.105 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.106 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.109 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.111 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.114 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.115 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.119 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.120 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.121 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.122 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.123 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.124 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.126 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.127 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.128 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.129 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.130 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.131 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.133 -p udp -m limit --limit 3/sec -j DROP
iptables -I FORWARD -s 192.168.1.132 -p udp -m limit --limit 3/sec -j DROP[/color]
Edytowany przez robsonn dnia 14-12-2007 20:53
|
|
|
|
robsonn |
Dodano 14-12-2007 16:11
|
OL Maniac
Posty: 1337
Dołączył: 04/03/2006 13:35
|
1. usuń nagłówek (pierwsze 4 linie)
2. w kroku 3 masz przycisk opcje zaawansowane - wejdź tam i wyłącz "używanie strategi sfq". Stracisz sfq, ale skrypt będzie krótszy o 20%.
3. postaraj się używać zakresów, aby oszczędzić miejsce. Twórz zakresy IP np. po 2,3 osoby
To tak na szybko. Staram się cały czas zmniejszyć rozmiar skryptu, ale przeciwieństwem tego jest liczba rosnących opcji teraz spokojnie będę dłubał na d optymalizacją długości skryptu - pewnie m.in. użycia pętli.
A jak juz zauważyłeś opcji przełączania skryptu o godzinie nie ma, gdyż pierwszy problem jaki się pojawił to miejsce na skrypt, a poza tym nei działało to jak należy. Także jak się z tym uporam to być może dodam tąfunkcję.
Tomato ... since 0.01
WRT54G v2.2 Tomato 1.10 Turbo
WRT54GL v1.0 Tomato 1.07 Turbo
PAP2 NA v1.0 Stock firmware 3.1.5(LS) + IPFON
WPC11B v4.0 modded peek drivers
[b]WRT54 Script Generator - obowi?zkowe narz?dzie ka?dego Link
|
|
|
|
luk-a-sz |
Dodano 14-12-2007 16:39
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Cytat robsonn napisał/a:
1. usuń nagłówek (pierwsze 4 linie)
2. w kroku 3 masz przycisk opcje zaawansowane - wejdź tam i wyłącz "używanie strategi sfq". Stracisz sfq, ale skrypt będzie krótszy o 20%.
3. postaraj się używać zakresów, aby oszczędzić miejsce. Twórz zakresy IP np. po 2,3 osoby
To tak na szybko. Staram się cały czas zmniejszyć rozmiar skryptu, ale przeciwieństwem tego jest liczba rosnących opcji teraz spokojnie będę dłubał na d optymalizacją długości skryptu - pewnie m.in. użycia pętli.
A jak juz zauważyłeś opcji przełączania skryptu o godzinie nie ma, gdyż pierwszy problem jaki się pojawił to miejsce na skrypt, a poza tym nei działało to jak należy. Także jak się z tym uporam to być może dodam tąfunkcję.
ad.1 Potem jeszcze ktoś nie będzie wiedział komu dziękować za to dzieło
ad.2 no to troszkę dało ale optycznie po pasku widzę, że jeszcze sporo brakuje do tego żeby go wcisnąć. A poza tym co daje sfq ?
ad.3 nie bardzo wiem jak zrobić ten zakres. Bo zakres by dużo dał bo połowa osób jest na takich samych warunkach.
Jakieś podpowiedzi ?
Kiedyś był taki temat o za małym skrypcie. Szukałem go ale ta szukajka jest troszkę słaba... znajduje po paręnaście razy ten sam temat. Może czas zmienić fuzje na coś innego B)
Edytowany przez luk-a-sz dnia 14-12-2007 16:53
|
|
|
|
pawelc |
Dodano 14-12-2007 20:08
|
User
Posty: 81
Dołączył: 02/09/2007 18:35
|
Masz w generatorze zakres ip zaznaczasz od -do i to wszystko ,znacznie się skróci ,robsonn a nie można podlinkować skrypt np z jffs ,czyli umieszczamy skrypt na jffs a w zakładce script robimy linka powinno przecież ruszyć, czy zle kombinuje?
wrt 54g x3
|
|
|
|
qba |
Dodano 14-12-2007 20:22
|
Maxi User
Posty: 844
Dołączył: 04/03/2006 09:21
|
hmm przejscie z tego forum na coś lepszego np. phpBB by przemo było by b.dobrym pomysłem... ale no własnie jest ale na 99% (moge siemylić) nie ma możliwości wyodrębnienia tego forum od całego serwisu i przeniesienia bazy do nowego forum
update: sorki jednak znalazłem opis napisze do Adminów żeby zastanowili się nad tym
Edytowany przez qba dnia 14-12-2007 20:23
|
|
|
|
luk-a-sz |
Dodano 14-12-2007 20:24
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Cytat pawelc napisał/a:
Masz w generatorze zakres ip zaznaczasz od -do i to wszystko ,znacznie się skróci ,robsonn a nie można podlinkować skrypt np z jffs ,czyli umieszczamy skrypt na jffs a w zakładce script robimy linka powinno przecież ruszyć, czy zle kombinuje?
1. Wiem, że mogę zaznaczyć zakres IP. Ale popatrz:
ktoś ma neta 1Mb/s i IP np. 2. Ma parametry:
200 gwarantowane
1000 max
limit 100
itp.
Dorzucam do jego IP kolejne IP i tak właśnie zaczyna robić im się ciasno. Bo kiedy nie ma wolnego łącza to razem używają 200/2. Jeden drugiemu zabiera. Więc rozwiązanie łączenia użytkowników razem odpada.
2.Co do skryptu na jffs to bardzo możliwe tylko, że nie wiem jak się za to zabrać |
|
|
|
luk-a-sz |
Dodano 14-12-2007 20:44
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Cytat qba napisał/a:
hmm przejscie z tego forum na coś lepszego np. phpBB by przemo było by b.dobrym pomysłem... ale no własnie jest ale na 99% (moge siemylić) nie ma możliwości wyodrębnienia tego forum od całego serwisu i przeniesienia bazy do nowego forum
update: sorki jednak znalazłem opis napisze do Adminów żeby zastanowili się nad tym
A może poratujesz w temacie skryptu ?
ps. co do forum też mi się wydaje, że by się dało. |
|
|
|
robsonn |
Dodano 14-12-2007 20:49
|
OL Maniac
Posty: 1337
Dołączył: 04/03/2006 13:35
|
Spróbuj wkleić coś takiego zamiast limitów TCP, UDP. Jesli będzie działać i skrypt się zmieści to ok, jak nie to będziemy kombinować dalej. Zaznaczyłem Tobie na na czerwono w pierwszym poście co masz wyciąć.
for IP in 11 13 101 104 105 106 109 11 114 115 119 120 121 122 123 124 125 126 127 128 129 130 132 133
do
iptables -I FORWARD -p tcp -s 192.168.1.$IP -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p udp -s 192.168.1.$IP -m limit --limit 3/sec -j DROP
done
Powinno zadziałać. Btw. nie wiem ile masz ustawionych max. jednoczesnych połączeń TCP, ale jeżeli domyślnie 2048 to limit TCP, który nałożyłeś nie ma sensu bo w szczycie użytkownicy są w stanie otworzyć więcej połączeń.
Daj znać czy działa ;)
Edytowany przez robsonn dnia 14-12-2007 20:55
Tomato ... since 0.01
WRT54G v2.2 Tomato 1.10 Turbo
WRT54GL v1.0 Tomato 1.07 Turbo
PAP2 NA v1.0 Stock firmware 3.1.5(LS) + IPFON
WPC11B v4.0 modded peek drivers
[b]WRT54 Script Generator - obowi?zkowe narz?dzie ka?dego Link
|
|
|
|
pawelc |
Dodano 14-12-2007 20:49
|
User
Posty: 81
Dołączył: 02/09/2007 18:35
|
ja mam porobione zakresy i jest nieżle ,chociaż przez jakiś czas miałem problem z prawidłowym działaniem skryptu ale winny był soft a nie skrypt jak masz kilku ludków z tymi samymi parametrami to przyznaj im sumę gwarantowaną np dla trzech 600kbit min.max-1000 kbit osobiście porobiłem zakresy po 6 ludków i wszystko działa
wrt 54g x3
|
|
|
|
luk-a-sz |
Dodano 14-12-2007 21:08
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Cytat robsonn napisał/a:
Spróbuj wkleić coś takiego zamiast limitów TCP, UDP. Jesli będzie działać i skrypt się zmieści to ok, jak nie to będziemy kombinować dalej. Zaznaczyłem Tobie na na czerwono w pierwszym poście co masz wyciąć.
for IP in 11 13 101 104 105 106 109 11 114 115 119 120 121 122 123 124 125 126 127 128 129 130 132 133
do
iptables -I FORWARD -p tcp -s 192.168.1.$IP -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -p udp -s 192.168.1.$IP -m limit --limit 3/sec -j DROP
done
Powinno zadziałać. Btw. nie wiem ile masz ustawionych max. jednoczesnych połączeń TCP, ale jeżeli domyślnie 2048 to limit TCP, który nałożyłeś nie ma sensu bo w szczycie użytkownicy są w stanie otworzyć więcej połączeń.
Daj znać czy działa ;)
Użytkownicy raczej nie przekraczają (łącznie) 1000. Ten limit to taka asekuracja.
Wyłączyłem SFQ. Co to dawało :) ?
Zastosowałem tą pętle for.
Czy analogicznie mógłbym postąpić z innymi parametrami stosując tą pętle ?
Czy używanie tej pętli jest mniej wydajne niż oryginalnej formy skryptu ?
Dlaczego tomato ma taki mały zapas na skrypt ? Nie dało by się tego zwiększyć ?
I ostatnie :)
Jak mogę sprawdzić czy rzeczywiście działa limit 100 połączeń i 3sekundowego tworzenia ? |
|
|
|
robsonn |
Dodano 14-12-2007 22:23
|
OL Maniac
Posty: 1337
Dołączył: 04/03/2006 13:35
|
Cytat Użytkownicy raczej nie przekraczają (łącznie) 1000. Ten limit to taka asekuracja.
A jeśli im się uda to i tak te limity ci nie pomogą.
Cytat Wyłączyłem SFQ. Co to dawało?
http://pl.wikipedia.org/wiki/SFQ
Cytat Czy analogicznie mógłbym postąpić z innymi parametrami stosując tą pętle ?
Tak, tyle, że tam oprócz IP zmieniają się też wartości np. prędkości, ale wszystko do wydłubania.
Cytat Czy używanie tej pętli jest mniej wydajne niż oryginalnej formy skryptu ?
Nie ma żadnego znaczenia, to tylko skrót myślowy - oszczędzający miejsce.
Cytat Dlaczego tomato ma taki mały zapas na skrypt ? Nie dało by się tego zwiększyć ?
To urządzenie embeddowane, a nie linuks na normalnym kompie - jego pamięć flash jest ograniczona.
Cytat Jak mogę sprawdzić czy rzeczywiście działa limit 100 połączeń i 3sekundowego tworzenia ?
Odpal jakiś program p2p, ustaw użycie wielu połączeń np. utorrent, a następnei sprawdź czy limit na dane ip - powiedzmyTwoje jest utrzymywany (wykresy QoS).
Dodatkowo możesz sprawdzić reguły czy poprawnie zostały załadowane przez telnet, ssh - wpisująć
Tomato ... since 0.01
WRT54G v2.2 Tomato 1.10 Turbo
WRT54GL v1.0 Tomato 1.07 Turbo
PAP2 NA v1.0 Stock firmware 3.1.5(LS) + IPFON
WPC11B v4.0 modded peek drivers
[b]WRT54 Script Generator - obowi?zkowe narz?dzie ka?dego Link
|
|
|
|
luk-a-sz |
Dodano 15-12-2007 09:44
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Dzięki za szczegółową odpowiedź.
Jeszcze mam taką prośbę. Zastanawiam się jak stworzyć jedną dużą pętle w której od razu będą zawarte wszystkie parametry:
-download gwar/max
-upload gwar/max
-priorytet
-limit TCP (już wiadomo)
-limit UDP (już wiadomo)
-SFQ (chyba za dużo wymagam )
Wydaje mi się, że jest to do zrobienia ponieważ każdy dostaje to samo. W razie czego to 2 różne pętle dla innych IP.
Grupy IP podaje się np. 120:123 ? A jeśli chcemy do grupy dodać jeszcze jakieś IP np. 120:123 i 128 ? |
|
|
|
robsonn |
Dodano 15-12-2007 11:17
|
OL Maniac
Posty: 1337
Dołączył: 04/03/2006 13:35
|
luk-a-sz polcam zgooglować sprawę nt. skryptów basha - kto szuka nie błądzi
Tomato ... since 0.01
WRT54G v2.2 Tomato 1.10 Turbo
WRT54GL v1.0 Tomato 1.07 Turbo
PAP2 NA v1.0 Stock firmware 3.1.5(LS) + IPFON
WPC11B v4.0 modded peek drivers
[b]WRT54 Script Generator - obowi?zkowe narz?dzie ka?dego Link
|
|
|
|
luk-a-sz |
Dodano 15-12-2007 11:24
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Cytat robsonn napisał/a:
luk-a-sz polcam zgooglować sprawę nt. skryptów basha - kto szuka nie błądzi
Dobrze, będę szukał. Żeby nie było, że idę na gotowe. Jak uda mi się coś stworzyć sprawdzisz czy dużo błędów nie porobiłem ?
Edit:
A jest jakiś sposób żeby skrypt był ładowany np. z partycji cifs albo jffs ?
Edytowany przez luk-a-sz dnia 15-12-2007 13:02
|
|
|
|
luk-a-sz |
Dodano 16-12-2007 12:24
|
User
Posty: 106
Dołączył: 21/09/2006 00:54
|
Witam ponownie,
odnoszę wrażenie, że internet bez SFQ pracuje znacznie gorzej. Chodzi o to, że często zdarza się, że ktoś wykorzystuje całe łącze i wtedy jest problem.
Z sfq mi się skrypt nie zmieści. Co do optymalizacji całości przez skrypt basha to jeszcze nie do końca rozumiem jak to ma działać
Może ktoś mógłby mi pomóc w optymalizacji skryptu albo przypomnieć bo nie mogę znaleźć tematu a wiem, że taki był co zrobić kiedy skrypt się nie mieści. Szczególnie chodzi mi o to czy była by możliwość umieszczenia go w jffs albo cifs ?
Pozdrawiam i z góry dziękuje za pomoc. |
|
|
|
robsonn |
Dodano 16-12-2007 13:22
|
OL Maniac
Posty: 1337
Dołączył: 04/03/2006 13:35
|
uk-a-sz jak juz zapewne zauważyłeś SFQ jest przydatne, bo pozwala w każdej z kolejek sobno dystrybuować łącze na poszczególne usługi, nie pozwalając na dominację jednej z nich.
Część z SFQ możesz zamienić na coś takiego:
for licz in 'seq 11 24'
do
$TQAU parent 1:$licz handle $licz: $SFQ
done
Analogicznie możesz pokombinować z innymi częściami skryptu.
Edytowany przez robsonn dnia 16-12-2007 13:23
Tomato ... since 0.01
WRT54G v2.2 Tomato 1.10 Turbo
WRT54GL v1.0 Tomato 1.07 Turbo
PAP2 NA v1.0 Stock firmware 3.1.5(LS) + IPFON
WPC11B v4.0 modded peek drivers
[b]WRT54 Script Generator - obowi?zkowe narz?dzie ka?dego Link
|
|
|