[AsteriskBrasil] QoS

Rodrigo Vian listas em porttaltecnologia.com.br
Quinta Novembro 4 12:20:15 BRST 2010


Tenho um script funfando belezinha... rsrsrs segue

============ CBVOIP ============

#!/bin/sh

#Requisitos
#Kernel: 2.6.18 ou superior (suporte nativo ao SIP)
#pacotes: iproute / iptables

IPTABLES="/sbin/iptables"
TC="/sbin/tc"

# parâmetros
IF_INET=eth1   #Interface de Internet
IF_LOCAL=eth2 #Interface Local
DOWN_MAX=2000kbit #Download Máximo do Link de Internet
UP_MAX=2000kbit #Upload Máximo do Link de Internet
IP_VOIP=192.168.10.200 #Endereço ip do VoIP
BW_VOIP=280kbit #Banda reservado para o VoIP
ID_VOIP=1000 #Identificação para marcação

start_tc() {
  # download
  $TC qdisc add dev $IF_LOCAL root handle 1: htb default 5
  $TC class add dev $IF_LOCAL parent 1: classid 1:1 htb rate $DOWN_MAX
ceil $DOWN_MAX prio 1
  $TC class add dev $IF_LOCAL parent 1: classid 1:5 htb rate $DOWN_MAX
ceil $DOWN_MAX prio 5
  $TC qdisc add dev $IF_LOCAL parent 1:5 handle 20: sfq perturb 10

  # sip (internet -> empresa)
  $IPTABLES -t mangle -A POSTROUTING -o $IF_LOCAL -d $IP_VOIP -j MARK
--set-mark $ID_VOIP
  $TC class add dev $IF_LOCAL parent 1:1 classid 1:$ID_VOIP htb rate
$BW_VOIP ceil $BW_VOIP prio 1
  $TC filter add dev $IF_LOCAL parent 1: protocol ip prio 1 handle
$ID_VOIP fw flowid 1:$ID_VOIP

  # upload
  $TC qdisc add dev $IF_INET root handle 1: htb default 5
  $TC class add dev $IF_INET parent 1: classid 1:1 htb rate $UP_MAX ceil
$UP_MAX prio 1
  $TC class add dev $IF_INET parent 1: classid 1:5 htb rate $UP_MAX ceil
$UP_MAX prio 5
  $TC qdisc add dev $IF_INET parent 1:5 handle 20: sfq perturb 10

  # sip (empresa -> internet)
  $IPTABLES -t mangle -A PREROUTING -i $IF_LOCAL -s $IP_VOIP -j MARK
--set-mark $ID_VOIP
  $TC class add dev $IF_INET parent 1:1 classid 1:$ID_VOIP htb rate
$BW_VOIP ceil $BW_VOIP prio 1
  $TC filter add dev $IF_INET parent 1: protocol ip prio 1 handle
$ID_VOIP fw flowid 1:$ID_VOIP
}

stop_tc() {
  $TC qdisc del dev $IF_INET root
  $TC qdisc del dev $IF_LOCAL root
  $IPTABLES -t mangle -D PREROUTING -i $IF_LOCAL -s $IP_VOIP -j MARK
--set-mark $ID_VOIP
  $IPTABLES -t mangle -D POSTROUTING -o $IF_LOCAL -d $IP_VOIP -j MARK
--set-mark $ID_VOIP
  #$IPTABLES -t mangle -F
}

status_tc () {
  $TC qdisc show
}

case "$1" in
  start)
     echo -n "Iniciando controle de banda para voip ..."
     start_tc
     echo " OK"
     ;;
  stop)
     echo -n "Desligando controle de banda para voip ..."
     stop_tc
     echo " OK"
     ;;
  restart)
     echo -n "Desligando controle de banda para voip ..."
     stop_tc
     echo -n "Iniciando controle de banda para voip ..."
     start_tc
     echo " OK"
     ;;
   status)
     echo "Exibindo regras TC..."
     status_tc
     ;;
  *)
     echo "Usage: $0 {start|stop|restart}"
     exit 1
