SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
Traffic Shapping – Dummynet
Autor: Vinícius Batista da Silva
Data: 13/11/2015
RESUMO
“Dummynet nada mais é do que uma regra
de Traffic Shapping que controla o
roteamento, canalizando as informações
que posteriormente irão trafegar por
endereços específicos de rede. A criação
desses túneis é feita com o comando
“pipe” do ipfw(8). O tráfego é
redirecionado à esses tuneis por meio do
comando “pipe <pipe #>” no ipfw(8). “
Tracanelli, Patrik.
Imagem 1: Diagrama Dummynet
Fonte: http://info.iet.unipi.it/~luigi/dummynet/
Este documento exemplifica a configuração necessária para
uma boa prática de utilização do traffic shapping com a ferramenta
Dummynet + IPFW. A grande vantagem da sua utilização é o controle da
utilização do nosso link de produção, o qual, hoje não temos um completo
controle de “gastos” deste recurso.
1 – INSTALAÇÃO E COMPILAÇÃO MÓDULO DUMMY
Para o funcionamento do controle de banda em nossa
infraestrutura, será necessário a utilização de pilha dupla em nosso
firewall (PF + IPFW). Esta configuração resume-se em utilizar a camada
do package filter (PF) como firewall principal e o IPFW como controle
de banda.
Para prover tal funcionamento, será necessário recompilar o kernel
do FreeBSD com suporte as seguintes opções:
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_NAT
options LIBALIAS
options DUMMYNET
Nota: Execute os passos padrões para uma nova compilação e
reinicie a máquina.
Para validar a instalação do novo módulo, execute o seguinte comando:
root@lab_gprs4:~ # ls /boot/kernel | grep -v kernel | grep dummy
Imagem 2: Listagem de módulos compilados via kernel
2 – CRIAÇÃO DE REGRAS IPFW E PIPES
Neste tópico serão abordadas as criações regras e pipes via
ipfw. Abaixo exemplo de regras e Queues:
2.1 – Enfileiramento de pipes (Pipe Queues):
Vamos assumir ideia onde cada estação deve ter uma banda de
100Kbit/s. Se nós simplesmente direcionarmos todo o tráfego para um
túnel (como modelado anteriormente), o valor do tráfego será a somatória
de todas as estações, podemos realizar uma representação matemática deste
exemplo:
{nM}/{dB} = cB
nM – Número de máquinas;
dB – Banda delimitada;
cB – Banda concorrente;
“Utilizar banda pré-definida para um
número definido de máquinas não é a
melhor saída, pois poderemos perder o
controle do fluxo, imagine que uma de
nossas aplicações publicadas receba
conexão de várias partes do mundo”
Balmant, Jeferson.
Para utilização de máscaras para as estações às quais o tráfego deverá
ser separado por filas específicas, será possível realizar esta após
criar o seguinte conjunto de regras:
Exemplo 1:
pipe 10 config mask src-ip 0x000000ff bw 100Kbit/s queue 10Kbytes
pipe 20 config mask dst-ip 0x000000ff bw 100Kbit/s queue 10Kbytes
add 1000 add pipe 10 all from 192.168.200.0/24 to any out via bce2
add 2000 add pipe 20 all from 192.168.200.0/24 to any in via bce2
0x000000ff -> representação em hexa para qualquer IP;
Bw -> Variável de configuração da banda;
Máscaras que podem ser utilizadas para orientação do fluxo de
dados:
"dst-ip" – máscara para IP de destino do pacote que está sendo enviado
pelo túnel;
"src-ip" – máscara da origem;
"dst-port" – máscara para porta de destino;
"src-port" – máscara para porta de origem;
"proto" – máscara do protocolo a ser utilizado;
"all" - máscara geral, que especifica todos os bits nos campos (dst-
ip, src-ip, etc) como importantes e válidos;
Cálculo de filas:
Número de Slots * MTU = Valor em Kbytes
10 * 1500 = 15000bytes (Cálculo de banda para fila)
1500/1024 = 14Kbyte/s (Transformação de unidade de medida)
Nota: No exemplo supracitado “Exemplo 1” é possível ajustar um valor pré-definido
para qualquer saída pela interface “bce2”. Este modo de configuração permite
mantermos um valor padrão de banda
3.0 - Remanejamento de Pacotes por Túneis (Packet Reinjection);
Em 99% dos casos, assim que um pacote é direcionado à um túnel
(pipe), é a configuração definida pro túnel que toma parte do pacote, e
nesse momento a busca nas regras termina, como de costume no
ipfirewall(4). Contudo você pode forçar que o pacote seja reinjetado (ou
remanejado) no firewall, a partir da regra seguinte, mesmo depois de ter
sido direcionado para o túnel. Para fazer isso basta desativar a seguinte
opção no sysctl (8):
Sysctl –a net.inet.ip.fw.one_pass=1
Nota: Para persistir a configuração basta criar a seguinte
entrada no arquivo de configuração:
echo “net.inet.ip.fw.one_pass=1” >> /etc/sysctl.conf
4.0 – Referências
[1] - http://info.iet.unipi.it/~luigi/ip_dummynet/original.html
[2] - http://www.joemiller.me/2010/08/31/simulate-network-latency-
packet-loss-and-bandwidth-on-mac-osx/
[3] - http://www.gta.ufrj.br/grad/13_1/firewall/classificacao.html
[4] - https://www.freebsd.org/cgi/man.cgi?ipfw
[5] - http://www.free.bsd.com.br/~eksffa/freebsd/ipfw.txt

