Configuração de Rotas Estáticas no Sistema Linux

O gerenciamento de rotas no Linux permite definir caminhos específicos para o tráfego de rede, garantindo que os pacotes cheguem ao destino correto através de diferentes interfaces ou gateways. Este guia aborda desde comandos temporários até configurações persistentes.

  1. Manipulação de Rotas com o utilitário route (Legado)

O comando route é uma ferramenta tradicional para gerenciar a tabela de roteamento IP do kernel. As alterações feitas aqui são perdidas após o reinício do sistema.

A. Definindo rota para um Host específico

# Rota para um IP único via interface específica
route add -host 10.20.30.40 dev ens192

# Rota para um IP único através de um gateway
route add -host 10.20.30.45 gw 192.168.15.1

B. Definindo rota para uma Rede

# Adicionando uma sub-rede via interface
route add -net 172.16.10.0/24 dev ens192

# Adicionando uma sub-rede via gateway específico
route add -net 172.16.20.0 netmask 255.255.255.0 gw 192.168.15.254

C. Gateway Padrão (Default Route)

# Define o caminho para qualquer destino não listado explicitamente
route add default gw 192.168.15.1

D. Remoção e Visualização

# Remover rotas existentes
route del -host 10.20.30.40
route del -net 172.16.10.0/24

# Visualizar tabela numérica (evita resolução de DNS lenta)
route -n
  1. Utilizando o comando moderno ip route (iproute2)

A suíte iproute2 é o padrão atual no Linux, oferecendo maior controle e flexibilidade que as ferramentas net-tools antigas.

A. Comandos Básicos de Adição

# Equivalente ao route add -host
ip route add 10.50.50.1 via 192.168.100.1

# Adicionar uma rede completa
ip route add 10.50.0.0/16 dev eth1

# Definir gateway padrão
ip route add default via 192.168.100.254

B. Modificação e Substituição

Diferente do comando antigo, o ip route permite alterar rotas existentes de forma atômica.

# Altera uma rota existente
ip route change 10.50.0.0/16 via 192.168.100.5

# Substitui uma rota ou a cria caso não exista
ip route replace 172.30.0.0/24 dev eth0

C. Exclusão e Limpeza

# Remover uma rota específica
ip route del 10.50.0.0/16

# Limpar rotas de uma interface específica (Cuidado!)
ip route flush dev eth1

# Limpar o cache de roteamento
ip route flush cache

D. Inspeção da Tabela

# Listar todas as rotas
ip route show

# Verificar qual rota o sistema usará para um destino específico
ip route get 8.8.8.8
  1. Configuração Persistente (RHEL/CentOS/Fedora)

Para garantir que as rotas sobrevivam ao reboot, as definições devem ser escritas em arquivos de configuração no diretório /etc/sysconfig/network-scripts/.

Crie ou edite o arquivo route-interface (substitua interface pelo nome real, como eth0):

# Exemplo de conteúdo do arquivo /etc/sysconfig/network-scripts/route-eth0
default via 192.168.1.1
10.0.0.0/8 via 192.168.1.254
172.20.0.0/16 via 10.0.0.1
  1. Resolução de Problemas Comuns

Erro: SIOCADDRT: Network is unreachable

Este erro ocorre geralmente quando você tenta adicionar uma rota através de um gateway que não pertence a nenhuma das sub-redes configuradas em suas interfaces locais. O sistema não sabe como alcançar o gateway para enviar o tráfego adiante.

  1. Laboratório Prático: Interconexão de Redes com Múltiplos Roteadores

Neste cenário, utilizaremos três roteadores (R1, R2, R3) para conectar dois hosts (A e B) em redes distintas.

Topologia de Referência

Host A (Rede 192.168.10.0/24) ↔ R1 ↔ (Rede 10.0.0.0/24) ↔ R2 ↔ (Rede 10.1.0.0/24) ↔ R3 ↔ Host B (Rede 172.16.0.0/24)

Configuração do Encaminhamento IP

Em todos os rotaedores, o encaminhamento de pacotes deve estar ativo no kernel:

# Ativar temporariamente
echo 1 > /proc/sys/net/ipv4/ip_forward

# Ativar permanentemente em /etc/sysctl.conf
net.ipv4.ip_forward = 1
# Aplicar: sysctl -p

Configuração das Rotas Estáticas

Para que a comunicação ocorra, cada roteador precisa conhecer as redes que não estão diretamente conectadas a ele.

No Roteador 1 (R1):

# Conhecer a rede do Host B e a rede entre R2 e R3
ip route add 10.1.0.0/24 via 10.0.0.2
ip route add 172.16.0.0/24 via 10.0.0.2

No Roteador 2 (R2):

# Conhecer as extremidades (Host A e Host B)
ip route add 192.168.10.0/24 via 10.0.0.1
ip route add 172.16.0.0/24 via 10.1.0.2

No Roteador 3 (R3):

# Conhecer a rede do Host A e a rede entre R1 e R2
ip route add 10.0.0.0/24 via 10.1.0.1
ip route add 192.168.10.0/24 via 10.1.0.1

Após essas configurações e a definição dos gateways corretos nos hosts (Host A apontando para R1 e Host B apontando para R3), a conectividade fim-a-fim deve estar operacional.

Tags: Linux Networking static-routing iproute2 SysAdmin

Publicado em 7-11 17:14