Ubuntu Conceitos de Rede

Antes de usar comandos de rede, vale entender as peças: IP, máscara, gateway, DNS e porta. Com elas na cabeça, as saídas do ip, do ping e do ssh deixam de ser sopa de números. No fim, você terá um roteiro para descobrir por que "a internet não funciona".

Você vai aprender
  • O que são IP, máscara, gateway, DNS e porta, comparando com endereços de correio.
  • A diferença entre IP privado (da sua casa) e IP público (da internet).
  • Como ver essas informações no seu Ubuntu com três comandos.
  • Um roteiro de 6 passos para achar onde a conexão quebrou.

Os exemplos usam a máquina fictícia notebook, da usuária ana, ligada no Wi-Fi de casa. No seu computador, os números e os nomes das placas serão outros.


A rede como um sistema de correio

Uma rede de computadores funciona como o correio de uma cidade. Cada peça técnica tem um equivalente do dia a dia:

TermoAnalogiaExemplo
Endereço IPO endereço da casa. Sem ele, ninguém sabe para onde mandar a carta.192.168.0.15
Máscara de redeDiz qual parte do endereço é o "bairro". Quem está no mesmo bairro se fala direto./24 ou 255.255.255.0
GatewayA agência do correio do bairro. Tudo que vai para fora do bairro passa por ela.192.168.0.1 (o roteador)
DNSA agenda de contatos: troca o nome pelo endereço.ubuntu.com → 185.125.190.20
PortaO número do apartamento dentro do prédio. Cada serviço mora num número.22 (SSH), 443 (sites com HTTPS)
Placa de rede (interface)A caixa de correio da casa. Um notebook pode ter várias: cabo e Wi-Fi.wlp2s0, enp3s0

Endereço IP

IP vem de Internet Protocol, "protocolo de internet". O endereço IPv4 tem 4 números de 0 a 255, separados por pontos. O jeito mais rápido de ver o seu é o hostname -I:

hostname
O programa que mostra o nome da máquina.
-I
Opção com i maiúsculo: em vez do nome, mostra todos os endereços IP da máquina.
$ hostname -I
192.168.0.15 2804:14c:5b80:8a1f::1a2b       « o primeiro é o IPv4; o segundo, IPv6

IP privado e IP público

O 192.168.0.15 é um IP privado: só vale dentro da sua casa, como "apartamento 15" só faz sentido dentro do prédio. Para a internet, toda a sua casa aparece com um único IP público, o do roteador. Para descobrir o IP público, é preciso perguntar a um site de fora:

$ curl -4 -s ifconfig.me
177.92.48.203                                « o endereço da sua casa vista de fora

Esse IP público é ilustrativo. O curl busca o conteúdo de um endereço da web; você vai conhecê-lo em curl, wget, dig.

Três faixas são reservadas para redes privadas. Se o seu IP começa assim, ele é privado:

FaixaOnde costuma aparecer
192.168.x.xRoteadores de casa e de pequenos escritórios
10.x.x.xEmpresas, VPNs, provedores de nuvem
172.16.x.x a 172.31.x.xEmpresas e o Docker
127.0.0.1Não é rede: é o próprio computador (localhost)
localhost: o computador falando com ele mesmo

127.0.0.1, ou o nome localhost, sempre aponta para a própria máquina. É útil para testar programas sem sair do computador, e funciona até sem internet.


Máscara de rede: qual é o seu "bairro"

A máscara diz quantos números do começo do IP formam o endereço da rede (o bairro). Ela aparece depois de uma barra, no formato chamado CIDR: 192.168.0.15/24.

O /24 quer dizer que os 24 primeiros bits, ou seja, os três primeiros números (192.168.0), são o bairro. O último número muda de casa para casa. Por isso 192.168.0.15 e 192.168.0.30 se falam direto, mas 192.168.1.7 já está em outro bairro.

CIDRMáscara escrita por extensoParte fixaEndereços para máquinas
/8255.0.0.010.x.x.xcerca de 16 milhões
/16255.255.0.0172.16.x.x65.534
/24255.255.255.0192.168.0.x254
/26255.255.255.192parte do último número62
/32255.255.255.255o endereço inteiro1 (uma máquina só)

Para o dia a dia, basta lembrar: em casa, quase sempre é /24.


Gateway: a porta de saída

Para falar com algo fora do bairro (um site, por exemplo), o computador entrega o pacote ao gateway, quase sempre o roteador. O comando ip r mostra as rotas, inclusive o gateway:

ip
A ferramenta de rede do Linux.
r
Abreviação de route: mostra a tabela de rotas, ou seja, por onde cada destino sai.
$ ip r
default via 192.168.0.1 dev wlp2s0 proto dhcp src 192.168.0.15 metric 600     « para qualquer outro lugar, vá pelo roteador
192.168.0.0/24 dev wlp2s0 proto kernel scope link src 192.168.0.15 metric 600  « o "bairro": entrega direto
PedaçoSignificado
default"Qualquer destino que não esteja nas outras linhas."
via 192.168.0.1Mande pelo gateway, o roteador.
dev wlp2s0Pela placa Wi-Fi.
proto dhcpEssa rota veio do DHCP: o roteador entregou IP e gateway automaticamente.
src 192.168.0.15Usando o seu IP como remetente.
metric 600Prioridade. Se houver duas rotas iguais, vence o número menor (o cabo costuma ter 100).

DNS: a agenda de nomes

Computadores só entendem números, mas pessoas lembram nomes. O DNS (Domain Name System, "sistema de nomes de domínio") traduz ubuntu.com para um IP. Veja a tradução com o dig:

dig
Pergunta ao DNS (de domain information groper).
+short
Mostra só a resposta, sem os detalhes técnicos.
ubuntu.com
O nome a traduzir.
$ dig +short ubuntu.com
185.125.190.20
185.125.190.21
91.189.91.44                                « um nome pode ter vários IPs

No Ubuntu, quem atende essas perguntas é um serviço local chamado systemd-resolved, no endereço 127.0.0.53. Ele repassa ao DNS do roteador ou a outro que você configurar. O comando resolvectl status mostra qual servidor está em uso; você vai usá-lo no roteiro de diagnóstico abaixo.

Quando "a internet caiu", muitas vezes é só o DNS

Se você consegue alcançar um IP mas não consegue abrir nenhum nome, a internet está funcionando: quem falhou foi a agenda. O roteiro mais abaixo mostra como distinguir os dois casos.


Portas, TCP e UDP

Um computador roda vários serviços ao mesmo tempo. A porta é o número que diz para qual deles o pacote vai, como o número do apartamento num prédio. O IP leva até o prédio, e a porta leva até o apartamento.

PortaProtocoloServiço
22TCPSSH: acesso remoto pelo terminal (SSH)
53UDP e TCPDNS
80TCPHTTP: sites sem criptografia
443TCPHTTPS: sites com cadeado
25, 587TCPEnvio de e-mail (SMTP)
3306 / 5432TCPBancos de dados MySQL / PostgreSQL
67, 68UDPDHCP: entrega de IP automático

Existem dois "tipos de entrega":

  • TCP: como uma carta registrada. Confirma o recebimento e reenvia o que se perder. Usado por sites, SSH e e-mail.
  • UDP: como um panfleto. Mais rápido, sem confirmação. Usado por DNS, chamadas de vídeo e jogos.

Para ver quais portas o seu computador está escutando, use ss -tuln (detalhado em ip, ping, ss).


IPv4 e IPv6

Os endereços IPv4 (4 números) estão acabando: são só cerca de 4 bilhões. O IPv6 resolve isso com endereços enormes, escritos em hexadecimal e separados por dois-pontos, como 2804:14c:5b80:8a1f::1a2b. Os dois convivem: o seu Ubuntu provavelmente já tem os dois tipos.

  • :: é uma abreviação para "um monte de zeros".
  • Endereços que começam com fe80: são locais e só valem dentro da rede.
  • ::1 é o localhost do IPv6.

Onde ver tudo isso no seu Ubuntu

Há mais de uma forma de descobrir as mesmas informações:

Quero ver…ComandoPela interface gráfica
Meu IPhostname -I ou ip -br aConfigurações → Wi-Fi (ou Rede) → engrenagem da conexão
Meu gatewayip rMesma tela, campo "Rota padrão"
Meu DNSresolvectl statusMesma tela, campo "DNS"
Meu IP públicocurl -4 ifconfig.meQualquer site do tipo "qual é meu IP"
Tudo de uma veznmcli device show—

Roteiro: "a internet não funciona"

