Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A priorização de tráfego de rede é uma técnica crucial para garantir que aplicações críticas recebam a largura de banda necessária, especialmente em ambientes onde a rede pode estar congestionada. No contexto de sistemas Linux, essa prática é frequentemente implementada utilizando ferramentas de controle de tráfego como tc
(Traffic Control), que faz parte do pacote iproute2
.
A importância da priorização de tráfego no Linux reside na capacidade de melhorar o desempenho de aplicações sensíveis à latência, como VoIP e streaming de vídeo, ao mesmo tempo em que se assegura que outras aplicações não essenciais não monopolizem a banda disponível. Este artigo abordará como configurar a priorização de tráfego no Linux usando tc
e iptables
.
Exemplos:
Instalação do iproute2
:
sudo apt-get update
sudo apt-get install iproute2
Criação de uma Classe de Controle de Tráfego:
Primeiro, identificamos a interface de rede (por exemplo, eth0
):
ip link show
Em seguida, criamos uma classe raiz para a interface:
sudo tc qdisc add dev eth0 root handle 1: htb default 12
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbit
Definição de Prioridades: Criação de classes de tráfego com diferentes prioridades:
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500mbit ceil 1gbit
sudo tc class add dev eth0 parent 1:1 classid 1:20 htb rate 300mbit ceil 1gbit
sudo tc class add dev eth0 parent 1:1 classid 1:30 htb rate 200mbit ceil 1gbit
Filtragem de Tráfego:
Utilizando iptables
para marcar pacotes:
sudo iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 10
sudo iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 20
sudo iptables -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 30
Associando os pacotes marcados às classes de tráfego:
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 10 fw classid 1:10
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 20 fw classid 1:20
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 30 fw classid 1:30