Tomasz Rutkowski wrote:

P.S. Trzeba dodać jeszcze do firewall-a następujące linijki.

  $iptables -t mangle -A FORWARD -i $WORLD -j IMQ --todev 0
  $iptables -t mangle -A FORWARD -o $WORLD -j IMQ --todev 1
  ip link set imq0 up
  ip link set imq1 up

------------------------------------------------------------------------

#!/bin/sh
modprobe imq
TC="/sbin/tc"
TC_CL="$TC class add dev"
TC_QD="$TC qdisc add dev"
TC_FL="$TC filter add dev"

# Konfiguracja dla połączenia internetowego w domu
# #
# Ustaw poniższe wartości trochę poniżej faktycznych prędkości
# ściągania i wysyłania (w kilobitach)
DOWNLINK=1024
UPLINK=256
DEV=imq0
DEV2=imq1
IP_WORLD=80.53.199.10 ILE_IP=17


####################################
echo "Tworze drzewo dla imq0"
# wyczyść kolejki dla ruchu wchodzacego
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
# zainstaluj w korzeniu kolejkę HTB, skieruj domyślnie ruch do 1:20:
$TC_QD $DEV root handle 1: htb default 15
$TC_CL $DEV parent 1:0 classid 1:1 htb rate ${DOWNLINK}kbit ceil ${DOWNLINK}kbit


$TC_CL $DEV parent 1:1 classid 1:10 htb rate 200kbit ceil $((DOWNLINK-50))kbit prio 1
$TC_CL $DEV parent 1:1 classid 1:11 htb rate 200kbit ceil $((DOWNLINK-50))kbit prio 2
$TC_CL $DEV parent 1:1 classid 1:12 htb rate 100kbit ceil $((DOWNLINK-50))kbit prio 3
$TC_CL $DEV parent 1:1 classid 1:13 htb rate 200kbit ceil $((DOWNLINK-50))kbit prio 3
$TC_CL $DEV parent 1:1 classid 1:14 htb rate 100kbit ceil $((DOWNLINK-50))kbit prio 3
$TC_CL $DEV parent 1:1 classid 1:15 htb rate 100kbit ceil $((DOWNLINK-50))kbit prio 4
$TC_CL $DEV parent 1:1 classid 1:16 htb rate 10kbit ceil $((DOWNLINK-500))kbit prio 6

# DNS, ACK
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 53 0xffff classid 1:10
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 53 0xffff classid 1:10
#$TC_FL $DEV protocol ip parent 1:0 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 
0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
# ssh, cvs
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 22 0xffff classid 1:11
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 22 0xffff classid 1:11
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 2401 0xffff classid 1:11
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 2401 0xffff classid 1:11
# smtp, gg
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 25 0xffff classid 1:12
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 25 0xffff classid 1:12
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 8074 0xffff classid 1:12
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 8074 0xffff classid 1:12
# www
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 80 0xffff classid 1:13
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 80 0xffff classid 1:13
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 443 0xffff classid 1:13
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 443 0xffff classid 1:13
# ftp
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 20 0xffff classid 1:14
$TC_FL $DEV protocol ip parent 1:0 u32 match ip sport 21 0xffff classid 1:14
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 20 0xffff classid 1:14
$TC_FL $DEV protocol ip parent 1:0 u32 match ip dport 21 0xffff classid 1:14
# p2p
$TC_FL $DEV protocol ip parent 1:0 handle 0x21 fw classid 1:16

$TC_QD $DEV parent 1:10 handle 100: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:11 handle 110: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:12 handle 120: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:13 handle 130: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:14 handle 140: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:15 handle 150: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV parent 1:16 handle 160: wrr dest ip $ILE_IP 100 wmode1=1 wmode2=1

echo "Gotowe !"
######################################
echo "Tworze drzewo dla imq1"
# wyczyść kolejki dla ruchu wychodzacego
tc qdisc del dev $DEV2 root 2> /dev/null > /dev/null


# zainstaluj w korzeniu kolejkę HTB, skieruj domyślnie ruch do 1:20:
$TC_QD $DEV2 root handle 1: htb default 15

$TC_CL $DEV2 parent 1:0 classid 1:1 htb rate ${UPLINK}kbit ceil ${UPLINK}kbit

$TC_CL $DEV2 parent 1:1 classid 1:10 htb rate 20kbit ceil $((UPLINK-20))kbit prio 1
$TC_CL $DEV2 parent 1:1 classid 1:11 htb rate 20kbit ceil $((UPLINK-20))kbit prio 2
$TC_CL $DEV2 parent 1:1 classid 1:12 htb rate 10kbit ceil $((UPLINK-20))kbit prio 3
$TC_CL $DEV2 parent 1:1 classid 1:13 htb rate 20kbit ceil $((UPLINK-20))kbit prio 3
$TC_CL $DEV2 parent 1:1 classid 1:14 htb rate 10kbit ceil $((UPLINK-20))kbit prio 3
$TC_CL $DEV2 parent 1:1 classid 1:15 htb rate 10kbit ceil $((UPLINK-20))kbit prio 4
$TC_CL $DEV2 parent 1:1 classid 1:16 htb rate 5kbit ceil $((UPLINK-100))kbit prio 6

# DNS, ACK
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 53 0xffff classid 1:10
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 53 0xffff classid 1:10
#$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip protocol 6 0xff match u8 0x05 0x0f 
at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
# ssh, cvs
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 22 0xffff classid 1:11
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 22 0xffff classid 1:11
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 2401 0xffff classid 1:11
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 2401 0xffff classid 1:11
# smtp, gg
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 25 0xffff classid 1:12
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 25 0xffff classid 1:12
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 8074 0xffff classid 1:12
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 8074 0xffff classid 1:12
# www
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 80 0xffff classid 1:13
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 80 0xffff classid 1:13
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 443 0xffff classid 1:13
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 443 0xffff classid 1:13
# ftp
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 20 0xffff classid 1:14
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip sport 21 0xffff classid 1:14
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 20 0xffff classid 1:14
$TC_FL $DEV2 protocol ip parent 1:0 u32 match ip dport 21 0xffff classid 1:14
# p2p
$TC_FL $DEV2 protocol ip parent 1:0 handle 0x22 fw classid 1:16

$TC_QD $DEV2 parent 1:10 handle 100: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:11 handle 110: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:12 handle 120: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:13 handle 130: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:14 handle 140: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:15 handle 150: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1
$TC_QD $DEV2 parent 1:16 handle 160: wrr sour masq $ILE_IP 100 wmode1=1 wmode2=1

######################################
echo "Gotowe !"




--
Tomasz Rutkowski - gg 1118937


_______________________________________________ pld-users-pl mailing list [EMAIL PROTECTED] http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym