Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Descubra como alocar largura de banda no Linux utilizando o Traffic Control (tc)

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.


Introdução ao Traffic Control (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.


Instalação do Traffic Control


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

Configuração Básica de Alocação de Largura de Banda


Exemplo 1: Limitar a Largura de Banda de uma Interface


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

Exemplo 2: Limitar a Largura de Banda para um IP Específico


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

Verificação e Monitoramento


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.


Conclusão


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.


To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.