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:
-
O tráfego normal (sem regras TOS) sempre segue sem prioridade (TOS: Normal-Service 0)
-
É 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.