Mais conteúdo relacionado

Mais procurados

Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoRonildo Oliveira
 
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...Felipe Alex
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumWellington Oliveira
 
Redes ppgcc-2006-4 3
Redes ppgcc-2006-4 3Redes ppgcc-2006-4 3
Redes ppgcc-2006-4 3guestb0b74ed
 
Redes I - 4. Camada de Enlace de Dados MAC
Redes I - 4. Camada de Enlace de Dados MACRedes I - 4. Camada de Enlace de Dados MAC
Redes I - 4. Camada de Enlace de Dados MACMauro Tapajós
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSMauro Tapajós
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteWellington Oliveira
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFrederico Madeira
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Unidade 2.2 Equipamentos De Redes
Unidade 2.2   Equipamentos De RedesUnidade 2.2   Equipamentos De Redes
Unidade 2.2 Equipamentos De Redesguest18dcd9
 

Mais procurados (20)

Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Airmax
AirmaxAirmax
Airmax
 
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...
Análise de Desempenho de Algoritmos de Controle de Congestionamento TCP utili...
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
 
Redes ppgcc-2006-4 3
Redes ppgcc-2006-4 3Redes ppgcc-2006-4 3
Redes ppgcc-2006-4 3
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Redes I - 4. Camada de Enlace de Dados MAC
Redes I - 4. Camada de Enlace de Dados MACRedes I - 4. Camada de Enlace de Dados MAC
Redes I - 4. Camada de Enlace de Dados MAC
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Pvm
PvmPvm
Pvm
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
O protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonávelO protocolo SCTP para o transporte de vídeo codificado escalonável
O protocolo SCTP para o transporte de vídeo codificado escalonável
 
Camada de enlace de dados
Camada de enlace de dadosCamada de enlace de dados
Camada de enlace de dados
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Camada de Rede
Camada de RedeCamada de Rede
Camada de Rede
 
DHCP Failover
DHCP FailoverDHCP Failover
DHCP Failover
 
Unidade 2.2 Equipamentos De Redes
Unidade 2.2   Equipamentos De RedesUnidade 2.2   Equipamentos De Redes
Unidade 2.2 Equipamentos De Redes
 
O gerenciamento de fila com RabbitMQ
O gerenciamento de fila com RabbitMQO gerenciamento de fila com RabbitMQ
O gerenciamento de fila com RabbitMQ
 

Destaque

Artmolds journal magazine
Artmolds journal magazineArtmolds journal magazine
Artmolds journal magazineArtmoldsJournal
 
The wrong way to keep customers satisfied
The wrong way to keep customers satisfiedThe wrong way to keep customers satisfied
The wrong way to keep customers satisfiedVanosmael Kris
 
Get more leads: How diversifying ad spend is better for business
Get more leads: How diversifying ad spend is better for businessGet more leads: How diversifying ad spend is better for business
Get more leads: How diversifying ad spend is better for businessAcquisio
 
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...CSSaunders
 
