CodeGym /Cursos /Docker SELF /Configuração de rotas: comandos `ip route`, `netstat`, `s...

Configuração de rotas: comandos `ip route`, `netstat`, `ss`

Docker SELF
Nível 4 , Lição 1
Disponível

Configuração de rotas: comandos ip route, netstat, ss

1. O conceito de roteamento

Hoje vamos mergulhar ainda mais fundo: vamos configurar rotas, analisar conexões de rede e entender as portas. Aqui começa a verdadeira mágica da administração de redes – vamos descobrir para onde e como os pacotes "viajam", e porque é importante ser "o chefe das rotas".

Roteamento não é só um negócio que soa complicado, é a base das redes modernas. Imagina só: o seu computador é um turista querendo chegar em outro computador (um hotel), e as rotas são as estradas e os sinais. Se não tiver rotas, o turista vai ficar perdido, perguntando o caminho para os pedestres (esses pedestres podem ser servidores DNS, mas não vamos entrar nisso agora) ou nem vai sair de casa.

Por que precisamos de rotas

Todo dispositivo na rede precisa saber como chegar aos outros dispositivos. Por exemplo, se seu computador quer enviar uma requisição para o site example.com, ele precisa saber:

  1. Para onde enviar os pacotes.
  2. Por qual gateway ou interface fazer isso.

As rotas podem ser de dois tipos:

  • Rotas locais: instruções para dispositivos na sua sub-rede (por exemplo, seu computador e sua impressora).
  • Rotas externas: instruções para dispositivos fora da sua sub-rede (por exemplo, um recurso na internet).

2. Tabela de Roteamento

A tabela de roteamento é uma tabela com regras que determinam para onde enviar os pacotes com base nos endereços IP. É como o Google Maps para o seu computador: "Se quer ir para lá, vá por este gateway".

Tenta exibir sua tabela de rotas:

ip route show

Exemplo de saída:

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

O que significa:

  • default via 192.168.1.1: se o pacote não tem um destino especificado, envia ele pelo gateway com o endereço 192.168.1.1.
  • dev eth0: usamos a interface eth0.
  • 192.168.1.0/24: essa é a rota para toda a sub-rede 192.168.1.0/24. Os pacotes ficam "em casa" na rede local.
  • proto e metric – parâmetros adicionais, falaremos deles mais tarde.

3. Comando ip route

Visualizar rotas

Para visualizar a tabela de roteamento, já usamos ip route show. Dá pra adicionar filtros, por exemplo, pra identificar a rota só pra rede local:

ip route show match 192.168.1.0/24

Adicionar rotas

Você pode adicionar uma rota estática – é como se colocasse uma placa de trânsito por conta própria. Por exemplo, pra redirecionar todas as solicitações pra sub-rede 10.0.0.0/24 através de um gateway específico:

sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

Vamos entender:

  • 10.0.0.0/24 – sub-rede de destino.
  • via 192.168.1.1 – gateway, através do qual os pacotes são enviados.
  • dev eth0 – interface através da qual os pacotes saem.

Remover rotas

Se você não quiser mais que uma rota exista, remova-a com o comando:

sudo ip route del 10.0.0.0/24

4. Prática: Configurando uma rota estática

  1. Verifique se você tem acesso a outra sub-rede.
  2. Adicione uma rota:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
  1. Verifique a tabela de roteamento:
ip route show
  1. Remova a rota se ela não for mais necessária.

5. Comando netstat

Quando o assunto é analisar as conexões atuais, o netstat é aquele velho amigo do administrador de sistemas (embora já exista uma alternativa mais moderna – ss, que vamos discutir mais tarde).

Verificando conexões ativas

netstat -tun

O que isso significa:

  • -t – exibe conexões TCP.
  • -u – exibe conexões UDP.
  • -n – usa endereços numéricos (em vez de nomes de hosts).

Exemplo de saída:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.100:22        192.168.1.50:50240      ESTABLISHED

O que isso significa:

  • Endereço local 192.168.1.100:22 – seu computador está ouvindo na porta 22 (SSH).
  • Endereço remoto 192.168.1.50:50240 – é o host remoto que está conectado à sua porta.
  • ESTABLISHED – é uma conexão ativa, os dados estão sendo transmitidos.

Portas em escuta

Para ver quais portas estão "ouvindo" no seu computador:

netstat -ltn

A flag -l mostra apenas as portas em escuta, e as flags -t e -n já discutimos.


6. Comando ss

Se netstat é um dinossauro, então ss é tipo um DeLorean do futuro: funciona mais rápido e dá mais informações.

Verificação de conexões ativas

ss -tun

O exemplo de saída é parecido com o netstat, só que com mais rapidez e detalhes.

Monitoramento de portas

ss -tln

É a mesma coisa que o netstat, mas usar o ss é mais confortável e moderno.


7. Monitoramento de conexões

  1. Use netstat ou ss pra ver quais portas o seu computador está escutando.
  2. Abra uma conexão SSH em outro dispositivo e veja se ela aparece na lista de conexões.
  3. Tente interpretar a saída dos comandos.

Nos mergulhamos no mundo do roteamento e monitoramento de conexões: agora você pode usar ip route pra gerenciar a tabela de rotas e netstat/ss pra analisar conexões de rede. Essas ferramentas são o seu canivete suíço pra resolver os problemas de rede mais complicados. Quer ajudar um amigo que tá reclamando que "a internet não funciona"? Mostre suas novas habilidades e dê um show!

Na próxima aula vai ser ainda mais legal: vamos explorar o DNS e a mágica por trás dele. Por enquanto, vá praticando com ip route e veja como os pacotes encontram o caminho de casa.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION