Pular para o conteúdo principal

Capítulo 7.2 - Roteamento e Tabelas de Roteamento

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Compreender o roteamento no Linux
  • Visualizar e modificar as tabelas de roteamento
  • Configurar a rota padrão
  • Entender rotas estáticas
  • Solucionar problemas de roteamento

O que é Roteamento?​

O roteamento determina como os pacotes de rede são enviados de uma origem para um destino.

Função:

  • Decidir para onde enviar os pacotes
  • Baseado nas tabelas de roteamento
  • Rota padrão para destinos desconhecidos

Tabelas de Roteamento​

Visualizar Rotas​

# Ver todas as rotas
ip route show
ip route
route -n # Com net-tools

# Ver rota específica
ip route get 8.8.8.8

Estrutura de uma Rota​

destination via gateway dev interface

Exemplo:

default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100

Rota Padrão​

Visualizar a Rota Padrão​

# Com ip
ip route show default
ip route | grep default

# Com route
route -n | grep "^0.0.0.0"

Adicionar uma Rota Padrão​

# Com ip
sudo ip route add default via 192.168.1.1 dev eth0

# Com route
sudo route add default gw 192.168.1.1 eth0

Remover a Rota Padrão​

# Com ip
sudo ip route del default

# Com route
sudo route del default

Rotas Estáticas​

Adicionar uma Rota​

# Rota para rede específica
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

# Rota para host específico
sudo ip route add 10.0.0.50 via 192.168.1.1 dev eth0

# Rota via interface local
sudo ip route add 172.16.0.0/16 dev eth1

Remover uma Rota​

# Remover rota
sudo ip route del 10.0.0.0/24

# Ou especificar completamente
sudo ip route del 10.0.0.0/24 via 192.168.1.1 dev eth0

Exemplos​

# Rota para rede privada via VPN
sudo ip route add 192.168.100.0/24 via 10.8.0.1 dev tun0

# Rota para servidor específico
sudo ip route add 203.0.113.50 via 192.168.1.1 dev eth0

Múltiplas Tabelas de Roteamento​

Visualizar as Tabelas​

# Lista de tabelas
ip route show table all

# Tabela específica
ip route show table main
ip route show table local

Tabelas Especiais​

  • main: Tabela principal (padrão)
  • local: Rotas locais (127.0.0.0/8, etc.)
  • default: Rotas padrão

Adicionar Rota em Tabela Específica​

# Rota em tabela personalizada
sudo ip route add 10.0.0.0/24 via 192.168.1.1 table 100

# Visualizar tabela
ip route show table 100

Configuração Permanente​

Ubuntu/Debian (Netplan)​

# /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.100/24
routes:
- to: 10.0.0.0/24
via: 192.168.1.1
- to: 0.0.0.0/0
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8

Aplicar:

sudo netplan apply

Red Hat/CentOS​

# Arquivo: /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/24 via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0

Troubleshooting​

Traceroute​

# Traçar o caminho
traceroute 8.8.8.8
tracepath 8.8.8.8 # Com iputils

# Com mtr (instale se necessário)
sudo apt install mtr
mtr 8.8.8.8

Verificar Conexão​

# Ping
ping -c 4 8.8.8.8
ping -c 4 google.com

# Ver rota utilizada
ip route get 8.8.8.8

Verificar Rota Padrão​

# Rota padrão
ip route show default

# Gateway acessível?
ping -c 2 $(ip route | grep default | awk '{print $3}')

Exemplos Práticos​

Script de Configuração de Roteamento​

#!/bin/bash
# Configuração de roteamento

INTERFACE="eth0"
GATEWAY="192.168.1.1"

# Rota padrão
sudo ip route add default via $GATEWAY dev $INTERFACE

# Rota para rede privada
sudo ip route add 10.0.0.0/24 via $GATEWAY dev $INTERFACE

# Verificar
ip route show

Verificação de Roteamento​

#!/bin/bash
# Verificar configuração de roteamento

echo "=== Rotas ==="
ip route show

echo "=== Rota padrão ==="
ip route show default

echo "=== Teste de conectividade ==="
ping -c 2 8.8.8.8

Resumo​

Neste capítulo, você aprendeu:

Roteamento: Decisão de envio dos pacotes de rede
Tabelas: main, local, tabelas personalizadas
Rota padrão: Gateway para destinos desconhecidos
Rotas estáticas: Rotas específicas para redes/hosts
Configuração: Netplan, arquivos route-*
Troubleshooting: traceroute, ping, ip route get


Próximos Passos​

Capítulo 7.3: DNS e Resolução de Nomes
Capítulo 7.4: Ferramentas de Rede


Capítulo criado em: Dezembro de 2024