esac 

========== FIM CBVOIP ==========

Abs



-------- Mensagem original --------
De: Thiago Bruni Tawil <stomaz.fei em gmail.com>
Responder a: asteriskbrasil em listas.asteriskbrasil.org
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] QoS
Data: Thu, 4 Nov 2010 11:50:55 -0200

cara!! valeu!! era isso mesmo que eu estava lendo pra tentar fazer, acho
que estou começcando a entender agora...

Tenho que ir pra faculdade agora, assim que voltar eu te envio como
estou fazendo, estou tendo o seguinte erro ao rodar meu script:

Illegal "match"

alguma regra minha do filtro deve estar errada..

eis aqui meu script:


tc qdisc del root dev eth0
tc qdisc add dev eth0 root handle 1:0 htb

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 50Mbit
tc class add dev eth0 parent 1:0 classid 1:2 htb rate 5Kbit

tc qdisc add dev eth0 parent 1:1 handle 10:0 pfifo
tc qdisc add dev eth0 parent 1:2 handle 20:0 pfifo

tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip
protocol 0x11 flowid 1:1

tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip
protocol 0x06 0xff flowid 1:2


Valeu!! abraços!!
Em 4 de novembro de 2010 11:07, Ãtalo Rossi <italorossib em gmail.com>
escreveu:

        Thiago,
        
        Você precisará trabalhar com a qdisc prio. Quando associada a um
        device, automaticamente são criadas 3 tipos de filas: 1:1, 1:2,
        1:3, maior prioridade para a menor. 
        
        Depois disso classifique seu tráfego de acordo com suas
        necessidades usando o tc filter ou marcando os pacotes e jogando
        para o flow específico.
        
        Lembrando que essa abordagem é para o seu up.
        
        Leia este material, tem tudo que você precisa.
        
        http://www.opalsoft.net/qos/DS-23.htm
        
        
        
        Em 4 de novembro de 2010 09:03, Thiago Bruni Tawil
        <stomaz.fei em gmail.com> escreveu:
        
                
                Oi gente!!
                Eu preciso setar prioridades de banda.
                Estou usando o CBQ.
                Alguém tem experiência com ele? ou então com o TC?
                Preciso de uma força.. valeu!!
                Abraços..
                
                
                
                _______________________________________________
                KHOMP: qualidade em placas de E1, GSM, FXS e FXO para
                Asterisk.
                - Hardware com alta disponibilidade de recursos e
                qualidade KHOMP
                - Suporte técnico local qualificado e gratuito
                Conheça a linha completa de produtos KHOMP em
                www.khomp.com.br
                _______________________________________________
                Temos tudo para seu projeto VoIP com Asterisk!
                Descontos especiais para assinantes da
                AsteriskBrasil.org.
                Registre-se e receba um cupom exclusivo de desconto!
                Acesse agora www.voipmania.com.br
                ______________________________________________
                Lista de discussões AsteriskBrasil.org
                AsteriskBrasil em listas.asteriskbrasil.org
                http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
                ______________________________________________
                Para remover seu email desta lista, basta enviar um
                email em branco para
                asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
        
        
        
        
        -- 
        Ãtalo Rossi
        LPIC1, dCAP
        http://italo.digi.com.br/blog
        
        _______________________________________________
        KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
        - Hardware com alta disponibilidade de recursos e qualidade
        KHOMP
        - Suporte técnico local qualificado e gratuito
        Conheça a linha completa de produtos KHOMP em www.khomp.com.br
        _______________________________________________
        Temos tudo para seu projeto VoIP com Asterisk!
        Descontos especiais para assinantes da AsteriskBrasil.org.
        Registre-se e receba um cupom exclusivo de desconto!
        Acesse agora www.voipmania.com.br
        ______________________________________________
        Lista de discussões AsteriskBrasil.org
        AsteriskBrasil em listas.asteriskbrasil.org
        http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
        ______________________________________________
        Para remover seu email desta lista, basta enviar um email em
        branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org


_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. 
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito 
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20101104/c61d7dd9/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil