Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
witam
mam małą siec złozoną z serwera posiadającego 4 karty sieciowe
eth0 - dsl
eth1 - switch x 4 kolega
eth2 - kolega + Ja
eth3 - Ap ( 2 kolegów )
wiec stworzyłem taki HTB narazie dla jednej karty sieciowej :
# gwarantowany oraz max DOWNLOAD i UPLOAD w kbit GD=128 # gwarantowany download MD=128 # maxymalny downloadu GU=16 # gwarantowany upload MU=24 # maxymalny upload # przepustowosc karty sieciowej(K) oraz max download(M) K=99000 M=99000 # Podaj przepustowosc lacza (D)-Download (U)-Upload w kbit # D=512 U=160 ### Ponizej podaj network sieci bez ostatniej cyferki np: ### LAN=192.168.0 ### Ponizej podaj IP karty wewnetrznej dla sieci np: ### HOST1=192.168.0.1 ### Teraz adresy IP ktore HTB ma wlaczyc do podzialu ### HOST2=${LAN}.2 HOST3=${LAN}.3 HOST4=${LAN}.4 HOST5=${LAN}.5 HOST6=${LAN}.6 HOST7=${LAN}.7 HOST8=${LAN}.8 HOST9=${LAN}.9 HOST10=${LAN}.10 if [ "$1" == "stop" ] then echo "HTB dla eth + imq zostalo zatrzymane" tc qdisc del root dev imq0 2>/dev/null tc qdisc del root dev imq1 2>/dev/null iptables -t mangle -D POSTROUTING -o imq1 -j HTB-OUT 2>/dev/null iptables -t mangle -F HTB-OUT 2>/dev/null iptables -t mangle -X HTB-OUT 2>/dev/null exit fi if [ "$1" == "start" ] then echo "HTB dla eth + imq zostalo wlaczone" tc qdisc del root dev imq1 2>/dev/null tc qdisc del root dev imq0 2>/dev/null iptables -t mangle -D POSTROUTING -o imq1 -j HTB-OUT 2>/dev/null iptables -t mangle -F HTB-OUT 2>/dev/null iptables -t mangle -X HTB-OUT 2>/dev/null ip link set dev imq0 up iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 0 iptables -t mangle -A POSTROUTING -o eth2 -j IMQ --todev 0 iptables -t mangle -A POSTROUTING -o eth3 -j IMQ --todev 0 ip link set dev imq1 up iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 1 iptables -t mangle -A PREROUTING -i eth2 -j IMQ --todev 1 iptables -t mangle -A PREROUTING -i eth3 -j IMQ --todev 1 ########################################## DOWNLOAD ##################################################### tc qdisc add dev imq0 root handle 1:0 htb tc class add dev imq0 parent 1:0 classid 1:1 htb rate ${K}kbit ceil ${K}kbit tc class add dev imq0 parent 1:1 classid 1:2 htb rate ${D}kbit ceil ${D}kbit quantum 1500 tc class add dev imq0 parent 1:1 classid 1:3 htb rate ${K}kbit ceil ${K}kbit quantum 1500 # tutaj ustalamy porty ktore maja miec wyzszy lub nizszy priorytet eth1 tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 match ip sport 139 0xffff flowid 1:2 tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 match ip sport 135 0xffff flowid 1:2 tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 match ip sport 110 0xffff flowid 1:2 tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 match ip sport 25 0xffff flowid 1:2 tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 match ip sport 23 0xffff flowid 1:2 tc class add dev imq0 parent 1:3 classid 1:101 htb rate 800kbit ceil ${M}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:102 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:103 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:104 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:105 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:106 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:107 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:108 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:109 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev imq0 parent 1:2 classid 1:110 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src $HOST1 flowid 1:101 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST2 flowid 1:102 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST3 flowid 1:103 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST4 flowid 1:104 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST5 flowid 1:105 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST6 flowid 1:106 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST7 flowid 1:107 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST8 flowid 1:108 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST9 flowid 1:109 tc filter add dev imq0 protocol ip preference 2 parent 1:0 u32 match ip dst $HOST10 flowid 1:110 tc qdisc add dev imq0 parent 1:101 handle 301:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:102 handle 302:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:103 handle 303:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:104 handle 304:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:105 handle 305:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:106 handle 306:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:107 handle 307:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:108 handle 308:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:109 handle 309:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:110 handle 310:0 sfq perturb 10 ##################################### UPLOAD ######################################### tc qdisc add dev imq1 root handle 1:0 htb tc class add dev imq1 parent 1:0 classid 1:1 htb rate ${U}kbit ceil ${U}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:102 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:103 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:104 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:105 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:106 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:107 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:108 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:109 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc class add dev imq1 parent 1:1 classid 1:110 htb rate ${GU}kbit ceil ${MU}kbit quantum 576 tc qdisc add dev imq1 parent 1:102 handle 302:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:103 handle 303:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:104 handle 304:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:105 handle 305:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:106 handle 306:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:107 handle 307:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:108 handle 308:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:109 handle 309:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:110 handle 310:0 sfq perturb 10 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 2 fw flowid 1:102 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 3 fw flowid 1:103 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 4 fw flowid 1:104 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 5 fw flowid 1:105 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 6 fw flowid 1:106 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 7 fw flowid 1:107 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 8 fw flowid 1:108 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 9 fw flowid 1:109 tc filter add dev imq1 protocol ip preference 1 parent 1:0 handle 10 fw flowid 1:110 iptables -t mangle -N HTB-OUT iptables -t mangle -I POSTROUTING -o imq1 -j HTB-OUT iptables -t mangle -A HTB-OUT -s $HOST2 -j MARK --set-mark 2 iptables -t mangle -A HTB-OUT -s $HOST3 -j MARK --set-mark 3 iptables -t mangle -A HTB-OUT -s $HOST4 -j MARK --set-mark 4 iptables -t mangle -A HTB-OUT -s $HOST5 -j MARK --set-mark 5 iptables -t mangle -A HTB-OUT -s $HOST6 -j MARK --set-mark 6 iptables -t mangle -A HTB-OUT -s $HOST7 -j MARK --set-mark 7 iptables -t mangle -A HTB-OUT -s $HOST8 -j MARK --set-mark 8 iptables -t mangle -A HTB-OUT -s $HOST9 -j MARK --set-mark 9 iptables -t mangle -A HTB-OUT -s $HOST10 -j MARK --set-mark 10 exit fi echo "$0 start|stop"
problem juz mam na samym wstępie ,wstepnie robie kolejki dla ip z eth1 i nieogranicza mi donwloadu :( za tym niewiem w jaki sposób przetworzyć ten skrypt htb dla 4 kart sieciowych (eth0 -dsl ,eth1,eth2,eth3 -siec)
Offline
Nieczytałem tego Twojego skryptu bo aktualnie niemam czasu go analizować ale powiem Ci jak to działa tak mniej więcej.
przy pomocy -j IMQ przeżucasz pakiety do wirtualnego interfejsu zanim wyjdą prawdziwym albo jak wpadają prawdziwym. Czyli dla jednego interfejsu żeby kontrolować downoad robisz jedną i drugą żeby upload kontrolować. Dla jednej sieci lokalnej na dwóch akrtach wydaje mi się że powinny wystarczyć dwa imq. Czyli wedłuk mnie conajmniej niepowinieneś mieć
iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1
iptables -t mangle -A PREROUTING -o eth0 -j IMQ --todev 1
gdzie eth0 to dsl :)
Ekspertem nie jestem w tej dziedzinie....
Wszystko co idzie do sieci kierujsze do jednego imq
A wszystko co idzie do kart LAN do drugiego imq.
Offline
Czyli wedłuk mnie conajmniej niepowinieneś mieć
iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1
iptables -t mangle -A PREROUTING -o eth0 -j IMQ --todev 1
gdzie eth0 to dsl :)
jesli juz to:
iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1
;)
ok po cięzkich bojach skrypt bez zmian działa ,powód ?? squiq transparent
teraz czeka mnie konfiguracja delay pools :)
Offline
ok po cięzkich bojach skrypt bez zmian działa ,powód ?? squiq transparent
teraz czeka mnie konfiguracja delay pools :)
A nie lepiej przyciac squida poprzez htb :) ??
Offline
Czyli wedłuk mnie conajmniej niepowinieneś mieć
iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 1
iptables -t mangle -A PREROUTING -o eth0 -j IMQ --todev 1
gdzie eth0 to dsl :)jesli juz to:
Kod:
iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1;)
ok po cięzkich bojach skrypt bez zmian działa ,powód ?? squiq transparent
teraz czeka mnie konfiguracja delay pools :)
ok mój błąd ale ja napisałem że niepowinieneś tego mieć :)
Jeśli będziesz ograniczał interfejsy lokalne czyli Lanowe a nie interfejs dsl'a to nie będziesz nic musiał robić ze squidem bo będzie przycinany. Wiem bo sam ostatnio pisałem skrypty żeby squid wpadał w kolejki.
Offline
skrypcik który jest na początku tematu przezuca ruch z lanu do imq
ale podrzuciłeś mi pomysł ,co myslisz o taki HTB ?
tc class add dev eth1 parent 1:2 classid 1:102 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev eth2 parent 1:2 classid 1:103 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500 tc class add dev eth3 parent 1:2 classid 1:104 htb rate ${GD}kbit ceil ${MD}kbit quantum 1500
Offline
No ok ale po co to :)
Jeśli chcesz tylko mieć kontrole nad lanem to dwa IMQ Ci wystarczą, ruch ze squida też limitujesz.
Jeśli np. chciałbym nielimitować HITów ze squida to jest na to jakiś stosowny patch, niewiem nieużywam aktualnie.
Jeśli chciałbym limitować dodatkowo ruch serwera (jeśli masz na nim jakieś usługi dla świata) to dodajesz kolejne dwa imq na down i up dla zewnętrzego eth i dzielisz go na usługi i reszte ruchu. Przynajmniej ja to tak rozumiem.
Offline
pomogło patch na squid z ZPH i działa cacy z imq ;)
dzieki za pomoc !!!
Offline