1 / 18

Exercício QoS Linux

Exercício QoS Linux. Edgard Jamhour. Cenário. Uma empresa tem um SLA com o provedor, definindo um link com 500 Kbps garantindo, com rajadas eventuais de 1000 Kbps. provedor. empresa. ipB. B. rede 1. rede 2. G3. ipG2i. ipG1i. G1. G2. C. ipA. A. ipG1e. ipC. ipG2e. 500 Kbps

cairo-hicks
Download Presentation

Exercício QoS Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ExercícioQoS Linux Edgard Jamhour

  2. Cenário • Uma empresa tem um SLA com o provedor, definindo um link com 500 Kbps garantindo, com rajadas eventuais de 1000 Kbps. provedor empresa ipB B rede 1 rede 2 G3 ipG2i ipG1i G1 G2 C ipA A ipG1e ipC ipG2e 500 Kbps 1000 Kbps

  3. Configuração do Cenário EMPRESA (eth2) LINK (eth3) PROVEDOR (eth0) ipG1i ipG1e ipG2e ipG2i A B G1 G2 C ipA ipB ipB Provedor: Rede: 20.0.0.0/8 ipG2i: 20.10.$EQ.1/24 ipC: 20.10.$EQ.2/24 Empresa: rede: 192.168.$EQ.0/24 ipA: 192.168.$EQ.2/24 ipB: 192.168.$EQ.3/24 ipG1i: 192.168.$EQ.1/24 Link ipG2e: 10.0.$EQ.1/30 ipG2i: 10.0.$EQ.2/30

  4. Configuracao de Rede (COMANDOS) #!/bin/bash -x echo “Entre com o número da equipe“ read Equipe #VARIAVEIS ifE=eth2 ifL=eth3 ifP=eth0 #EMPRESA RE=192.168.$Equipe.0/24 ipA=192.168.$Equipe.2/24 ipB=192.168.$Equipe.3/24 ipG1i=192.168.$Equipe.1 #LINK ipG1e=10.0.$Equipe.1 ipG2e=10.0.$Equipe.2 #PROVEDOR ipG2i=20.33.$Equipe.1 ipC=20.33.$Equipe.2/8 if [ $# -eq 0 ]; then echo "Digite a opcao apos o script" echo "1=A, 2=B, 3=G1, 4=G2, 5=C" exit fi >> chmod +x confrede.sh >> confrede.sh 1

  5. Configuracao de Rede (COMANDOS) if [ $1 -eq 1 ]; then echo "Configurando o host A" ifconfig $ifE $ipA route add default gw $ipG1i elif [ $1 -eq 2 ]; then echo "Configurando o host B" ifconfig $ifE $ipB route add default gw $ipG1i elif [ $1 -eq 3 ]; then echo "Configurando G1" ifconfig $ifE $ipG1i/24 ifconfig $ifL $ipG1e/30 route add default gw $ipG2e sysctl -w net.ipv4.ip_forward=1 elif [ $1 -eq 4 ]; then echo "Configurando G2" ifconfig $ifE $ipG2e/30 ifconfig $ifP $ipG2i/8 route add default gw 20.0.0.1 route add -net $RE gw $ipG1e sysctl -w net.ipv4.ip_forward=1 elif [ $1 -eq 5 ]; then echo "Configurando C" ifconfig $ifP $ipC route add -net $RE gw $ipG2i else echo "Opcao Invalida" fi

  6. PARTE 1 • 1) Crie o cenário de rede conforme indicado • 2) Verifique se existe conectividade entre os hosts A e C • 3) Verifique se existe conectividade entre os hosts B e C

  7. Regras para o Provedor • O provedor irá aplicar as regras de policiamento para o tráfego recebido ou destinado a empresa, de modo a garantir que o tráfego não será excedido. DESCARTAR capacidade do link Classe PRIO 2 Marcar AF12 (D)/AF 22(U) 1000 kbps Classe PRIO 1 Marcar AF11(D)/AF21 (U) 500 kbs 0 kbs policiamento policiamento tráfego de UPLOAD tráfego de DOWLOAD G2 $ifL $ifP

  8. Regras para DownLoad • Token Bucket 1: • taxa média até 500Kbps = 62.5Kbytes/s • Balde de 62.5Kbytes (suporta uma rajada de 1Mbps por um 1s) • Token Bucket 2: • Taxa média de 500Kbps a 1000Kbps Transmite como AF12 Transmite como AF11 rate 500 kbps rate 500 kbps X drop balde 1 (62,5kbytes) balde 2 (62,5kbytes) tráfego download tráfego excedente

  9. Regras para UpLoad • Token Bucket 1: • taxa média até 500Kbps = 62.5Kbytes/s • balde: 62.5Kbytes (suporta uma rajada de 1Mbps por um 1s) • Token Bucket 2: • Taxa média de 500Kbps a 1000Kbps Transmite como AF22 Transmite como AF21 rate 500 kbps rate 500 kbps X drop balde 1 (62,5kbytes) balde 2 (62,5kbytes) tráfego upload tráfego excedente

  10. Script para o Provedor (Download) #!/bin/bash -x echo "Entre com o Numero da Equipe" read Equipe #VARIAVEIS ifE=eth2 ifL=eth3 ifP=eth0 #EMPRESA RE=192.168.$Equipe.0/24 ipA=192.168.$Equipe.2 ipB=192.168.$Equipe.3 #Limpa a configuração anterior tc qdisc del root dev $ifL

  11. Script para o Provedor (Download) #cria as classes 1:1, 1:2, 1:3 e 1:4 tc qdisc add dev $ifL root handle 1:0 dsmark indices 4 # confira a classe 1:1 para marcar AF11 tc class change dev $ifL classid 1:1 dsmark mask 0x0 value 0x28 # confira a classe 1:1 para marcar AF12 tc class change dev $ifL classid 1:2 dsmark mask 0x0 value 0x30 # cria os filtros com policiamento tc filter add dev $ifL parent 1:0 protocol ip prio 1 u32 \ match ip dst $RE \ police rate 500kbit burst 62.5k continue flowid 1:1 tc filter add dev $ifL parent 1:0 protocol ip prio 2 u32 \ match ip dst $RE \ police rate 500kbit burst 62.5k drop flowid 1:2

  12. PARTE 2 • 1) Crie um script para fazer o controle de upload, fazendo as marcações AF21 e AF22 • 2) Configure os scripts de donwload e upload no roteador G2 • 3) Efetue um download de A para C, e verifique o efeito da marcação dos pacotes com o TCP dump ( A captura dos pacotes precisa se iniciada antes do download) • tcpdump –i $ifL –vv > provdown.txt • tcpdump –i $ifP –vv > provup.txt • 4) Verifique as estatísticas geradas pelo roteador ( As estatísicas devem ser tomadas após o término do download) • tc –s show filters dev $ifL > sprovup.txt • tc –s show filters dev $ifP > sprovdown.txt • 4) Entregar todos os arquivos txt gerados no passo 3 e 4 (entrega por equipe)

  13. Regras para a Empresa • A empresa deseja controlar o aproveitamento do seu link, criando uma árvore HTB com as seguintes características. LINK 1000 Kbps class 1:1 class 1:11 class 1:12 class 1:13 UDP 100 Kbps 400 Kbps Default 100 Kbps 400 Kbps TCP 300 Kbps 1000 Kbps class 1:111 class 1:112 192.168.E.2 200 Kbps 800 Kbps 192.168.E.3 100 Kbps 200 Kbps

  14. Exemplo de Script para a Empresa (UpLoad) #!/bin/bash -x echo "Entre com o Numero da Equipe" read Equipe #VARIAVEIS ifE=eth2 ifL=eth3 ifP=eth0 #EMPRESA RE=192.168.$Equipe.0/24 ipA=192.168.$Equipe.2/24 ipB=192.168.$Equipe.3/24 ipG1i=192.168.$Equipe.1 # 0 - Limpa a configuracao anterior tc qdisc del root dev $ifL

  15. Exemplo de Script para a Empresa (UpLoad) # 1 - Cria a qdisc principal tc qdisc add dev $ifL root handle 1:0 htb #2 - Crias as classes tc class add dev $ifL parent 1:0 classid 1:1 htb rate 1Mbit # classe para TCP tc class add dev $ifL parent 1:0 classid 1:11 htb rate 300kbit ceil 1000kbit tc class add dev $ifL parent 1:0 classid 1:111 htb rate 200kbit ceil 800kbit tc class add dev $ifL parent 1:0 classid 1:112 htb rate 100kbit ceil 200kbit # classe para UDP tc class add dev $ifL parent 1:0 classid 1:12 htb rate 100kbit ceil 400kbit # 3 - Cria as qdiscs para as classes filhas tc qdisc add dev $ifL parent 1:111 handle 2:0 pfifo limit 10 tc qdisc add dev $ifL parent 1:112 handle 3:0 pfifo limit 10 tc qdisc add dev $ifL parent 1:12 handle 4:0 pfifo limit 10 tc qdisc add dev $ifL parent 1:13 handle 5:0 pfifo limit 10

  16. Exemplo de Script para a Empresa (UpLoad) # 4 - Cria os filtros #filtro para TCP no computador A tc filter add dev $ifL parent 1:0 protocol ip prio 1 u32 \ match ip protocol 0x06 0xff \ match ip src $ipA \ flowid 1:111 #filtro para TCP no computador B tc filter add dev $ifL parent 1:0 protocol ip prio 1 u32 \ match ip protocol 0x06 0xff \ match ip src $ipB \ flowid 1:112 #filtro para UDP tc filter add dev $ifL parent 1:0 protocol ip prio 2 u32 \ match ip protocol 0x11 0xff \ flowid 1:12 #filtro para outros tipos de tráfego tc filter add dev $ifL parent 1:0 protocol ip prio 3 u32 \ match ip protocol 0x0 0x0 \ flowid 1:13

  17. PARTE 3 • 1) Crie um script para fazer o controle de download • 2) Configure os scripts no roteador da empresa (G1) • 3) Efetue um download de C para A e verifique as estatísticas geradas pelo roteador ( As estatísticas devem ser tomadas após o término do download) • tc –s show filters dev $ifL > sempup.txt • tc –s show filters dev $ifE > sempdown.txt • 4) Efetue um download de C para B e verifique as estatísticas geradas pelo roteador ( As estatísicas devem ser tomadas após o término do download) • tc –s show filters dev $ifL > sempup.txt • tc –s show filters dev $ifE > sempdown.txt • 4) Entregar todos os arquivos txt gerados nos passos 3 e 4 (entrega por equipe)

  18. Comandos adicionais • Reinicializar a configuração de rede service network restart • Apagar rotas acumuladas read rota route -n | grep $rota if [ $? eq 0 ]; then route del $rota fi

More Related