Yduoctphcm tuyen tccn2013
Yduoctphcm tuyen tccn2013Yduoctphcm tuyen tccn2013
Yduoctphcm tuyen tccn2013Đẩu Trần
 
Брифование и проектирование. Важность предварительных этапов
Брифование и проектирование. Важность предварительных этаповБрифование и проектирование. Важность предварительных этапов
Брифование и проектирование. Важность предварительных этаповDEFA
 
102947683 ntc-529
102947683 ntc-529102947683 ntc-529
102947683 ntc-529Fredy Melo
 
FAC C Level 2 Courses
FAC C Level 2 CoursesFAC C Level 2 Courses
FAC C Level 2 CoursesEmily Busch
 
Maquines termiques
Maquines termiquesMaquines termiques
Maquines termiquesOscar Oliver
 
Baratoeldvd@Gmail.com
Baratoeldvd@Gmail.comBaratoeldvd@Gmail.com
Baratoeldvd@Gmail.combarato el dvd
 
Habilidades del lenguaje
Habilidades del lenguajeHabilidades del lenguaje
Habilidades del lenguajeHector Salinas
 
Satisfacció od 01.12.11
Satisfacció od 01.12.11Satisfacció od 01.12.11
Satisfacció od 01.12.11jescarra
 
Paz de espírito
Paz de espíritoPaz de espírito
Paz de espíritosiaromjo
 

Destaque (20)

โยทะกา
โยทะกาโยทะกา
โยทะกา
 
Alimentación
AlimentaciónAlimentación
Alimentación
 
Artmolds journal magazine
Artmolds journal magazineArtmolds journal magazine
Artmolds journal magazine
 
The wrong way to keep customers satisfied
The wrong way to keep customers satisfiedThe wrong way to keep customers satisfied
The wrong way to keep customers satisfied
 
Resume-Anil
Resume-AnilResume-Anil
Resume-Anil
 
6009
60096009
6009
 
Get more leads: How diversifying ad spend is better for business
Get more leads: How diversifying ad spend is better for businessGet more leads: How diversifying ad spend is better for business
Get more leads: How diversifying ad spend is better for business
 
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...
Professor Nick Fyfe: 'To the end of the world': the processes and challenges ...
 
Yduoctphcm tuyen tccn2013
Yduoctphcm tuyen tccn2013Yduoctphcm tuyen tccn2013
Yduoctphcm tuyen tccn2013
 
Sistemas controlados por el mercado
Sistemas controlados por el mercadoSistemas controlados por el mercado
Sistemas controlados por el mercado
 
Брифование и проектирование. Важность предварительных этапов
Брифование и проектирование. Важность предварительных этаповБрифование и проектирование. Важность предварительных этапов
Брифование и проектирование. Важность предварительных этапов
 
102947683 ntc-529
102947683 ntc-529102947683 ntc-529
102947683 ntc-529
 
FAC C Level 2 Courses
FAC C Level 2 CoursesFAC C Level 2 Courses
FAC C Level 2 Courses
 
Maquines termiques
Maquines termiquesMaquines termiques
Maquines termiques
 
Baratoeldvd@Gmail.com
Baratoeldvd@Gmail.comBaratoeldvd@Gmail.com
Baratoeldvd@Gmail.com
 
Habilidades del lenguaje
Habilidades del lenguajeHabilidades del lenguaje
Habilidades del lenguaje
 
Lli
LliLli
Lli
 
Satisfacció od 01.12.11
Satisfacció od 01.12.11Satisfacció od 01.12.11
Satisfacció od 01.12.11
 
Paz de espírito
Paz de espíritoPaz de espírito
Paz de espírito
 
Edu365 i Educàlia
Edu365 i EducàliaEdu365 i Educàlia
Edu365 i Educàlia
 

Semelhante a 3 - TRAFFIC SHAPPING-DUMMYNET

Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPMauro Tapajós
 
Ferramentas hack wifi aircrack
Ferramentas hack wifi aircrackFerramentas hack wifi aircrack
Ferramentas hack wifi aircrackPedro Verissimo
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAndrei Carniel
 
