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
ipeifconfige 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
eth0ouenp0s3. "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.comem um endereço IP - iproute2 / net-tools: iproute2 é o pacote que fornece o
ip. net-tools é o pacote antigo que fornece oifconfig
Resumo Rápido
- Para ver endereços IP, use
ip a(o sucessor doifconfig) - Diagnostique de baixo para cima: link, IP, rota, alcançabilidade, resolução de nomes
ifconfig: command not foundnão significa que algo está quebrado. Basta usarip
Premissas
- SO: Ubuntu / família RHEL ou qualquer Linux comum
iproute2(o comandoip) está instalado por padrão- Alguns comandos precisam de
sudoou 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 serenp0s3etc.)inet 192.168.1.20/24-- o endereço IPv4 atribuído. O/24no final indica o tamanho da sub-rede; aqui, de192.168.1.0a192.168.1.255forma uma única redeUP-- a interface está habilitada pelo sistema operacionalLOWER_UP-- o link físico está conectado
Para inspecionar apenas uma interface:
$ ip addr show eth0
O equivalente com ifconfig:
$ ifconfig $ ifconfig eth0
Como verificar o estado do link?
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 DOWNsignifica 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
ip link set ... down pode cortar a sua própria conexão
Nunca desative a interface pela qual você está trabalhando enquanto estiver conectado via SSH. A sessão cai na hora. Em um host acessível apenas por SSH, você não consegue restaurar sozinho.
A forma segura
- Antes de mexer, execute
ip route get <IP do seu cliente>para identificar a interface usada pela sessão SSH e não toque nela - Se a alteração for inevitável, agende antes o retorno, de forma independente da sessão. Atenção: reativar o link com
uppode não bastar. Ao colocar a interface emdown, as rotas que passam por ela são removidas, inclusive a rota padrão, e oupnão as restaura. Agende a reaplicação da configuração de rede- NetworkManager:
sudo systemd-run --on-active=60 /bin/sh -c 'nmcli networking off; nmcli networking on' - systemd-networkd:
sudo systemd-run --on-active=60 /bin/sh -c 'systemctl restart systemd-networkd' - netplan:
sudo systemd-run --on-active=60 /bin/sh -c 'netplan apply' - Sem systemd:
echo 'netplan apply' | at now + 1 minuteou equivalente
- NetworkManager:
- Confirme que você consegue acessar um console (IPMI ou o console serial do seu provedor de nuvem) antes de começar
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.8OK masexample.comfalha -- 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.
- Link:
ip link show-- estástate UP? - IP:
ip a-- um endereço está atribuído? - Rota:
ip route-- existe umdefault via ...? - Alcançabilidade:
ping -c 4 <gateway>->ping -c 4 8.8.8.8 - Resolução de nomes: se
ping -c 4 example.comfalhar, 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 ... downvia 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.