Siga os passos em ordem. Cada passo testa uma peça do correio; o primeiro que falhar mostra onde está o problema.

  1. A placa de rede está ligada e tem IP? Use ip -br a (-br = brief, "resumido"):

    $ ip -br a
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    enp3s0           DOWN                                     « cabo: desligado
    wlp2s0           UP             192.168.0.15/24 fe80::5a1c:3b2d:8e4f:9a10/64   « Wi-Fi: ligado, com IP

    Se a placa que você usa está DOWN, ou UP mas sem endereço IPv4, o problema é a conexão física: Wi-Fi desligado, senha errada ou cabo solto. Veja Wi-Fi e, se a placa Wi-Fi nem aparece, Wi-Fi que Não Funciona.

  2. Existe um gateway?

    $ ip r
    default via 192.168.0.1 dev wlp2s0 proto dhcp src 192.168.0.15 metric 600
    192.168.0.0/24 dev wlp2s0 proto kernel scope link src 192.168.0.15 metric 600

    Sem a linha default, o computador não sabe sair do bairro. Geralmente o problema é o DHCP do roteador: desconecte e conecte o Wi-Fi de novo.

  3. O roteador responde? O ping manda um "você está aí?" e espera a resposta. -c 3 limita a 3 tentativas; sem isso, ele não para até você apertar Ctrl+C.

    $ ping -c 3 192.168.0.1
    PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
    64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=3.12 ms
    64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=2.87 ms
    64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=4.05 ms
    
    --- 192.168.0.1 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms     « 0% de perda: o roteador está ok

    Se aparecer 100% packet loss, o problema está entre você e o roteador: sinal fraco ou rede errada.

  4. A internet responde por IP? Teste um IP conhecido, como o DNS do Google, 8.8.8.8. Assim você testa a saída para a internet sem depender do DNS:

    $ ping -c 3 8.8.8.8
    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=117 time=14.2 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=13.8 ms
    64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=14.5 ms
    
    --- 8.8.8.8 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2004ms

    Se o roteador responde mas o 8.8.8.8 não, a internet do provedor caiu. Reinicie o roteador ou ligue para o provedor.

  5. A internet responde por nome? Agora o mesmo teste com um nome:

    $ ping -c 3 google.com
    ping: google.com: Nome ou serviço desconhecido      « o IP funcionou, o nome não: é o DNS

    Se o ping 8.8.8.8 funcionou mas o ping google.com não, o problema é o DNS.

  6. Qual DNS está em uso?

    $ resolvectl status wlp2s0
    Link 3 (wlp2s0)
        Current Scopes: DNS
             Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    Current DNS Server: 192.168.0.1             « o roteador está fazendo papel de DNS
           DNS Servers: 192.168.0.1
         Default Route: yes

    Se o DNS do roteador está com problema, configure um DNS público, como 1.1.1.1 ou 8.8.8.8, na conexão (veja Configurar a Rede).

Resumo do roteiro

Placa com IP → gateway → ping no roteador → ping num IP da internet → ping num nome → DNS. O primeiro passo que falha diz onde está o defeito.


Quando não funciona

"Nome ou serviço desconhecido"
$ ping -c 3 ubuntu.com
ping: ubuntu.com: Nome ou serviço desconhecido

O que aconteceu: o DNS não conseguiu traduzir o nome. Ou o nome está errado (confira a digitação), ou o DNS não está respondendo.

Como confirmar: rode ping -c 3 8.8.8.8. Se esse funcionar, a internet está ok e o problema é só o DNS.

Como resolver: veja o passo 6 do roteiro e troque o DNS da conexão.

"A rede está fora de alcance"
$ ping -c 3 8.8.8.8
ping: connect: A rede está fora de alcance

O que aconteceu: o computador nem tentou enviar, porque não tem rota para fora: não há gateway, ou a placa está sem IP.

Como resolver: volte aos passos 1 e 2 do roteiro. Reconecte o Wi-Fi ou o cabo.

O ping não responde, mas o site abre
$ ping -c 3 microsoft.com
PING microsoft.com (20.70.246.20) 56(84) bytes of data.

--- microsoft.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2051ms

O que aconteceu: muitos servidores bloqueiam o ping de propósito, por segurança. Não responder ao ping não significa estar fora do ar.

Como confirmar: teste o serviço de verdade, por exemplo com curl -I https://microsoft.com (veja curl, wget, dig).


Referência rápida

ComandoMostra
hostname -ISeus endereços IP
ip -br aCada placa de rede, se está ligada e o IP dela
ip rRotas e o gateway (default via)
resolvectl statusServidores DNS em uso
dig +short nomeIP de um nome
ping -c 3 destinoSe o destino responde, e em quanto tempo
ss -tulnPortas que o computador está escutando
curl -4 ifconfig.meSeu IP público

Exercícios

1. Na analogia do correio, a porta corresponde a quê?

2. ping 8.8.8.8 funciona, mas ping google.com mostra "Nome ou serviço desconhecido". Onde está o problema?

3. Qual destes IPs é privado?

4. Ver o gateway

Complete o comando que mostra a tabela de rotas, onde aparece o gateway:

ip

5. Ping que para sozinho

Complete para enviar só 4 pings ao roteador:

ping 192.168.0.1

Resumo

  • IP é o endereço; máscara define o bairro; gateway é a saída; DNS traduz nomes; porta escolhe o serviço.
  • 192.168.x.x, 10.x.x.x e 172.16–31.x.x são IPs privados; 127.0.0.1 é o próprio computador.
  • hostname -I, ip r e resolvectl status mostram IP, gateway e DNS.
  • Para diagnosticar: placa → gateway → roteador → IP da internet → nome → DNS.