Conceitos e configurações do ether channel
Conceitos e configurações do ether channelConceitos e configurações do ether channel
Conceitos e configurações do ether channelVitor Albuquerque
 
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paper
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paperAntonio marquesd matos(nossacaixa)_implementação de redes appn_paper
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paperJoao Galdino Mello de Souza
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoMauro Tapajós
 
Manual solucoes-redes-tanenbaum
Manual solucoes-redes-tanenbaumManual solucoes-redes-tanenbaum
Manual solucoes-redes-tanenbaumJoao Sousa
 
Apresentacao tcc heitor_final
Apresentacao tcc heitor_finalApresentacao tcc heitor_final
Apresentacao tcc heitor_finalHeitor Galvão
 
Glossario ethernet baumier v1
Glossario ethernet baumier   v1Glossario ethernet baumier   v1
Glossario ethernet baumier v1Mersao52
 

Semelhante a 3 - TRAFFIC SHAPPING-DUMMYNET (20)

Protocolos
ProtocolosProtocolos
Protocolos
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
 
Ferramentas hack wifi aircrack
Ferramentas hack wifi aircrackFerramentas hack wifi aircrack
Ferramentas hack wifi aircrack
 
Arquitetura tcp ip - 1
Arquitetura tcp ip - 1Arquitetura tcp ip - 1
Arquitetura tcp ip - 1
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NAT
 
Conceitos e configurações do ether channel
Conceitos e configurações do ether channelConceitos e configurações do ether channel
Conceitos e configurações do ether channel
 
1108
11081108
1108
 
Redes - Camada de Enlace de Dados
Redes - Camada de Enlace de DadosRedes - Camada de Enlace de Dados
Redes - Camada de Enlace de Dados
 
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paper
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paperAntonio marquesd matos(nossacaixa)_implementação de redes appn_paper
Antonio marquesd matos(nossacaixa)_implementação de redes appn_paper
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Redes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de InterconexãoRedes Avançadas - 1.Aspectos de Interconexão
Redes Avançadas - 1.Aspectos de Interconexão
 
Rct 16 - camada de rede
Rct   16 - camada de redeRct   16 - camada de rede
Rct 16 - camada de rede
 
Manual solucoes-redes-tanenbaum
Manual solucoes-redes-tanenbaumManual solucoes-redes-tanenbaum
Manual solucoes-redes-tanenbaum
 
Apresentacao tcc heitor_final
Apresentacao tcc heitor_finalApresentacao tcc heitor_final
Apresentacao tcc heitor_final
 
Ko 7 kdp-02
Ko 7 kdp-02Ko 7 kdp-02
Ko 7 kdp-02
 
Glossario ethernet baumier v1
Glossario ethernet baumier   v1Glossario ethernet baumier   v1
Glossario ethernet baumier v1
 
QoS Totolink
QoS TotolinkQoS Totolink
QoS Totolink
 
Intro_redes.pdf
Intro_redes.pdfIntro_redes.pdf
Intro_redes.pdf
 

