Priorizando o tráfego no iptables!

Acrescentando flags de TOS (Type Of Service, Tipo de Serviço) em seu firewall, voltadas para priorizar o tráfego de informações mais importantes, é interessante como por exemplo para definir o tráfego http com prioridade alta para que os seus downloads de p2p, emails, e outros não atrapalhem sua navegação… ou para que streamings não atrasem… inclusive mensagens instantâneas com prioridade maior que os outros dados poderão se tornar “mais instantâneas”… 😎

Os valores de TOS podem ser: 

  • Minimize-Delay 16 (0x10) [Minimiza a Espera]
  • Maximize-Throughput 8 (0x08) [Maximiza a Velocidade de Fluxo]
  • Maximize-Reliability 4 (0x04) [Maximiza a Confiabilidade]
  • Minimize-Cost 2 (0x02) [Minimiza o Custo]
  • Normal-Service 0 (0x00) [Serviço Normal]

Funcionalmente são: Prioridade Alta, Prioridade Média-Alta, Prioridade Média, Prioridade Média-Baixa, Sem Prioridade.

Como exemplo, vamos ver uma regra para priorizar a saida de pacotes http pela interface eth1 com prioridade “Média” e ou “de Confiabilidade” (Maximize-Reliability):

iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 80 -j TOS --set-tos 4

Diferenciando então a qualidade do tratamento oferecido pelo iptables ao tráfego web em relação aos outros tipos de dados.

Observações:

  1. O tráfego normal (sem regras TOS) sempre segue sem prioridade (TOS: Normal-Service 0)
  2. É preciso ter os módulos de TOS compilados no kernel (ou como módulos), caso contrário o iptables retornará erros ao tentar utilizar a tabela mangle.

Escreva seu comentário: