DIA 07: O Navegador de Rede

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo, Navegador de Rede! Você acaba de ser contratado como Administrador de Sistemas Júnior em uma startup de tecnologia em rápido crescimento. Esta manhã, um servidor web crítico ficou offline. Os usuários estão relatando que não conseguem acessar o portal interno da empresa.

Seu administrador sênior está preso em uma reunião e encarregou você do diagnóstico inicial. É a sua hora de brilhar! Sua missão é investigar sistematicamente o status da rede do servidor, identificar a causa raiz e restaurar a conectividade. Vamos colocar este servidor online novamente!

Aviso Importante
Os próximos desafios podem exceder o escopo do curso Quick Start with Linux.
Se você encontrar dificuldades durante o desafio:
  1. Pule temporariamente o desafio e continue com os Laboratórios Guiados subsequentes na trilha de aprendizado Linux.
  2. Discuta com o Labby ou visualize a solução.

Verificando o Status da Interface de Rede

Seu primeiro passo como Navegador de Rede é coletar informações básicas. O hardware de rede é sequer reconhecido e está ativo? Você precisa verificar o status de todas as interfaces de rede no servidor. A ferramenta moderna para este trabalho é o comando ip.

Tarefas

  • Use o comando ip para exibir o status e a configuração de todas as interfaces de rede.

Requisitos

  • Você deve usar o comando ip addr para realizar esta verificação.

Exemplos

Após executar o comando, você deverá ver uma saída mostrando interfaces de rede como lo (loopback) e eth0 (ou similar). Procure pelo estado da sua interface principal - ela deve mostrar UP para indicar que está ativa.

## Expected output format (interface names may vary)
1: lo: 65536 qdisc noqueue state UNKNOWN group default qlen 1000 < LOOPBACK,UP,LOWER_UP > mtu
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: 1500 qdisc mq state UP group default qlen 1000 < BROADCAST,MULTICAST,UP,LOWER_UP > mtu
link/ether 00:16:3e:04:b0:40 brd ff:ff:ff:ff:ff:ff
inet 172.16.50.108/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159216sec preferred_lft 1892159216sec

Dicas

  • O comando ip é uma ferramenta poderosa com muitos subcomandos. O comando para gerenciar endereços é addr.
  • Você pode usar ip addr show ou seu apelido mais curto ip addr.

Verificando a Configuração do Endereço IP

Tudo bem, a interface está UP. É um bom começo. Mas ela possui um endereço IP? Uma interface sem um endereço IP não consegue se comunicar na rede. Embora o ip addr mostre isso, vamos usar outro comando clássico, o ifconfig, para uma dupla verificação. É bom conhecer múltiplas ferramentas para a mesma tarefa.

Tarefas

  • Use o comando ifconfig para verificar a configuração do endereço IP.

Requisitos

  • Você deve usar o comando ifconfig.

Exemplos

A saída deve exibir suas interfaces de rede com seus respectivos endereços IP. Procure pelo campo inet sob sua interface de rede principal (como eth0) para confirmar a configuração do IP.

## Expected output showing IP configuration
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.50.108  netmask 255.255.255.0  broadcast 172.16.50.255
        ether 00:16:3e:04:b0:40  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0

Dicas

  • O comando ifconfig faz parte do pacote net-tools, que já instalamos para você.
  • Executar ifconfig sem argumentos exibirá todas as interfaces ativas.

Testando a Conectividade com Hosts Remotos

O servidor possui uma interface ativa e um endereço IP. O próximo passo lógico é verificar se ele consegue alcançar o mundo externo. Uma falha aqui pode indicar um problema com o gateway ou com as configurações de DNS. O comando ping é a ferramenta perfeita para este teste.

Tarefas

  • Teste a conectividade do servidor com a internet enviando exatamente 3 pacotes ICMP para o servidor de DNS público do Google em 8.8.8.8.

Requisitos

  • Você deve usar o comando ping.
  • Você deve limitar o número de pacotes enviados para 3.
  • O endereço IP de destino deve ser 8.8.8.8.

Exemplos

Se a conectividade estiver funcionando, você deverá ver respostas do endereço IP de destino com informações de tempo. O resumo ao final deve mostrar 3 pacotes transmitidos e 3 pacotes recebidos com 0% de perda de pacotes.

## Expected successful output pattern
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=4.33 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=119 time=4.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=119 time=4.30 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 4.298/4.309/4.329/0.014 ms

