Diagnóstico por evidências.
Estas questões não são um “questionário de teoria”. Elas são um teste de alfabetização operacional em redes no Linux: você vai ser puxado para fora da zona do “acho que é DNS” e colocado no território do “eu provo onde está o problema”. Ao longo dos exercícios, o desafio é sempre o mesmo, só muda a roupa: enxergar a rede em camadas, ler o estado real do sistema pelo terminal e tomar decisões com base em evidências.
Se você consegue resolver tudo daqui, você domina, no mínimo, as seguintes competências: pensar em camadas (TCP/IP e OSI) como um mapa de diagnóstico; entender endereçamento e roteamento em IPv4/IPv6 de forma prática; inspecionar e configurar DNS/hosts; controlar rotas e hostname de forma consciente; ler portas e conexões com ss; compreender DHCP como negociação; e, por fim, atravessar a fronteira para operar um Linux como roteador (encaminhamento, NAT e validação).
Talvez o ponto mais importante: disciplina de diagnóstico por evidências. Você não usa ferramentas (ping, traceroute/tracepath, dig/nslookup, ss, ip route, ip addr, tcpdump) como “comandos para decorar”, mas como instrumentos de investigação: hipótese → teste → evidência → próxima ação.
resolvectl depende de systemd-resolved; DHCP pode usar dhclient, dhcpcd ou NetworkManager.dnf; em ambientes antigos, substitua por yum.# Debian/Ubuntu
sudo apt install iproute2 iputils-ping traceroute dnsutils curl tcpdump network-manager isc-dhcp-client
# Arch
sudo pacman -S iproute2 iputils traceroute bind curl tcpdump networkmanager dhcpcd
# RHEL-like
sudo dnf install iproute iputils traceroute bind-utils curl tcpdump NetworkManager dhclient
Checklist de evidências por camada (exemplo: example.com)
Aplicação (nome → IP):
dig +short A example.com
dig +short AAAA example.com
Transporte (porta/handshake/HTTP):
curl -I https://example.com
Internet (rota até o IP):
ip route get <IP>
Acesso/Link (interface/estado físico):
ip link show
Regra de ouro:
- Se falhar em uma camada, pare e explique por quê.
- Corrija de baixo para cima quando fizer sentido (link → rota → transporte → aplicação).
Checkpoint: você consegue escrever “onde eu começo e por quê” em 5 linhas, usando evidência real do sistema (saída dos comandos) e não opinião.
HTTP/HTTPS).TCP / UDP).IP).Ethernet / Wi‑Fi).Validação por evidência (como usar camadas no diagnóstico)
- DNS falha → evidência na camada de Aplicação (resolução de nomes).
- TCP não conecta → evidência na camada de Transporte (porta, handshake).
- Rota inexistente → evidência na camada Internet (ip route).
- Link down / interface sem carrier → evidência na camada de Acesso/Link.
Pergunta-guia:
“Qual evidência eu consigo coletar agora que confirma/nega a hipótese?”
Checkpoint: você consegue explicar por que “parece DNS” é hipótese e quais testes mínimos provam ou derrubam essa hipótese (dig / resolvectl / tentativa de conexão por IP).
ip.192.168.1.10, prefixos CIDR como /24.:, compressão com :: (uma vez) e remoção de zeros à esquerda.ip route.ip -6 addr show (ou ip -6 a).scope link (link-local fe80::/10) vs scope global (global unicast).Como ler uma rota (exemplo didático)
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.50 metric 100
Tradução:
- default: rota padrão (fora da LAN vai por aqui)
- via: próximo salto (gateway)
- dev: interface de saída
- proto: origem (dhcp/kernel)
- metric: custo (menor costuma vencer)
- scope link: alcançável direto no enlace
- src: IP fonte preferencial
Observação honesta: em um TP real, você deve entregar sua saída real (print/colagem) e sua leitura dela. Aqui está o modelo de leitura e os pontos que você precisa identificar.
/etc/hosts: atalhos locais nome → IP (útil para lab e mapeamentos rápidos)./etc/resolv.conf: nameservers e search, mas pode ser gerenciado (ex.: systemd-resolved / NetworkManager).dig +short A example.com / dig +short AAAA example.com (ou nslookup).sudo ip route add 10.10.0.0/16 via 192.168.1.1 dev eth0.sudo ip route del 10.10.0.0/16.ip route get 10.10.5.5.hostname e hostnamectl.sudo hostname novo-nome.sudo hostnamectl set-hostname novo-nome.Exemplos de configuração (didáticos)
/etc/hosts
127.0.0.1 localhost
192.168.1.10 servidorbd
2001:db8::10 servidorv6
/etc/resolv.conf (se NÃO for gerenciado)
nameserver 1.1.1.1
nameserver 8.8.8.8
search minhaempresa.local
Regra prática:
- Edite /etc/hosts sem medo.
- Entenda quem gerencia /etc/resolv.conf antes de editar (DHCP, NetworkManager, systemd-resolved).
Checkpoint: você consegue explicar “nome não resolve” separando: (a) arquivo local (/etc/hosts), (b) cliente DNS configurado (resolv.conf / resolved), (c) reachability até o servidor DNS (rota/firewall).
ss e DHCP (rede como mecanismo de aplicações)80/tcp (HTTP), 443/tcp (HTTPS), 22/tcp (SSH).ss (Exercício 11)ss -t.ss -tuna (pode exigir permissão para ver o processo).dhclient (comum em Debian/RHEL-like): liberar sudo dhclient -r eth0 e renovar sudo dhclient eth0.dhcpcd (comum em ambientes Arch): renovar via sudo dhcpcd -k eth0 e depois sudo dhcpcd eth0.nmcli dev disconnect eth0 / nmcli dev connect eth0.Exemplo didático de ss (como ler)
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 0 192.168.1.50:22 192.168.1.100:53422 users:(("sshd",pid=1234,fd=3))
LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=900,fd=6))
Leitura rápida:
- LISTEN: serviço esperando conexão
- ESTAB: sessão estabelecida (conexão ativa)
- Filas crescendo: possível gargalo (app lenta, buffer, rede, backpressure)
Checkpoint: você consegue olhar um serviço “fora” e provar se ele está (a) sem processo escutando, (b) escutando mas bloqueado por firewall, ou (c) aceitando conexões mas falhando na aplicação.
sudo sysctl -w net.ipv4.ip_forward=1./etc/sysctl.conf ou /etc/sysctl.d/*.conf com net.ipv4.ip_forward = 1.sudo ip route add default via 192.168.1.1 dev eth0.sudo ip route del default → sudo ip route add default ...).ip route e ip route get 8.8.8.8.ping: reachability e latência (RTT); pode ser bloqueado e não garante serviço OK.traceroute / tracepath: caminho e onde o tráfego para; alguns hops não respondem.dig (DNS), ss (sockets), tcpdump (evidência bruta do tráfego).Exercício de consolidação (curto e bom)
Escolha um domínio (ex.: example.com) e produza 1 evidência por camada:
Aplicação:
dig +short A example.com
dig +short AAAA example.com
Transporte:
curl -I https://example.com
Internet:
ip route get <IP retornado pelo dig>
Acesso/Link:
ip link show
Depois escreva em 5 linhas:
“Se falhar, onde eu começo e por quê.”
Debrief:
Você não decorou comandos; você aprendeu a mapear sintomas em camadas,
coletar evidência e decidir o próximo teste. Isso é a base de redes e também
de sistemas distribuídos (falhas parciais são regra).