Re: CONTROLE DE BANDA COM HTB
Cara, acho que o mais rápido pra vc ter esse controle de up funcionando vai ser marcando os pacotes mesmo, mas não marcar os pacotes que estão entrando pela eth0.
Você deve marcar os pacotes que estão entrando pelas outras interfaces e depois capturar esses pacotes com os filtros e classes associados à eth0. Acho que assim deve dar certo.
Lembrando que pra cada cliente vc vai ter uma class e um mark diferente.
Outras coisas. Além do MARK existe também o CLASSIFY que eu particularmente gosto bastante. No kernel tem algumas coisas mais recentes como Ingress Qdisc, Metadata (EMATCH META). Esses dois caras conjugados conseguem reclassificar as filas entrando pelas interfaces, mas eu não tenho laboratório pra testá-los, então nem sei como usa. Se eu conseguir algum teste com eles eu posto pro pessoal aqui do forum.
Outras dicas. Mantenha bloqueado o forward entre essas redes, para que os seus clientes não fiquem usando seu firewall como ponte.
Deixe faça controle de mac nos seus rádios e desabilite o broadcast de ssid pra dificultar que qualquer um se conecte às suas bases.
Re: CONTROLE DE BANDA COM HTB
Blz José! valew mesmo . Era bem como eu imaginava e você me deu uma luz grande, man. Espero que continue me ajudando e te ajudarei sempre que for necessário .
Re: CONTROLE DE BANDA COM HTB
Estamos aqui pra isso :-D
Re: CONTROLE DE BANDA COM HTB
essa ai tbm e boa, mas eu ja prefiro fazer assim:
DEV=eth2
TC=/sbin/tc
U32="filter add dev $DEV protocol ip parent 1:0 prio 4 u32"
U32upload="filter add dev $DEV protocol ip parent ffff: prio 4 u32"
#Delata root
$TC qdisc del dev $DEV root >/dev/null 2>&1
$TC qdisc del dev $DEV ingress >/dev/null 2>&1
#Adiciona root qdisk
$TC qdisc add dev $DEV handle ffff: ingress; >/dev/null 2>&1
$TC qdisc add dev $DEV root handle 1: htb default 10
#Adiciona root class
$TC class add dev $DEV parent 1: classid 1:1 htb rate 10mbit ceil 100mbit burst 125000k quantum 1536.
#Adiciona Default class
$TC class add dev $DEV parent 1:1 classid 1:0x10 htb rate 1kbps ceil 1kbps burst 2k quantum 1536
$TC qdisc add dev $DEV parent 1:0x10 handle 0x10: pfifo limit 5
Adiciona class REDE_Interna, que pfifo limit 5
#Com velocidade de no maximo 333kbps e minimo 256kbps
$TC class add dev $DEV parent 1:1 classid 1:0x20 htb rate 32kbps ceil 41kbps burst 2k prio 1 quantum 1536
#Adicionando cliente TESTE
$TC class add dev $DEV parent 1:0x20 classid 1:0x21 htb rate 1kbps ceil 9kbps burst 2k prio 4 quantum 1536
$TC ${U32} match ip dst 192.168.0.14/24 match 0xffff flowid 1:0x21
#controle de upload do cliente na velocidade de 75 kbps
$TC ${U32upload} match ip src 192.168.0.14/24 police rate 75kbit burst 22k drop flowid :1
$TC qdisc add dev $DEV parent 1:0x21 handle 0x21: pfifo limit 5
Detalhe, eu considero um erro a pessoa nao informar ao TC o quanto de velocidade vai ser distribuida tipo se eu tenho um link de 1 mb e quero distribuir entre os clientes um limite maximo do link de 5123 eu devo setar isso, isso evita lentidao na rede tipo se nao informar o link vai ser consumido todo eo sistema vai ficar doido pq a placa de rede e 10/100 e ele vai procurar dar mais e mais velocidade pros clientes sem que tenha essa velocidade de internet.
o correto e informar o quanto vai ser distribuido no geral e sempre setar o burst
Re: CONTROLE DE BANDA COM HTB
Ae Galera. A Solução . Melhor desempenho que obtive foi depois de escrever este script. Funcionalidade Total. Um abraço e Obrigaod a todos, Emanuel (tianguapontocom) brigadao. JOsé Guilherme, Valeu também amigao, depois me de seu contato. Um abraço .
#!/bin/bash
# Controle banda utilizando tc
# By Tiago Gomes Pereira
# Itabuna - Bahia
# Os ip's que entraram no controle de banda
ips128=`cat /etc/rc.d/hosts.128`
ipespecial=`cat /etc/rc.d/hosts.especiais`
# A placa de rede que tera o controle de banda
p_rede="eth1"
# Velocidade para os clientes
velocidade64=70kbit
velocidade128=128kbit
# LIMPANDO TUDO
tc qdisc del dev $p_rede root
tc qdisc add dev $p_rede handle ffff: ingress; >/dev/null 2>&1
tc qdisc add dev $p_rede root handle 1: htb default 10
tc class add dev $p_rede parent 1: classid 1:1 htb rate 10mbit ceil 100mbit
tc class add dev $p_rede parent 1:1 classid 1:20 htb rate 600kbit ceil 768kbit
count=1
for IPS in $ips128
do
tc class add dev $p_rede parent 1:20 classid 1:$count htb rate 70kbit ceil 80kbit
tc filter add dev $p_rede protocol ip parent 1:0 prio 1 u32 match ip dst $IPS flowid 1:$count
tc filter add dev $p_rede protocol ip parent ffff: prio 4 u32 match ip src $IPS police rate 18kbit burst 22k drop flowid 1:$c
ount
count=`expr $count + 1`
done;
count=`expr $count + 1`
for IPS in $ipespecial
do
tc class add dev $p_rede parent 1:20 classid 1:$count htb rate 100kbit ceil 115kbit
tc filter add dev $p_rede protocol ip parent 1:0 prio 1 u32 match ip dst $IPS flowid 1:$count
tc filter add dev $p_rede protocol ip parent ffff: prio 4 u32 match ip src $IPS police rate 18kbit burst 22k drop flowid 1:$count
count=`expr $count + 1`
done;
count=`expr $count + 1`
for IPS in `cat /etc/rc.d/hosts.meioespeciais`
do
tc class add dev $p_rede parent 1:20 classid 1:$count htb rate 90kbit ceil 110kbit
tc filter add dev $p_rede protocol ip parent 1:0 prio 1 u32 match ip dst $IPS flowid 1:$count
tc filter add dev $p_rede protocol ip parent ffff: prio 4 u32 match ip src $IPS police rate 18kbit burst 22k drop flo
wid 1:$count
count=`expr $count + 1`
done;