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 na serwerku jajko 2.6.25.15 z obsługą imq, l7 itd. Używam do kontroli ruchu htb.
Chcaiłbym teraz uzywać do kontroli w sieci zacząć uzywać htb na interfejsach omq i markować ruch za pomocą l7.
Moje htb:
#!/bin/sh # shaper.sh -- prosty i łatwy skrypt do zarz±dzania pasmem if [ "$1" == "stop" ] then echo "Zatrzymujemy shapera" tc qdisc del root dev eth1 2>/dev/null tc qdisc del root dev ppp0 2>/dev/null iptables -t mangle -D POSTROUTING -o ppp0 -j MYSHAPER-OUT 2>/dev/null iptables -t mangle -F MYSHAPER-OUT 2>/dev/null iptables -t mangle -X MYSHAPER-OUT 2>/dev/null exit fi if [ "$1" == "start" ] then # To co było wcze¶niej -- do pieca! :) echo "Uruchamiamy shapera" tc qdisc del root dev eth1 2>/dev/null tc qdisc del root dev ppp0 2>/dev/null iptables -t mangle -D POSTROUTING -o ppp0 -j MYSHAPER-OUT 2>/dev/null iptables -t mangle -F MYSHAPER-OUT 2>/dev/null iptables -t mangle -X MYSHAPER-OUT 2>/dev/null ########## DOWNLOAD tc qdisc add dev eth1 root handle 1:0 htb ######### DOWNLOAD ######### Teraz przydział pasma na kolejkę ######### quantum liczy sie : rate*1024/8/1600 tc class add dev eth1 parent 1:0 classid 1:1 htb rate 99000kbit ceil 99000kbit quantum 1500 tc class add dev eth1 parent 1:1 classid 1:2 htb rate 1000kbit ceil 1100kbit quantum 1500 tc class add dev eth1 parent 1:1 classid 1:3 htb rate 98000kbit ceil 98000kbit quantum 1500 tc class add dev eth1 parent 1:2 classid 1:4 htb rate 125kbit ceil 800kbit quantum 1500 #Yakub tc class add dev eth1 parent 1:2 classid 1:5 htb rate 125kbit ceil 300kbit quantum 1500 #Michal tc class add dev eth1 parent 1:2 classid 1:6 htb rate 125kbit ceil 300kbit quantum 1500 #Marek tc class add dev eth1 parent 1:2 classid 1:7 htb rate 125kbit ceil 300kbit quantum 1500 #Mazur tc class add dev eth1 parent 1:2 classid 1:8 htb rate 125kbit ceil 300kbit quantum 1500 #Wojtek tc class add dev eth1 parent 1:2 classid 1:9 htb rate 125kbit ceil 300kbit quantum 1500 #Kalinowska tc class add dev eth1 parent 1:2 classid 1:10 htb rate 125kbit ceil 300kbit quantum 1500 #Przemek tc class add dev eth1 parent 1:2 classid 1:11 htb rate 125kbit ceil 800kbit quantum 1500 #Etch tc class add dev eth1 parent 1:2 classid 1:12 htb rate 125kbit ceil 800kbit quantum 1500 #Ewelina tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.1 flowid 1:3 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.2 flowid 1:4 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.3 flowid 1:5 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.4 flowid 1:6 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.5 flowid 1:7 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.6 flowid 1:8 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.7 flowid 1:9 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.8 flowid 1:10 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.9 flowid 1:11 tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.10 flowid 1:12 tc qdisc add dev eth1 parent 1:3 handle 3:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:4 handle 4:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:5 handle 5:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:6 handle 6:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:7 handle 7:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:8 handle 8:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:9 handle 9:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:10 handle 10:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:11 handle 11:0 sfq perturb 10 tc qdisc add dev eth1 parent 1:12 handle 12:0 sfq perturb 10 ################################ UPLOAD ############################## tc qdisc add dev ppp0 root handle 1:0 htb # default 21 tc class add dev ppp0 parent 1:0 classid 1:1 htb rate 260kbit ceil 260kbit #glowna kolejka #### PODZIAL KOLEJKI NA KILKA PREDKOSCI #### IBM tc class add dev ppp0 parent 1:1 classid 1:2 htb rate 20kbit ceil 60kbit quantum 1500 # RESZTA IBM tc class add dev ppp0 parent 1:1 classid 1:20 htb rate 20kbit ceil 30kbit quantum 1500 # WWW IBM ### MICHAL tc class add dev ppp0 parent 1:1 classid 1:22 htb rate 20kbit ceil 30kbit quantum 1500 # RESZTA MICHAL tc class add dev ppp0 parent 1:1 classid 1:202 htb rate 20kbit ceil 30kbit quantum 1500 # WWW MICHAL ### MAREK tc class add dev ppp0 parent 1:1 classid 1:3 htb rate 20kbit ceil 50kbit quantum 1500 # RESZTA MAREK tc class add dev ppp0 parent 1:1 classid 1:30 htb rate 20kbit ceil 30kbit quantum 1500 # WWW MAREK ### MAZUR tc class add dev ppp0 parent 1:1 classid 1:4 htb rate 20kbit ceil 50kbit quantum 1500 # RESZTA MAZUR tc class add dev ppp0 parent 1:1 classid 1:40 htb rate 20kbit ceil 30kbit quantum 1500 # WWW MAZUR ### WOJTEK tc class add dev ppp0 parent 1:1 classid 1:5 htb rate 20kbit ceil 30kbit quantum 1500 # RESZTA WOJTEK tc class add dev ppp0 parent 1:1 classid 1:50 htb rate 20kbit ceil 30kbit quantum 1500 # WWW WOJTEK ### KALINOWSKA tc class add dev ppp0 parent 1:1 classid 1:6 htb rate 20kbit ceil 20kbit quantum 1500 # RESZTA KALINOWSKA tc class add dev ppp0 parent 1:1 classid 1:60 htb rate 20kbit ceil 20kbit quantum 1500 # WWW KALINOWSKA ### PRZEMEK tc class add dev ppp0 parent 1:1 classid 1:7 htb rate 20kbit ceil 30kbit quantum 1500 # RESZTA PRZEMEK tc class add dev ppp0 parent 1:1 classid 1:70 htb rate 20kbit ceil 30kbit quantum 1500 # WWW PRZEMEK ### YAKUB tc class add dev ppp0 parent 1:1 classid 1:8 htb rate 20kbit ceil 60kbit quantum 1500 # RESZTA YAKUB tc class add dev ppp0 parent 1:1 classid 1:80 htb rate 20kbit ceil 30kbit quantum 1500 # WWW YAKUB ### EWELINA tc class add dev ppp0 parent 1:1 classid 1:9 htb rate 20kbit ceil 60kbit quantum 1500 # RESZTA EWELINA tc class add dev ppp0 parent 1:1 classid 1:90 htb rate 20kbit ceil 30kbit quantum 1500 # WWW EWELINA ###P2P tc class add dev ppp0 parent 1:1 classid 1:100 htb rate 5kbit ceil 10kbit quantum 1500 # P2P ##################################################################### ### IBM tc qdisc add dev ppp0 parent 1:2 handle 2:0 sfq perturb 10 #IBM tc qdisc add dev ppp0 parent 1:20 handle 20:0 sfq perturb 10 #IBM ### MICHAL tc qdisc add dev ppp0 parent 1:22 handle 22:0 sfq perturb 10 #MICHAL tc qdisc add dev ppp0 parent 1:202 handle 202:0 sfq perturb 10 #MICHAL ### MAREK tc qdisc add dev ppp0 parent 1:3 handle 3:0 sfq perturb 10 #MAREK tc qdisc add dev ppp0 parent 1:30 handle 30:0 sfq perturb 10 #MAREK ### MAZUR tc qdisc add dev ppp0 parent 1:4 handle 4:0 sfq perturb 10 #MAZUR tc qdisc add dev ppp0 parent 1:40 handle 40:0 sfq perturb 10 #MAZUR ### WOJTEK tc qdisc add dev ppp0 parent 1:5 handle 5:0 sfq perturb 10 #WOJTEK tc qdisc add dev ppp0 parent 1:50 handle 50:0 sfq perturb 10 #WOJTEK ### KALINOWSKA tc qdisc add dev ppp0 parent 1:6 handle 6:0 sfq perturb 10 #KALINOWSKA tc qdisc add dev ppp0 parent 1:60 handle 60:0 sfq perturb 10 #KALINOWSKA ### PRZEMEK tc qdisc add dev ppp0 parent 1:7 handle 7:0 sfq perturb 10 #PRZEMEK tc qdisc add dev ppp0 parent 1:70 handle 70:0 sfq perturb 10 #PRZEMEK ### YAKUB tc qdisc add dev ppp0 parent 1:8 handle 8:0 sfq perturb 10 #YAKUB tc qdisc add dev ppp0 parent 1:80 handle 80:0 sfq perturb 10 #YAKUB ### EWELINA tc qdisc add dev ppp0 parent 1:9 handle 9:0 sfq perturb 10 #EWELINA tc qdisc add dev ppp0 parent 1:90 handle 90:0 sfq perturb 10 #EWELINA ### P2P tc qdisc add dev ppp0 parent 1:100 handle 100:0 sfq perturb 10 #P2P ###################################################################### #### IBM tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 21 fw flowid 1:2 #IBM tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 200 fw flowid 1:20 #IBM #### MICHAL tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 31 fw flowid 1:22 #MICHAL tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 300 fw flowid 1:202 #MICHAL #### MAREK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 41 fw flowid 1:3 #MAREK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 400 fw flowid 1:30 #MAREK #### MAZUR tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 51 fw flowid 1:4 #MAZUR tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 500 fw flowid 1:40 #MAZUR #### WOJTEK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 61 fw flowid 1:5 #WOJTEK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 600 fw flowid 1:50 #WOJTEK #### KALINOWSKA tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 71 fw flowid 1:6 #KALINOWSKA tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 700 fw flowid 1:60 #KALINOWSKA #### PRZEMEK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 81 fw flowid 1:7 #PRZEMEK tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 800 fw flowid 1:70 #PRZEMEK #### YAKUB tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 91 fw flowid 1:8 #YAKUB tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 900 fw flowid 1:80 #YAKUB #### EWELINA tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 101 fw flowid 1:9 #EWELINA tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 1000 fw flowid 1:90 #EWELINA ###P2P RESZTA ################################# ZNAKOWANIE PAKIETOW ############### #zamarkuj np www markiem 200 #zamarkuj cos innego markie 201 # filtry: www i ftp iptables -t mangle -N MYSHAPER-OUT iptables -t mangle -I POSTROUTING -o ppp0 -j MYSHAPER-OUT ### YAKUBEK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.9 --sport 80 -j MARK --set-mark 200 # mark www IBM iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.9 -j MARK --set-mark 21 # reszta ruchu IBM ### MICHAL iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.3 --sport 80 -j MARK --set-mark 300 # mark www dla MICHAL iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.3 -j MARK --set-mark 31 # reszta ruchu MICHAL ### MAREK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.4 --sport 80 -j MARK --set-mark 400 # mark www dla MAREK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.4 -j MARK --set-mark 41 # reszta ruchu MAREK ### MAZUR iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.5 --sport 80 -j MARK --set-mark 500 # mark www dla MAZUR iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.5 -j MARK --set-mark 51 # reszta ruchu MAZUR ### WOJTEK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.6 --sport 80 -j MARK --set-mark 600 # mark www dla WOJTEK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.6 -j MARK --set-mark 61 # reszta ruchu WOJTEK ### KALINOWSKA iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.7 --sport 80 -j MARK --set-mark 700 # mark www dla KALINOWSKA iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.7 -j MARK --set-mark 71 # reszta ruchu KALINOWSKA ### PRZEMEK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.8 --sport 80 -j MARK --set-mark 800 # mark www dla PRZEMEK iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.8 -j MARK --set-mark 81 # reszta ruchu PRZEMEK ### YAKUB iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.2 --sport 80 -j MARK --set-mark 900 # mark www dla YAKUB iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.2 -j MARK --set-mark 91 # reszta ruchu YAKUB ### EWELINA iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.10 --sport 80 -j MARK --set-mark 1000 # mark www dla EWELINA iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.2.10 -j MARK --set-mark 101 # reszta ruchu EWELINA exit fi if [ "$1" == "status" ] then echo "eth1: " tc -s qdisc show dev eth1 echo "ppp0: " tc -s qdisc show dev ppp0 exit fi echo "$0 start|stop|status" ## KONIECc
Mam wiec pytanie w jaki sposób przenieść ruch z eth i ppp0 na imq.
Podnoszenie interfejsów działa mi, jednak nie bardzo rozumiem jakie zastosować regóły iptables żeby przekierować ruch na imq.
Znalazłem takie reguły, ale nie rozumiem tego
ip link set imq0 up ip link set imq1 up iptables -A PREROUTING -t mangle -i eth0 -j IMQ --todev 0 iptables -A PREROUTING -t mangle -i eth1 -j IMQ --todev 1
po zastosowaniu tego ruch nie idzie przez imq tylko nadal przez eth i ppp0
Offline
Nie bardzo wiem o co chodzi w tym opisie, może i ja tez nie do końca opisałem wszystko.
więc ...
serwer ma 2 karty sieciowe eth0 i eth1, eth0 (ppp0) jest podłączona do router tepsowego który pracuje jako BRIDGE, serwer sam nawiązuje polaczenie z netem, więc on jest routerem.
Download kontroluję na eth1 (lan) upload kontroluję na ppp0 (eth0)
Teraz jakie imq ma być na jakiej karcie eth (ppp0) i jakie regułki zastosować na przekierowanie ruchu?
Offline
dla najprostszej konfiguracji powinno to wyglądać mniej więcej tak
modprobe imq numdevs=2 #download iptables -t mangle -A POSTROUTING -i ppp0 -j IMQ --todev 0 #upload iptables -t mangle -A POSTROUTING -i eth1 -j IMQ --todev 1 ip link set imq0 up ip link set imq1 up #download tc qdisc del root dev imq0 tc qdisc add dev imq0 root handle 1:0 htb tc class add dev imq0 parent 1:0 classid 1:1 htb rate 2mbit ceil 2mbit tc class add dev imq0 parent 1:1 classid 1:2 htb rate 250kbit ceil 500kbit ... tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.1.20 flowid 1:2 # i tak samo upload tylko zmieniasz nazwę interfejsu
masz tu jeszcze linka do opisu imq po polskiemu klik
Ostatnio edytowany przez siarka2107 (2008-08-28 23:04:54)
Offline
modprobe imq numdevs=2 #download iptables -t mangle -A POSTROUTING -i ppp0 -j IMQ --todev 0 #upload iptables -t mangle -A POSTROUTING -i eth1 -j IMQ --todev 1 ip link set imq0 up ip link set imq1 up #download tc qdisc del root dev imq0 tc qdisc add dev imq0 root handle 1:0 htb tc class add dev imq0 parent 1:0 classid 1:1 htb rate 500kbit ceil 1mbit #glowna kolejka tc class add dev imq0 parent 1:1 classid 1:2 htb rate 125kbit ceil 300kbit #DL IBM tc class add dev imq0 parent 1:1 classid 1:3 htb rate 125kbit ceil 300kbit #DL MICHAL tc class add dev imq0 parent 1:1 classid 1:4 htb rate 125kbit ceil 300kbit #DL MAREK tc class add dev imq0 parent 1:1 classid 1:5 htb rate 125kbit ceil 300kbit #DL MAZUR tc class add dev imq0 parent 1:1 classid 1:6 htb rate 125kbit ceil 300kbit #DL WOJTEK tc class add dev imq0 parent 1:1 classid 1:7 htb rate 125kbit ceil 300kbit #DL KALINOWSKA tc class add dev imq0 parent 1:1 classid 1:8 htb rate 125kbit ceil 300kbit #DL PRZEMEK tc class add dev imq0 parent 1:1 classid 1:9 htb rate 125kbit ceil 300kbit #DL ETCH tc class add dev imq0 parent 1:1 classid 1:10 htb rate 125kbit ceil 300kbit #DL EWELINA tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.2 flowid 1:2 # IBM tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.3 flowid 1:3 # MICHAL tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.4 flowid 1:4 # MAREK tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.5 flowid 1:5 # MAZUR tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.6 flowid 1:6 # WOJTEK tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.7 flowid 1:7 # KALINOWSKA tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.8 flowid 1:8 # PRZEMEK tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.9 flowid 1:9 # ETCH tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.2.10 flowid 1:10 # EWELINA #UPLOAD # i tak samo upload tylko zmieniasz nazwę interfejsu tc qdisc del root dev imq1 tc qdisc add dev imq1 root handle 1:0 htb tc class add dev imq1 parent 1:0 classid 1:1 htb rate 260kbit ceil 260kbit #glowna kolejka tc class add dev imq1 parent 1:1 classid 1:2 htb rate 20kbit ceil 60kbit #DL IBM tc class add dev imq1 parent 1:1 classid 1:3 htb rate 20kbit ceil 60kbit #DL MICHAL tc class add dev imq1 parent 1:1 classid 1:4 htb rate 20kbit ceil 60kbit #DL MAREK tc class add dev imq1 parent 1:1 classid 1:5 htb rate 20kbit ceil 60kbit #DL MAZUR tc class add dev imq1 parent 1:1 classid 1:6 htb rate 20kbit ceil 60kbit #DL WOJTEK tc class add dev imq1 parent 1:1 classid 1:7 htb rate 20kbit ceil 60kbit #DL KALINOWSKA tc class add dev imq1 parent 1:1 classid 1:8 htb rate 20kbit ceil 60kbit #DL PRZEMEK tc class add dev imq1 parent 1:1 classid 1:9 htb rate 20kbit ceil 60kbit #DL ETCH tc class add dev imq1 parent 1:1 classid 1:10 htb rate 20kbit ceil 60kbit #DL EWELINA tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.2 flowid 1:2 # IBM tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.3 flowid 1:3 # MICHAL tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.4 flowid 1:4 # MAREK tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.5 flowid 1:5 # MAZUR tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.6 flowid 1:6 # WOJTEK tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.7 flowid 1:7 # KALINOWSKA tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.8 flowid 1:8 # PRZEMEK tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.9 flowid 1:9 # ETCH tc filter add dev imq1 protocol ip parent 1:0 u32 match ip dst 192.168.2.10 flowid 1:10 # EWELINA
uruchamiam skrypt htb i dostaje taki komunikat :
iptables v1.4.0: Can't use -i with POSTROUTING Try `iptables -h' or 'iptables --help' for more information. iptables v1.4.0: Can't use -i with POSTROUTING Try `iptables -h' or 'iptables --help' for more information.
Offline
W skrypcie htb zmieniłem na próbę
modprobe imq numdevs=2 #download iptables -t mangle -A POSTROUTING -i ppp0 -j IMQ --todev 0 #upload iptables -t mangle -A POSTROUTING -i eth1 -j IMQ --todev 1
na
modprobe imq numdevs=2 #download iptables -t mangle -A PREROUTING -i ppp0 -j IMQ --todev 0 #upload iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 1
i po uruchomieniu skryptu nie wywalilo mi błędów.
polecenie
ifconfig
serwer:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:02:44:7B:B5:AF inet6 addr: fe80::202:44ff:fe7b:b5af/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:927499 errors:0 dropped:0 overruns:0 frame:0 TX packets:784175 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:972541848 (927.4 MiB) TX bytes:162060866 (154.5 MiB) Interrupt:12 Base address:0x6800 eth1 Link encap:Ethernet HWaddr 00:02:44:7C:8A:D8 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::202:44ff:fe7c:8ad8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:768955 errors:0 dropped:0 overruns:0 frame:0 TX packets:875747 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:119136788 (113.6 MiB) TX bytes:961246227 (916.7 MiB) Interrupt:11 Base address:0x6c00 imq0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:16000 Metric:1 RX packets:10277 errors:0 dropped:0 overruns:0 frame:0 TX packets:10277 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:11000 RX bytes:9147571 (8.7 MiB) TX bytes:9147571 (8.7 MiB) imq1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:16000 Metric:1 RX packets:8681 errors:0 dropped:0 overruns:0 frame:0 TX packets:8681 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:11000 RX bytes:2155747 (2.0 MiB) TX bytes:2155747 (2.0 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:56 errors:0 dropped:0 overruns:0 frame:0 TX packets:56 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3184 (3.1 KiB) TX bytes:3184 (3.1 KiB) ppp0 Link encap:Point-to-Point Protocol inet addr:83.8.170.196 P-t-P:213.25.2.172 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:329635 errors:0 dropped:0 overruns:0 frame:0 TX packets:226047 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:434088679 (413.9 MiB) TX bytes:33565382 (32.0 MiB) serwer:~#
Offline
Czyli wg. ciebie tak może zostać?
Nie napisałem też jeszcze jednej rzeczy,chodzi o firewalla i maskaradę sieci
mam tak zrobione:
#!/bin/sh ############ REGOLA WLACZAJACA FORWARD SIECI ################### echo 1 > /proc/sys/net/ipv4/ip_forward ########################### CZYSZCZENIE STARYCH REGOL ########## iptables -F iptables -X iptables -t nat -X iptables -t nat -F # ustawienie polityki dzialania iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED ################### DHCP ################################### ### udostepniaie internetu w sieci lokalnej ### Dla wlaczonego dhcp # Komputer IBM iptables -t nat -A POSTROUTING -s 192.168.2.2 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:0d:60:b1:38:ee -j ACCEPT # Michal iptables -t nat -A POSTROUTING -s 192.168.2.3 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:e0:7d:a1:94:d5 -j ACCEPT # Marek iptables -t nat -A POSTROUTING -s 192.168.2.4 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:40:05:3c:7c:a0 -j ACCEPT # Mazur iptables -t nat -A POSTROUTING -s 192.168.2.5 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:1d:7d:e5:8c:3f -j ACCEPT # Wojtek iptables -t nat -A POSTROUTING -s 192.168.2.6 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:4f:4e:60:8b:6b -j ACCEPT # Kalinowska iptables -t nat -A POSTROUTING -s 192.168.2.7 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:0a:e6:cc:21:ed -j ACCEPT # Przemek iptables -t nat -A POSTROUTING -s 192.168.2.8 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:1d:7d:94:f2:f4 -j ACCEPT # Etch iptables -t nat -A POSTROUTING -s 192.168.2.9 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:05:4e:45:c7:0b -j ACCEPT # Ewelina iptables -t nat -A POSTROUTING -s 192.168.2.10 -j MASQUERADE iptables -A FORWARD -m mac --mac-source 00:50:8d:68:d6:e1 -j ACCEPT
to oczywiście tylko część firewalla
Offline
no może, jak masz dużo klientów w sieci i puszczasz tylko określone mac to lepiej jest użyć ipset, przykład jego użycia masz tutaj
Offline
Witamponownie
Po kilkunastu dniach czytania i testowania różnych konfiguracji htb zmontowałem taki skrypt
#!/bin/sh #!/bin/bash if [ "$1" == "stop" ] then echo "Zatrzymujemy shapera" tc qdisc del root dev imq0 2>/dev/null tc qdisc del root dev imq1 2>/dev/null exit fi if [ "$1" == "start" ] then # To co bylo wczesniej -- do pieca! :) echo "Uruchamiamy shapera" echo "Podnoszwenie IMQ..." modprobe imq ip link set imq0 up ip link set imq1 up echo "Przekierowanie do IMQ" lan="eth1" #ifc_zew="eth0" ifc_zew="ppp0" # # max_upload="200kbit" # up_others="5kbit" # up_ssh="5kbit" # up_http="40kbit" # up_p2p="10kbit" #max_download="800kbit" #down_others="10kbit" #down_ssh="40kbit" #down_http="400kbit" #down_ftp="100kbit" ip link set imq0 up ip link set imq1 up iptables -t mangle -A POSTROUTING -o $ifc_zew -j IMQ --todev 0 iptables -t mangle -A PREROUTING -i $ifc_zew -j IMQ --todev 1 tc qdisc del root dev imq0 2>/dev/null tc qdisc del root dev imq1 2>/dev/null ########## DOWNLOAD tc qdisc add dev imq1 root handle 1:0 htb tc class add dev imq1 parent 1:0 classid 1:1 htb rate 90000kbit ceil 90000kbit #glowna kolejka tc class add dev imq1 parent 1:1 classid 1:2 htb rate 1000kbit ceil 1000kbit #wan tc class add dev imq1 parent 1:1 classid 1:3 htb rate 85000kbit ceil 85000kbit #lan tc class add dev imq1 parent 1:2 classid 1:4 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:5 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:6 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:7 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:8 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:9 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:10 htb rate 100kbit ceil 400kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:11 htb rate 100kbit ceil 700kbit quantum 1600 tc class add dev imq1 parent 1:2 classid 1:12 htb rate 100kbit ceil 400kbit quantum 1600 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.2 flowid 1:4 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.3 flowid 1:5 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.4 flowid 1:6 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.5 flowid 1:7 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.6 flowid 1:8 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.1.7 flowid 1:9 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.8 flowid 1:10 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.9 flowid 1:11 tc filter add dev imq1 protocol ip preference 1 parent 1:0 u32 match ip dst 192.168.2.10 flowid 1:12 tc qdisc add dev imq1 parent 1:3 handle 3:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:4 handle 4:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:5 handle 5:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:6 handle 6:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:7 handle 7:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:8 handle 8:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:9 handle 9:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:10 handle 10:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:11 handle 11:0 sfq perturb 10 tc qdisc add dev imq1 parent 1:12 handle 12:0 sfq perturb 10 #### Upload #### tc qdisc add dev imq0 root handle 1:0 htb default 12 tc class add dev imq0 parent 1:0 classid 1:1 htb rate 200kbit ceil 260kbit prio 1 #quantum 15 tc class add dev imq0 parent 1:1 classid 1:12 htb rate 2kbit ceil 5kbit prio 2 #quantum 15 # p2p tc class add dev imq0 parent 1:1 classid 1:3 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:4 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:5 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:6 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:7 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:8 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:9 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:10 htb rate 20kbit ceil 50kbit quantum 1600 tc class add dev imq0 parent 1:1 classid 1:11 htb rate 20kbit ceil 50kbit quantum 1600 tc qdisc add dev imq0 parent 1:3 handle 3:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:4 handle 4:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:5 handle 5:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:6 handle 6:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:7 handle 7:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:8 handle 8:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:9 handle 9:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:11 handle 11:0 sfq perturb 10 tc qdisc add dev imq0 parent 1:12 handle 12:0 sfq perturb 10 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.2 flowid 1:3 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.3 flowid 1:4 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.4 flowid 1:5 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.5 flowid 1:6 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.6 flowid 1:7 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.7 flowid 1:8 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.8 flowid 1:9 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.9 flowid 1:10 tc filter add dev imq0 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.2.10 flowid 1:11 #tc filter add dev imq0 parent 1:0 protocol ip prio 2 handle 111 fw flowid 1:10 ###Filtry p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 100 fw flowid 1:12 #p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 101 fw flowid 1:12 #p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 102 fw flowid 1:12 #p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 103 fw flowid 1:12 #p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 104 fw flowid 1:12 #p2p #tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 105 fw flowid 1:12 #http l7 tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 106 fw flowid 1:12 #p2p tc filter add dev imq0 parent 1:0 protocol ip prio 10 handle 107 fw flowid 1:12 #p2p
Co prawda skrypt jest jeszcze powiedzmy w fazie testów, ale trzyma transfery użytkowników.
Pojawił się jednakinny poważny problem, serwer jest też serwerem www i po odpaleniu htb w zasadzie strony bardzo wolno ładują się, jest to spowodowane małą prędkością na wyjściu serwera w świat. Co zrobić aby przydzielić wieksze pasmo wychodzace dla serwera www?
Offline
Pobierznie przejrzałem Twój skrypt - w sekcji dotyczącej uploadu, nie zrobiłeś filtra do którego wpadałby Twój serwer - ląduje więc w domyslnej klasie, która ma ograniczneia 2kbit ceil 5kbit
Offline
Faktycznie brakuje filtra, ale dla jakiego adresu lub interfejsu zrobić filtr?
tc filter add dev imq0 protocol ip preference 1 parent 1:0 ......................................... flowid 1:13
Offline
Dla adresu serwera? Najprościej możesz po prostu wykorzystać fakt że serwer wpada do domyślnej kolejki i ją zwiększyć.
Ostatnio edytowany przez urug (2008-09-08 16:05:19)
Offline
Zwiększyłem przepustowość kolejki i strony z serwera wczytują się szybko, z tym że do tej kolejki mam tez podpięte filtry l7 do filtrowania ruchu p2p na wyjściu w WAN.
Najlepszym rozwiązaniem jest zrobić osobny filtr dla serwera www, ale mam łącze adsl i nie mam stałego IP żeby przypisać do filtra. Można zamarkować port 80 na firewallu ale mam obawy że większość ruchu szczególnie p2p pójdzie tą kolejką i nie będę miał kontroli nad ruchem p2p na wyjściu, a blokować nie chcę.
Jakie jest wyjście z sytuacji?
I jeszcze jedno, karta sieciowa którą wychodzi wszystko w net (eth0) ma przypisany IP na sztywno, ale ifconfig nie pokazuje adresu IP
ifconfig eth0 Link encap:Ethernet HWaddr 00:02:44:7B:B5:AF inet6 addr: fe80::202:44ff:fe7b:b5af/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1876485 errors:302 dropped:1636 overruns:143 frame:0 TX packets:1513502 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1957249891 (1.8 GiB) TX bytes:375074209 (357.6 MiB) Interrupt:12 Base address:0x6800
Ostatnio edytowany przez yakubek (2008-09-08 19:20:26)
Offline