Básico de Comandos de Rede: Verificando Conectividade com ip e ifconfig

Básico de Comandos de Rede: Verificando Conectividade com ip e ifconfig

O que você vai conseguir fazer

  • Verificar seu próprio estado de conexão com `ip a`, `ip link` e `ip route`
  • Isolar um problema de "sem rede" na ordem: link, IP, rota, alcançabilidade, DNS
  • Traduzir comandos antigos como `ifconfig` para os equivalentes `ip` / `ss`

Pré-requisitos (leia estes primeiro)

O Que Você Vai Aprender

  • A diferença entre ip e ifconfig e quando usar cada um
  • Como isolar problemas de "sem rede" camada por camada
  • Uma rotina repetível para verificar IP, link, rota e alcançabilidade

Termos usados neste artigo (definidos antes de começar)

  • Interface: o dispositivo por onde o tráfego entra e sai. Recebe um nome como eth0 ou enp0s3. "NIC" e "adaptador de rede" significam a mesma coisa
  • Link: o estado no nível físico, ou seja, se o cabo ou a conexão sem fio está realmente ativo. Também chamado de "camada 1" ou "camada física"
  • Rota (roteamento): o caminho que decide para onde os dados seguem. "Tabela de rotas" e "tabela de roteamento" designam a mesma coisa
  • Gateway padrão: o equipamento pelo qual o tráfego sai quando o destino está fora da sua rede. Na maioria dos ambientes é o roteador
  • Alcançabilidade: se os pacotes realmente chegam ao destino
  • Resolução de nomes (DNS): o mecanismo que converte um nome como example.com em um endereço IP
  • iproute2 / net-tools: iproute2 é o pacote que fornece o ip. net-tools é o pacote antigo que fornece o ifconfig

Resumo Rápido

  • Para ver endereços IP, use ip a (o sucessor do ifconfig)
  • Diagnostique de baixo para cima: link, IP, rota, alcançabilidade, resolução de nomes
  • ifconfig: command not found não significa que algo está quebrado. Basta usar ip

Premissas

  • SO: Ubuntu / família RHEL ou qualquer Linux comum
  • iproute2 (o comando ip) está instalado por padrão
  • Alguns comandos precisam de sudo ou privilégios de administrador

Como ip e ifconfig diferem?

ifconfig vem com o pacote legado net-tools. Hoje ele está obsoleto e, em muitos sistemas novos, nem vem instalado. O sucessor é o ip, do pacote iproute2. O ip gerencia endereços IP, links e rotas em uma única ferramenta. Use ip em sistemas modernos.

Aspecto ifconfig (net-tools) ip (iproute2)
Status Obsoleto, sem manutenção Atual, recomendado
Instalado por padrão Frequentemente ausente em sistemas modernos Padrão
Escopo Apenas IP e link IP, link, rota e mais
IPs múltiplos/sub-IPs Exibição incompleta Exibidos corretamente

ifconfig: command not found não indica defeito. O net-tools simplesmente não está instalado. Você pode executar sudo apt install net-tools, mas usar ip é a abordagem correta.

Como verificar um endereço IP?

Execute ip a para listar endereços IP em cada interface. ip a é a abreviação de ip addr show. Se você está acostumado ao net-tools, ifconfig sem argumentos mostra os mesmos dados. Comece aqui para descobrir seu próprio IP.

$ ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    inet 192.168.1.20/24 brd 192.168.1.255 scope global eth0

O que observar:

  • eth0 -- nome da interface (pode ser enp0s3 etc.)
  • inet 192.168.1.20/24 -- o endereço IPv4 atribuído. O /24 no final indica o tamanho da sub-rede; aqui, de 192.168.1.0 a 192.168.1.255 forma uma única rede
  • UP -- a interface está habilitada pelo sistema operacional
  • LOWER_UP -- o link físico está conectado

Para inspecionar apenas uma interface:

$ ip addr show eth0

O equivalente com ifconfig:

$ ifconfig
$ ifconfig eth0

Use ip link para verificar o estado do link. Aqui interessam dois pontos: se o cabo está conectado e se a interface está habilitada. Mesmo com um IP atribuído, state DOWN significa sem tráfego. Verifique isso primeiro quando "nada conecta."

$ ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP ...
  • state UP -- link habilitado. state DOWN significa desabilitado
  • Sem LOWER_UP -- suspeite de cabo desconectado ou dispositivo par

Ativar ou desativar uma interface manualmente (requer privilégios de administrador):

$ sudo ip link set eth0 up
$ sudo ip link set eth0 down

Como verificar a tabela de rotas?

Execute ip route para ver o gateway padrão e a tabela de rotas. Mesmo com um IP correto, sem gateway significa sem tráfego de saída. Esta é a verificação clássica quando a LAN funciona mas a internet não.

$ ip route
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20
  • default via 192.168.1.1 -- o gateway padrão. Sem default = sem saída
  • Linha 2 -- destinos na mesma sub-rede são entregues diretamente

Para resolver a rota para um destino específico, ip route get é útil:

$ ip route get 8.8.8.8

Como testar a alcançabilidade?

Use ping para verificar se os pacotes realmente chegam ao destino. O -c define quantos pacotes enviar; sem ele, o ping não para. Teste nesta ordem: gateway, IP externo e nome de domínio. Essa ordem mostra onde o caminho falha.

$ ping -c 4 192.168.1.1
$ ping -c 4 8.8.8.8
$ ping -c 4 example.com

Como interpretar:

  • Gateway inacessível -- problema de link ou rota (volte para ip link / ip route)
  • 8.8.8.8 OK mas example.com falha -- um problema de resolução de nomes (DNS)
  • Todos falham -- suspeite de roteamento, firewall ou lado do ISP

100% packet loss nem sempre significa que a rede está quebrada. O outro lado pode apenas bloquear ICMP, o tipo de tráfego que o ping usa. Quando o destino for um servidor web, execute também curl -I https://example.com para verificar a alcançabilidade no nível HTTP.

Como isolar um problema de "sem conexão"?

Elimine as camadas de baixo para cima. Siga a ordem link, IP, rota, alcançabilidade e resolução de nomes. A primeira camada que falhar é a causa. Começar de cima desperdiça tempo.

  1. Link: ip link show -- está state UP?
  2. IP: ip a -- um endereço está atribuído?
  3. Rota: ip route -- existe um default via ...?
  4. Alcançabilidade: ping -c 4 <gateway> -> ping -c 4 8.8.8.8
  5. Resolução de nomes: se ping -c 4 example.com falhar, suspeite de DNS
# Um comando de cada vez, de cima para baixo
ip link show
ip a
ip route
ping -c 4 8.8.8.8
ping -c 4 example.com

Erros comuns

  • Fazer ping em um nome de domínio primeiro e declarar "a rede está morta" (é apenas DNS)
  • Ver um IP atribuído, relaxar e perder um gateway ausente
  • Executar ip link set ... down via SSH e cortar sua própria sessão

Tabela de migração de comandos antigos para novos

Mesmo que você conheça ifconfig / route / netstat, aprender os equivalentes ip / ss torna a migração indolor. Mantenha esta tabela à mão. O ss é o sucessor do netstat e também vem do iproute2.

Tarefa Antigo (net-tools) Novo (iproute2)
Mostrar endereços IP ifconfig ip a
Ativar link ifconfig eth0 up ip link set eth0 up
Mostrar tabela de rotas route -n ip route
Tabela ARP arp -n ip neigh
Portas em escuta netstat -tlnp ss -tlnp
# Copie e cole: snapshot rapido de status
ip -br a && ip route && ss -tlnp

ip -br a (-br = brief) imprime cada interface e IP em uma linha. Ideal para uma visão geral rápida.

Próximos Passos