anderson andrade wrote:
Marcos,
    Não sei se tu percebeu, mas estou fazendo marcações de pacotes,
    através das seguintes regras de firewall que determino para qual
    ip/rede/porta quero aplicar uma determinada regra.
    neste caso apliquei as regras 1:11 para o ip 192.168.0.104, entendeu
    ? e todo o tráfego que nao estiver especificado em nenhuma regra,
    seja via marcação de pacotes ou atraves de Tc filters, é
    automaticamente utilizado pela classe 1:10.
# upload
    $IPTABLES -t mangle -A FORWARD -s 192.168.0.104 -j MARK --set-mark 11
    # para download
    $IPTABLES -t mangle -A POSTROUTING -d 192.168.0.104 -j MARK
    --set-mark 11

Eu acho que tá faltando coisa....
Já nao lembro mais dos detalhes, mas.... veja o arquivo abaixo.

Esse arquivo eu peguei do <http://lartc.org/wondershaper/> e modifiquei:
--------------
#!/bin/bash

#tc qdisc del dev ppp0 root htb - apaga tudo

#Max upload, in kbit
UPCEIL=108
DOWNCEIL=240

PATH=/sbin:$PATH

# clean existing down- and uplink qdiscs, hide errors
tc qdisc del dev ppp0 root    2> /dev/null > /dev/null
tc qdisc del dev ppp0 ingress 2> /dev/null > /dev/null

tc -s class show dev ppp0

echo "Setting Policy"
tc qdisc add dev ppp0 root handle 1: htb default 12

echo "Adding default class"
tc class add dev ppp0 parent 1: classid 1:1 htb rate ${UPCEIL}kbit ceil ${UPCEIL}kbit

echo "Adding additional classes"
tc class add dev ppp0 parent 1:1 classid 1:10 htb rate 80kbit ceil ${UPCEIL}kbit prio 0 tc class add dev ppp0 parent 1:1 classid 1:11 htb rate 32kbit ceil ${UPCEIL}kbit prio 1 tc class add dev ppp0 parent 1:1 classid 1:12 htb rate 32kbit ceil ${UPCEIL}kbit prio 2 #tc class add dev ppp0 parent 1:1 classid 1:13 htb rate 32kbit ceil ${UPCEIL}kbit prio 2

#echo "Adding policies"
#tc qdisc add dev ppp0 parent 1:10 handle 20: pfifo limit 5
#tc qdisc add dev ppp0 parent 1:11 handle 30: pfifo limit 5
#tc qdisc add dev ppp0 parent 1:12 handle 40: pfifo limit 5
#tc qdisc add dev ppp0 parent 1:12 handle 40: sfq perturb 10
#tc qdisc add dev ppp0 parent 1:13 handle 50: sfq perturb 10


#echo "Adding filters"
#U32="tc filter add dev ppp0 protocol ip parent 1:0"
#$U32 prio 1 u32 match ip dport 22 0xffff flowid 1:10
#$U32 prio 1 u32 match ip sport 22 0xffff flowid 1:10
#$U32 prio 1 u32 match ip dport 80 0xffff flowid 1:10
#$U32 prio 1 u32 match ip sport 80 0xffff flowid 1:10

echo "Adding policy filters"
tc filter add dev ppp0 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev ppp0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11
tc filter add dev ppp0 parent 1:0 protocol ip prio 3 handle 3 fw classid 1:12
#tc filter add dev ppp0 parent 1:0 protocol ip prio 4 handle 4 fw classid 1:13

#tc qdisc show




########## downlink #############
# slow downloads down to somewhat less than the real speed  to prevent
# queuing at our ISP. Tune to see how high you can set it.
# ISPs tend to have *huge* queues to make sure big downloads are fast
#
# attach ingress policer:

tc qdisc add dev ppp0 handle ffff: ingress

# filter *everything* to it (0.0.0.0/0), drop everything that's
# coming in too fast:

tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src \
   0.0.0.0/0 police rate ${DOWNCEIL}kbit burst 10k drop flowid :1

#------------

IPTABLES="/sbin/iptables"


$IPTABLES -t mangle -A PREROUTING -p icmp -j MARK --set-mark 0x1
$IPTABLES -t mangle -A PREROUTING -p icmp -j RETURN
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x1 $IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN $IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 22 -j MARK --set-mark 0x2
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 22 -j RETURN
$IPTABLES -t mangle -A PREROUTING -j MARK --set-mark 0x3

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

Vc define que vai usar o htb, depois cria a classe e subclasses, e ai q tem uma parte q nao vejo no seu. Só marcar o pacote com iptables nao faz ele ir magicamente pra uma classe.... eu acho que vc tem que colocar as coisas que estão na parte "Adding policy filters". Mas os numeros das classes dessa seção não são diretamente relacionados com os definidos no comeco... maior confusão. Vc vai ter q fazer uns testes - e procure a seção do htb lá no http://lartc.org/ quem sabe foi atualizada.

A parte do "Adding filters" é equivalente as regras de iptables do final, mas comigo não estava funcionando...

--
Marcos


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to