Dicas

  • O comando ping será executado indefinidamente a menos que você diga para ele parar.
  • Use a opção -c para especificar a contagem (count) de pacotes a serem enviados.

Inspecionando Portas de Rede Abertas

A conectividade está boa! Então, por que o portal interno ainda está inacessível? O problema pode estar na própria aplicação. O processo do servidor web está realmente rodando e escutando conexões na porta correta? O comando ss (socket statistics) é uma ferramenta moderna e rápida para investigar isso.

Tarefas

  • O portal interno deveria estar rodando na porta 8000. Use o comando ss para verificar se algum processo está escutando conexões TCP na porta 8000.

Requisitos

  • Você deve usar o comando ss.
  • Seu comando deve ser construído para mostrar sockets TCP em estado de escuta (listening).

Exemplos

Se um processo estiver escutando na porta 8000, você verá uma saída contendo informações sobre o socket de escuta. Procure por uma linha que mostre a porta 8000 na coluna Local Address.

## Expected output showing a listening process on port 8000
LISTEN 0      5            0.0.0.0:8000       0.0.0.0:*    users:(("python3",pid=3765,fd=3))

Dicas

  • O comando ss possui várias flags úteis:
    • -t: Mostra sockets TCP.
    • -l: Mostra sockets em escuta (listening).
    • -n: Mostra números de porta numéricos em vez de nomes de serviços.
    • -p: Mostra o processo que está usando o socket.
  • Você pode combinar essas flags, como ss -tlnp.
  • Para encontrar uma porta específica, você pode direcionar a saída do ss para o comando grep. Por exemplo: ss -tlnp | grep 8000.

Configurando Regras Básicas de Firewall

Você confirmou tudo: a interface está ativa, o IP está configurado, a conectividade com a internet funciona e a aplicação está escutando na porta correta. Resta apenas um grande suspeito: o firewall. É provável que ele esteja bloqueando o tráfego de entrada para o portal. Sua tarefa final é configurar o firewall para negar o acesso ao portal. Usaremos o ufw (Uncomplicated Firewall), uma interface amigável para gerenciar regras de firewall.

Tarefas

  1. Adicione uma regra de firewall para negar o tráfego de entrada na porta 8000.
  2. Adicione uma regra de firewall para permitir o tráfego SSH de entrada (porta 22).
  3. Ative o firewall para aplicar as novas regras.

Requisitos

  • Você deve usar o comando ufw para todas as operações.
  • Você deve usar sudo porque modificar regras de firewall exige privilégios administrativos.

Exemplos

Após configurar as regras do firewall, executar sudo ufw status deve mostrar que o firewall está ativo com a porta 8000 negada e o SSH (porta 22) permitido.

## Expected output after enabling firewall with port 8000 denied and SSH allowed
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
8000                       DENY        Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
8000 (v6)                  DENY        Anywhere (v6)

Ao adicionar a regra, você deverá ver:

Rules updated
Rules updated (v6)

Ao ativar o firewall, você deverá ver:

Firewall is active and enabled on system startup

Dicas

  • A sintaxe do ufw é muito direta. Para negar tráfego em uma porta, use ufw deny <porta>.
  • Você pode negar o tráfego na porta 8000 usando ufw deny 8000.
  • Você pode permitir o tráfego SSH especificamente usando ufw allow ssh ou ufw allow 22.
  • Aviso Crítico: Se você não abrir corretamente a porta SSH (22), a verificação falhará, pois ela depende desta porta para a conectividade SSH.
  • Aviso Importante: Não modifique regras de firewall para outras portas arbitrariamente, pois isso pode causar falhas na VM online.
  • Após adicionar suas regras, você deve ativar o firewall com ufw enable.

Resumo

Excelente trabalho, Navegador! Ao verificar sistematicamente as interfaces de rede, validar a configuração do IP, testar a conectividade, inspecionar as portas abertas e, finalmente, configurar o firewall, você diagnosticou e resolveu o problema com sucesso. O portal interno está agora protegido conforme as novas regras, e você conquistou o respeito da sua equipe.

Você demonstrou um domínio sólido das ferramentas fundamentais de rede do Linux, como ip, ifconfig, ping, ss e ufw. Este processo lógico de solução de problemas passo a passo é uma habilidade crítica para qualquer administrador de sistemas e será inestimável em sua carreira. Continue aprimorando suas habilidades!

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar