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
  1. Criar uma classe de root:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit
  1. 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
  1. 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
  1. Criar uma classe de root:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit
  1. 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
  1. Adicionar uma fila de enfileiramento:
sudo tc qdisc add dev eth0 parent 1:10 handle 10: sfq
  1. 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.