O William da Rocha escreve: "Ola pessoal depois de muito tempo estou aqui de volta com uma dica, que possa ser valida para voce que curte usar iptables e caso tenha um firewall, e naqueles caso que deseja priorizar um serviço tendo um aumento de desempenho em torno de 300%."
Especificando os tipos de serviços com IPTABLES
Por William da Rocha (wrocha@acbr.com.br)
Fonte: Guia Foca / William - wrocha
Ola pessoal depois de muito tempo estou aqui de volta com uma dica, que possa ser valida para voce que curte usar iptables e caso tenha um firewall, e naqueles caso que deseja priorizar um serviço tendo um aumento de desempenho em torno de 300%.
Usamos o alvo TOS (-j TOS) para modificar o tipo de serviços nos pacotes que passam pelas regras do firewall, usando o argumento set-tos TOS que define a prioridade dos pacotes. Os valores aceitos sao os seguintes:
- Espera Mínima - É especificado através de Minimize-Delay, 16 ou 0x10
- Máximo Processamento - É especificado através de Maximize-Throughput, 8, ou 0x08.
- Máxima Confiança - É especificado através de Maximize-Reliability, 4 ou 0x04.
- Custo mínimo - Especificado através de Minimize-Cost, 2 ou 0x02.
- Prioridade Normal - Especificado através de Normal-Service, 0 ou 0x00.
Obs.: Por padrao os pacotes TOS trabalham ajustado como prioridade normal (bits tos ajustados para 0x00). O tipo Mínima Espera é o mais usado, pois prioriza o tráfego em serviços interativos.
Especificando o TOS para trafego de saida
Este e o mais usado, o mesmo prioriza o trafego que sai maquina (Destino a Internet, Por exemplo). Usando a chain OUTPUT.
Para priorizar todo o tráfego de IRC de nossa rede interna indo para a interface ppp0:
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 6666-6668 -j TOS --set-tos 16
O bit TOS é ajustado para Espera mínima e será enviado antes dos pacotes com prioridade normal para fora. Para priorizar a transmissão de dados ftp saindo da rede:
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 20 -j TOS --set-tos 8
Para priorizar o tráfego de ICQ da rede:
iptables -t mangle -A OUTPUT -o ppp0 -p udp --dport 4000 -j TOS --set-tos 16
Para priorizar o tráfego de SMTP da rede:
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 25 -j TOS --set-tos 16
Para priorizar o tráfego de http/https da rede:
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 80 -j TOS --set-tos 16
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 443 -j TOS --set-tos 16
Existem muitas outras otimizações que podem ser feitas, só depende dos requerimentos e análise de cada serviço da rede pelo administrador.
OBS: - Os pacotes que atravessam o alvo TOS somente tem os bits tipo do serviço modificados, eles não serão de qualquer forma rejeitados.
Especificando o TOS para o tráfego de entrada
Este prioriza o tráfego que entra da máquina. Sua operação é realizada no chain PREROUTING. Não faz muito sentido o uso deste chain dentro de uma rede pequena/média, pois o tráfego que recebermos será priorizado pelo saída de outras máquinas da internet/outras redes antes de chegar a nossa.
Para priorizar o processamento do tráfego interativo vindo de servidores IRC para nossa rede:
iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 6666-6668 -j TOS --set-tos 0x10
Modifica o tipo de serviço para mínima espera de todo o tráfego enviado por servidores de IRC vindo da interface eth0.
OBS: - Os pacotes que atravessam o alvo TOS somente tem os bits tipo do serviço modificados, eles não serão de qualquer forma rejeitados.
Fonte: Guia Foca / William - wrocha
Postado por brain em novembro 6, 2003 11:44 AM
» Postado por: Silvio Fonseca em novembro 6, 2003 12:21 PM, 200.162.204:
Me comentaram um vez que existem roteadores que dão 'drop' ou colocam em um queue mais lento os pacotes com TOS setado. O TOS foi uma tentativa interessante mas não pegou, de qualquer forma o tutorial é muito bom sobre o assunto...
Só um adendo, regras básicas do TOS:
Use Minimize-Delay em serviços interativos (SSH, Terminal Service, etc)
Use Maximize-Throughput em serviços de grande transmissão (HTTP, FTP, SMTP, etc)
Pra quem gosta do assunto, tem um capítulo sobre ele no Linux Advanced Routing and Traffic Control (www.lartc.org)
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.