3 - TRAFFIC SHAPPING-DUMMYNET

  • 1. Traffic Shapping – Dummynet Autor: Vinícius Batista da Silva Data: 13/11/2015 RESUMO “Dummynet nada mais é do que uma regra de Traffic Shapping que controla o roteamento, canalizando as informações que posteriormente irão trafegar por endereços específicos de rede. A criação desses túneis é feita com o comando “pipe” do ipfw(8). O tráfego é redirecionado à esses tuneis por meio do comando “pipe <pipe #>” no ipfw(8). “ Tracanelli, Patrik. Imagem 1: Diagrama Dummynet Fonte: http://info.iet.unipi.it/~luigi/dummynet/ Este documento exemplifica a configuração necessária para uma boa prática de utilização do traffic shapping com a ferramenta Dummynet + IPFW. A grande vantagem da sua utilização é o controle da utilização do nosso link de produção, o qual, hoje não temos um completo controle de “gastos” deste recurso. 1 – INSTALAÇÃO E COMPILAÇÃO MÓDULO DUMMY Para o funcionamento do controle de banda em nossa infraestrutura, será necessário a utilização de pilha dupla em nosso firewall (PF + IPFW). Esta configuração resume-se em utilizar a camada do package filter (PF) como firewall principal e o IPFW como controle de banda. Para prover tal funcionamento, será necessário recompilar o kernel do FreeBSD com suporte as seguintes opções: options IPFIREWALL options IPDIVERT options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=10
  • 2. options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_NAT options LIBALIAS options DUMMYNET Nota: Execute os passos padrões para uma nova compilação e reinicie a máquina. Para validar a instalação do novo módulo, execute o seguinte comando: root@lab_gprs4:~ # ls /boot/kernel | grep -v kernel | grep dummy Imagem 2: Listagem de módulos compilados via kernel 2 – CRIAÇÃO DE REGRAS IPFW E PIPES Neste tópico serão abordadas as criações regras e pipes via ipfw. Abaixo exemplo de regras e Queues: 2.1 – Enfileiramento de pipes (Pipe Queues): Vamos assumir ideia onde cada estação deve ter uma banda de 100Kbit/s. Se nós simplesmente direcionarmos todo o tráfego para um túnel (como modelado anteriormente), o valor do tráfego será a somatória de todas as estações, podemos realizar uma representação matemática deste exemplo: {nM}/{dB} = cB nM – Número de máquinas; dB – Banda delimitada; cB – Banda concorrente; “Utilizar banda pré-definida para um número definido de máquinas não é a melhor saída, pois poderemos perder o controle do fluxo, imagine que uma de nossas aplicações publicadas receba conexão de várias partes do mundo” Balmant, Jeferson. Para utilização de máscaras para as estações às quais o tráfego deverá ser separado por filas específicas, será possível realizar esta após criar o seguinte conjunto de regras: Exemplo 1: pipe 10 config mask src-ip 0x000000ff bw 100Kbit/s queue 10Kbytes pipe 20 config mask dst-ip 0x000000ff bw 100Kbit/s queue 10Kbytes add 1000 add pipe 10 all from 192.168.200.0/24 to any out via bce2 add 2000 add pipe 20 all from 192.168.200.0/24 to any in via bce2 0x000000ff -> representação em hexa para qualquer IP; Bw -> Variável de configuração da banda;
  • 3. Máscaras que podem ser utilizadas para orientação do fluxo de dados: "dst-ip" – máscara para IP de destino do pacote que está sendo enviado pelo túnel; "src-ip" – máscara da origem; "dst-port" – máscara para porta de destino; "src-port" – máscara para porta de origem; "proto" – máscara do protocolo a ser utilizado; "all" - máscara geral, que especifica todos os bits nos campos (dst- ip, src-ip, etc) como importantes e válidos; Cálculo de filas: Número de Slots * MTU = Valor em Kbytes 10 * 1500 = 15000bytes (Cálculo de banda para fila) 1500/1024 = 14Kbyte/s (Transformação de unidade de medida) Nota: No exemplo supracitado “Exemplo 1” é possível ajustar um valor pré-definido para qualquer saída pela interface “bce2”. Este modo de configuração permite mantermos um valor padrão de banda 3.0 - Remanejamento de Pacotes por Túneis (Packet Reinjection); Em 99% dos casos, assim que um pacote é direcionado à um túnel (pipe), é a configuração definida pro túnel que toma parte do pacote, e nesse momento a busca nas regras termina, como de costume no ipfirewall(4). Contudo você pode forçar que o pacote seja reinjetado (ou remanejado) no firewall, a partir da regra seguinte, mesmo depois de ter sido direcionado para o túnel. Para fazer isso basta desativar a seguinte opção no sysctl (8): Sysctl –a net.inet.ip.fw.one_pass=1 Nota: Para persistir a configuração basta criar a seguinte entrada no arquivo de configuração: echo “net.inet.ip.fw.one_pass=1” >> /etc/sysctl.conf 4.0 – Referências [1] - http://info.iet.unipi.it/~luigi/ip_dummynet/original.html [2] - http://www.joemiller.me/2010/08/31/simulate-network-latency- packet-loss-and-bandwidth-on-mac-osx/ [3] - http://www.gta.ufrj.br/grad/13_1/firewall/classificacao.html [4] - https://www.freebsd.org/cgi/man.cgi?ipfw [5] - http://www.free.bsd.com.br/~eksffa/freebsd/ipfw.txt