Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A alocação de largura de banda é uma técnica essencial para gerenciar e otimizar o uso da rede, especialmente em ambientes onde múltiplos serviços competem por recursos limitados. No ambiente Linux, uma das ferramentas mais poderosas para essa tarefa é o Traffic Control (tc), que faz parte do pacote iproute2. Este artigo técnico irá guiá-lo através do processo de alocação de largura de banda utilizando o tc.
O Traffic Control (tc) é uma ferramenta de linha de comando que permite configurar o controle de tráfego em interfaces de rede no Linux. Ele pode ser utilizado para definir políticas de enfileiramento, priorização e limitação de largura de banda.
Na maioria das distribuições Linux modernas, o Traffic Control já vem instalado como parte do pacote iproute2. No entanto, se você precisar instalá-lo manualmente, pode usar o gerenciador de pacotes da sua distribuição:
sudo apt-get install iproute2 # Para distribuições baseadas em Debian/Ubuntu
sudo yum install iproute # Para distribuições baseadas em RHEL/CentOS
Vamos supor que você deseja limitar a largura de banda de saída da interface eth0
para 1 Mbps. Aqui está como você pode fazer isso:
1. Adicionar uma fila de root:
sudo tc qdisc add dev eth0 root handle 1: htb default 30
2. Criar uma classe de root:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit
3. Adicionar uma classe para tráfego padrão:
sudo tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1mbit ceil 1mbit
4. Adicionar uma fila de enfileiramento:
sudo tc qdisc add dev eth0 parent 1:30 handle 30: sfq
Se você deseja limitar a largura de banda para um IP específico, digamos 192.168.1.100
, para 500 Kbps, você pode usar o filtro u32
:
1. Adicionar uma fila de root:
sudo tc qdisc add dev eth0 root handle 1: htb default 30
2. Criar uma classe de root:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit
3. Criar uma classe para o IP específico:
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 500kbit
4. Adicionar uma fila de enfileiramento:
sudo tc qdisc add dev eth0 parent 1:10 handle 10: sfq
5. Adicionar um filtro para o IP específico:
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:10
Para verificar a configuração atual do tc, você pode usar o seguinte comando:
sudo tc -s qdisc ls dev eth0
Este comando exibirá as estatísticas e a configuração atual das filas de enfileiramento na interface eth0
.
O Traffic Control (tc) é uma ferramenta poderosa e flexível para alocação de largura de banda no Linux. Com os exemplos fornecidos, você pode começar a configurar políticas de controle de tráfego para otimizar o uso da rede em seu ambiente.