Introdução
No mundo das redes Linux, ter controle sobre como o seu computador envia dados é muito importante. A maioria dos sistemas operacionais lida com o roteamento automaticamente via DHCP, mas há momentos, especialmente em servidores, roteadores ou outros ambientes de laboratório, em que você precisa informar ao sistema exatamente para onde enviar o tráfego. Isto é feito usando o ip route add comando.
O ip route add faz parte do
O comando iproute2 suite, que é uma coleção moderna de utilitários para configurar redes no Linux. Ele permite criar rotas estáticas: caminhos fixos e definidos manualmente para o tráfego de rede.
Como funciona o "ip route add"?
Quando seu computador precisa enviar um pacote, ele verifica seu tabela de roteamento. Esta tabela é uma lista de regras que dizem: “Se o IP de destino for X, envie o pacote via Gateway Y”.
O ip route add simplesmente insere uma nova regra nesta tabela.
Aqui está a lógica passo a passo:
- Execução de Comando: Você digita o comando especificando o rede alvo e o gateway (ou interface) para alcançá-lo.
- Atualização do Kernel: O kernel Linux valida o comando e adiciona a entrada à tabela de roteamento na memória.
- Decisão de rota: Na próxima vez que um pacote for gerado para esse destino, o kernel o compara com sua nova regra.
- Encaminhamento: O kernel envia o pacote através da interface especificada ou para o IP do próximo salto especificado.
É importante observar que sem configuração adicional, essas rotas são frequentemente temporário e desaparecerá se você reiniciar a máquina.
Como usar o comando (exemplos)
A sintaxe básica é simples, mas poderosa. Aqui estão as maneiras mais comuns de usá-lo.
1. Adicionando uma rota a uma rede específica
Para informar ao seu sistema como acessar uma rede específica (por exemplo, 192.168.50.0/24) através de um IP de gateway (192.168.1.1):
sudo ip route add 192.168.50.0/24 via 192.168.1.1
> 192.168.50.0/24: A rede de destino que você deseja alcançar.<br> > via 192.168.1.1: O roteador do “próximo salto” que sabe como chegar lá.
- Adicionando uma rota através de uma interface específica
Às vezes você não precisa de um IP de gateway, apenas de uma interface (como um túnel VPN):
sudo ip route add 10.8.0.0/16 dev tun0
dev tun0: Força o tráfego para10.8.0.0/16fora dotun0interface diretamente.
3. Adicionando uma rota de host específica
Para criar uma rota para um solteiro Endereço IP em vez de uma rede inteira:
sudo ip route add 8.8.8.8 via 192.168.1.254
Isso força o tráfego para 8.8.8.8 (Google DNS) para passar por um gateway diferente do seu tráfego principal da Internet.
4. Alterando o gateway padrão
O gateway padrão é a rota "pega-tudo" para o tráfego da Internet. Para alterá-lo manualmente:
sudo ip route add default via 192.168.1.1
Aplicações de ip route add
Por que adicionar rotas manualmente se o roteador pode lidar com isso?
- Configuração VPN: Quando você se conecta a uma VPN, o software usa
ip route addforçar o tráfego destinado à sede corporativa a passar pelo túnel criptografado (tun0) em vez do seu WiFi normal. - Servidores Dual-Homed: Servidores com duas placas de rede (por exemplo, uma para internet e outra para backup contínuo) precisam de rotas estáticas para garantir que o tráfego de backup permaneça na rede privada e rápida.
- Testes e Laboratórios: Engenheiros de rede costumam construir laboratórios virtuais. As rotas estáticas permitem simular topologias de rede complexas em um único laptop.
- Isolamento de segurança: Você pode rotear o tráfego para destinos confidenciais através de um firewall específico ou gateway seguro, criando um “caminho limpo” para dados críticos.
Por que é importante?
A importância de ip route add reside em controle de precisão.
Protocolos de roteamento dinâmico são ótimos para redes grandes, mas são “ruidosos” e complexos. O roteamento estático é silencioso e exato. Em um servidor Linux, você não deseja executar software de roteamento pesado apenas para acessar um servidor de backup específico. ip route add é a ferramenta cirúrgica para esse trabalho.
É também a principal ferramenta para solução de problemas. Se um servidor não conseguir acessar a Internet, verifique a tabela de roteamento (ip route show) e adicionar rotas temporárias é a maneira mais rápida de diagnosticar se o problema é um gateway defeituoso ou uma rede mal configurada.
Vantagens
- Simplicidade: Sem protocolos complexos para configurar; apenas um comando.
- Sem despesas gerais: Não utiliza CPU ou largura de banda, diferentemente dos protocolos de roteamento dinâmico.
- Segurança: As rotas são conhecidas e fixas; o tráfego não pode ser falsificado ou redirecionado por um roteador não autorizado.
- Previsibilidade: O caminho é sempre o mesmo, facilitando a depuração.
Desvantagens
- Manutenção Manual: Se a topografia da rede mudar (por exemplo, o IP do gateway mudar), você deverá atualizar manualmente cada servidor.
- Não escalável: Impossível gerenciar em centenas de dispositivos; imagine digitar comandos em 500 servidores sempre que uma rota muda.
- Sem redundância: Se o gateway cair, a rota estará inoperante. O sistema não encontrará automaticamente um caminho de backup.
- Efêmero: Por padrão, as rotas são perdidas na reinicialização. Você deve adicioná-los aos arquivos de configuração de rede (como Netplan ou
/etc/network/interfaces) para torná-los permanentes.
Diferença entre ip route e route
Você pode ver tutoriais mais antigos usando o route comando. Aqui está porque você deve evitá-lo.
| Recurso | ip route (Moderno) |
route (Legado) |
|---|---|---|
| Pacote | Parte de iproute2. |
Parte de net-tools. |
| Status | Padrão atual, mantido ativamente. | Obsoleto, em sua maioria sem manutenção. |
| Capacidades | Suporta roteamento complexo (roteamento de política, múltiplas tabelas). | Somente roteamento básico. |
| Saída | Conciso, rápido e fácil de usar. | Verboso e mais lento. |
| Sintaxe | ip route add ... |
route add ... |
Conclusão
O ip route add é uma ferramenta aparentemente simples que libera todo o potencial da rede Linux. Ele permite que os administradores ignorem comportamentos padrão e determinem exatamente como o tráfego flui através de seus sistemas.
O comando
Embora o roteamento manual não seja escalonável para toda a Internet, ele é a base da configuração do servidor, das VPNs e do design de rede seguro. Dominar esse comando é um rito de passagem para qualquer profissional Linux, dando a você o poder de controlar os dados com precisão e confiança.