On Mon, 24 Jan 2005 22:45:40 +0200, Alin Nastac <[EMAIL PROTECTED]> wrote:
> Alex wrote:
>
> >>Daca un pachet nu e marcat de vreo regula MARK atunci inseamna ca
> >>atributul mark este 0. Logic, nu?
> >>Sau poti folosi pur si simplu "default EXTERN" la qdisc-ul root.
> >>
> >>
> >>
> >asta am incercat si eu de prima data dar primiesc raspunsul:
> >RTNETLINK answers: Invalid argument
> >(posibil sa nu fi facut eu ceva bine...din nou.. :( )
> >
> >am folosit aceiasi sintaxa ca la filtrul pentru METRO. daca, comentez
> >filtrul pus la metro si la cel pus la EXTREN pun in loc de handle 0 ,
> >handle 1 merge in sensul ca nu mai primesc mesaj de eroare...i'm lost
> >again...
> >
> >
> >
> >
> Rezolvari posibile:
> - marchezi tot ce e diferit de mark 1 cu mark 2
> - pui "default EXTERN" in qdisc-ul default
> - adaugi un filter 32 "match ip dst 0/0 prio x" cu x > prio-ul de la
> filter-ul fw
>
>
> ---
> Detalii despre listele noastre de mail: http://www.lug.ro/
>
salut,
dupa 2 zile de incercari aproape non stop ma declar incompetent si
batut in cap ca tot n-am reusit sa clasific traficul de extern .... si
apelez la mila colistasilor
am incercat toate solutiile propuse de alin fara succes ( nu inteleg
de ce nici macar default pe extern nu a mers...ceva imi scapa
mereu...)
prima solutie propusa de Alin mi se pare ce-a mai comoda... eu am
incercat sa o implementez asa:
dupa regulile din firewall necesare pt mipclases am adaugat
iptables -t mangle -A PREROUTING -m mark --mark 0x1 -j RETURN
iptables -t mangle -A PREROUTING -m mark ! --mark 0x1 -j MARK --set-mark 0x2
scriptul htb la care am asjun e urmatorul:
#!/bin/sh
# metropolitanul este marcat cu 0x1 de mipclases
DEV=eth1
TC=/sbin/tc
U32="$TC filter add dev $DEV protocol ip parent 1:0 prio 1 u32"
echo "Del prev root"
$TC qdisc del dev $DEV root
echo "Add new root class - handle 1:"
$TC qdisc add dev $DEV root handle 1: htb default 15
#asta e viteza maxima a interfetei spre LAN
echo "Add LAN band - classid 1:1, parent 1:"
$TC class add dev $DEV parent 1: classid 1:1 htb rate 50Mbit
ceil 100Mbit burst 128k
#se aduaga clientii benzii de lan care sunt defapt toata reteaua...
echo "Add from 192.168.0.0/26 to LAN IP class band - classid 1:0x11, parent 1:1"
$TC class add dev $DEV parent 1:1 classid 1:0x11 htb rate 50Mbit
ceil 100Mbit burst 128k
$U32 match ip dst 192.168.0.0/26 match ip src 192.168.0.0/26 flowid 1:0x11
$TC qdisc add dev $DEV parent 1:0x11 handle 0x11: pfifo
echo "Add Metropolitan band - classid 1:0x20, parent 1:1"
$TC class add dev $DEV parent 1:1 classid 1:0x20 htb rate
256kbit ceil 512kbit burst 2k
$TC filter add dev $DEV protocol ip parent 1:0 prio 0 handle 0x1
fw flowid 1:0x20
echo "Add EXTERN band - classid 1:0x12, parent 1:1"
$TC class add dev $DEV parent 1:1 classid 1:0x12 htb rate
128kbit ceil 512kbit burst 2k prio 2
$TC filter add dev $DEV protocol ip parent 1:0 prio 2 handle 0x2
fw flowid 1:0x12
# $TC filter add dev $DEV protocol ip parent 1:1 prio 3 u32
match ip dst 0/0 flowid 1:0x12
#$U32 match ip dst 0/0 flowid 1:0x12
#acum incep clientii metro...
echo "Add client 192.168.0.2 metro band - classid 1:31, parent 1:0x20"
$TC class add dev $DEV parent 1:0x20 classid 1:0x31 htb rate
128kbit ceil 512kbit burst 2k prio 2
$U32 match ip dst 192.168.0.2/32 flowid 1:0x31
$TC qdisc add dev $DEV parent 1:0x31 handle 0x31: sfq perturb 10
# clientii pt extern
echo "Add client 192.168.0.2 extern band - classid 1:61, parent 1:0x21"
$TC class add dev $DEV parent 1:0x12 classid 1:0x41 htb rate
120kbit ceil 120kbit burst 2k prio 1
$U32 match ip dst 192.168.0.2/32 flowid 1:0x41
$TC qdisc add dev $DEV parent 1:0x41 handle 0x41: sfq perturb 10
Banuiesc ca nu am facut marcare cu 0x2 cum trebuie...
iptables -L -t mangle -nvx imi arata printre altele :
61217 31005540 MARK all -- * * 0.0.0.0/0
0.0.0.0/0 MARK match !0x1 MARK set 0x2
si o multime de chainuri de genul:
Chain mark_horiz_src_194_106 (1 references)
pkts bytes target prot opt in out source
destination
0 0 MARK all -- * * 194.106.204.0/23
0.0.0.0/0 MARK set 0x1
32 29032 MARK all -- * * 194.106.212.0/23
0.0.0.0/0 MARK set 0x1
0 0 MARK all -- * * 194.106.222.0/23
0.0.0.0/0 MARK set 0x1
Dac dau: tc -s -d class show dev eth1 se vede ca nic un pachet nu
trece prin 10x12 si implicit prin 1:0x41
Va rog frumos, fieva mila de mine cu cateva reguli de iptables/htb
salavatoare :)
Multumesc,
Alexban
---
Detalii despre listele noastre de mail: http://www.lug.ro/