[AsteriskBrasil] QoS

Rodrigo Vian listas em porttaltecnologia.com.br
Quinta Novembro 4 15:58:39 BRST 2010


Para os servidores atrás de NAT ou com link Dedicado.. utilizo apenas
regras iptables....


iptables -t mangle -A INPUT -p udp -m udp --dport 4569 -j DSCP
--set-dscp-class ef
iptables -t mangle -A INPUT -p udp -m udp --dport 5060 -j DSCP
--set-dscp-class cs3
iptables -t mangle -A INPUT -p udp -m udp --dport 10000:25000 -j DSCP
--set-dscp-class ef
iptables -t mangle -A OUTPUT -p udp -m udp --sport 4569 -j DSCP
--set-dscp-class ef
iptables -t mangle -A OUTPUT -p udp -m udp --sport 5060 -j DSCP
--set-dscp-class cs3
iptables -t mangle -A OUTPUT -p udp -m udp --sport 10000:25000 -j DSCP
--set-dscp-class ef

========= Codificação TOS e DSCP ==========
##TABELA TOS
#Minimize-Delay 16 (0x10)
#Maximize-Throughput 8 (0x08)
#Maximize-Reliability 4 (0x04)
#Minimize-Cost 2 (0x02)
#Normal-Service 0 (0x00)

##TABELA DSCP
#Audio  ef
#SIP    cs3

#Router(config)# class-map match-all VOIP
# 1751-uut1(config-cmap)# match ip dscp ?
#   <0-63>   Differentiated services codepoint value
#   af11     Match packets with AF11 dscp (001010)
#   af12     Match packets with AF12 dscp (001100)
#   af13     Match packets with AF13 dscp (001110)
#   af21     Match packets with AF21 dscp (010010)
#   af22     Match packets with AF22 dscp (010100)
#   af23     Match packets with AF23 dscp (010110)
#   af31     Match packets with AF31 dscp (011010)
#   af32     Match packets with AF32 dscp (011100)
#   af33     Match packets with AF33 dscp (011110)
#   af41     Match packets with AF41 dscp (100010)
#   af42     Match packets with AF42 dscp (100100)
#   af43     Match packets with AF43 dscp (100110)
#   cs1      Match packets with CS1(precedence 1) dscp (001000)
#   cs2      Match packets with CS2(precedence 2) dscp (010000)
#   cs3      Match packets with CS3(precedence 3) dscp (011000)
#   cs4      Match packets with CS4(precedence 4) dscp (100000)
#   cs5      Match packets with CS5(precedence 5) dscp (101000)
#   cs6      Match packets with CS6(precedence 6) dscp (110000)
#   cs7      Match packets with CS7(precedence 7) dscp (111000)
#   default  Match packets with default dscp (000000)
#   ef       Match packets with EF dscp (101110)
# Router1(config-cmap)# match ip dscp af31

#CLASSES DSCP
# 7 - Stays the same (link layer and routing protocol keep alive)
# 6 - Stays the same (used for IP routing protocols)
# 5 - Express Forwarding (EF)
# 4 - Class 4
# 3 - Class 3
# 2 - Class 2
# 1 - Class 1
# 0 - Best effort

========= Codificação TOS e DSCP ==========


É legal vc construir um script conforme suas necessidades... Posta ai os
resultados depois...

Boa sorte na prova rsrsrs

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 15:24:58 -0200

Cara!! Muito obrigado, mas acho que vou construír meu´próprio script,
uma vez que seu script é para controlar a internet da empresa, e o meu é
pra configurar o próprio servidor, só preciso colocar SIP e UDP com >
prioridade de banda...
Se você tiver um script assim... ahuahuah vlw kra!!
Agora vou ter prova na faculdade, voltando pra casa eu testo e posto
aqui!!!
Abraços!!


Em 4 de novembro de 2010 12:20, Rodrigo Vian
<listas em porttaltecnologia.com.br> escreveu:
        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
        
        
        _______________________________________________
        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/1b508ea5/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil