Ubuntu Configurar a Rede

Ver a rede você já sabe (ip, ping, ss). Agora é hora de mudar: colocar um IP fixo, trocar o DNS e dar nome à máquina. (Conectar ao Wi-Fi tem aula própria: Wi-Fi.) O Ubuntu Desktop usa o NetworkManager (comando nmcli); o Ubuntu Server usa o Netplan (arquivos YAML).

Você vai aprender
  • Quem manda na rede no desktop e no servidor, e por que isso importa.
  • Ver o estado da rede e as conexões salvas com nmcli.
  • Colocar IP fixo e DNS próprio, pelo nmcli e pelo Netplan.
  • Mudar o nome da máquina e criar apelidos de nomes no /etc/hosts.
Antes de mexer na rede de um servidor remoto

Uma configuração errada derruba a conexão, e você fica sem acesso. Em servidores, use sempre sudo netplan try (explicado abaixo), que desfaz a mudança sozinho se você não confirmar. Se possível, tenha acesso ao console da máquina.


Quem configura a rede?

No Ubuntu, o kernel faz a rede funcionar, mas quem decide como ela é configurada é um programa gerente. Existem dois, e cada edição do Ubuntu usa um por padrão:

Ubuntu DesktopUbuntu Server
GerenteNetworkManagersystemd-networkd
Como você configuraMenu do sistema, Configurações ou nmcliArquivos YAML em /etc/netplan/
Bom paraWi-Fi que muda de lugar, VPN, notebookIP fixo que nunca muda

O Netplan fica no meio dos dois: ele lê os arquivos YAML e entrega a configuração ao gerente certo. No desktop, o NetworkManager também guarda as redes que você conecta em arquivos do Netplan, com nomes como 90-NM-….yaml.

$ ls -l /etc/netplan/
total 8
-rw------- 1 root root 648 Jul  5 15:20 50-cloud-init.yaml
-rw------- 1 root root 717 Jul  5 15:20 90-NM-e9603303-9d5f-42c1-a5ed-31bf9965a33c.yaml   « uma rede salva pelo NetworkManager
Regra prática

No desktop, configure pela interface gráfica ou pelo nmcli, e não edite os arquivos 90-NM-* à mão. No servidor, edite o YAML e aplique com netplan.


nmcli: o NetworkManager pelo terminal

nmcli significa NetworkManager command line interface. Ele organiza tudo em objetos: general (estado geral), device (as placas) e connection (as configurações salvas, como "Wi-Fi de casa").

Estado geral e placas

$ nmcli general status
STATE      CONNECTIVITY  WIFI-HW     WIFI        WWAN-HW   WWAN        METERED
conectado  completa      habilitado  habilitado  faltando  habilitado  não (adivinhado)   « "completa" = tem internet
$ nmcli device status
DEVICE   TYPE      STATE                     CONNECTION
wlp2s0   wifi      conectado                 Casa-5GHz     « o Wi-Fi está usando a conexão "Casa-5GHz"
lo       loopback  conectado (externamente)  lo
enp3s0   ethernet  não disponível            --            « sem cabo
ColunaSignificado
CONNECTIVITYcompleta: chega à internet. limitada: só à rede local. portal: precisa fazer login numa página (Wi-Fi de hotel).
DEVICEA placa (o mesmo nome do ip a).
CONNECTIONA configuração salva que está ativa naquela placa.

Wi-Fi e conexões salvas

Listar redes Wi-Fi, conectar, senha errada, rede oculta, esquecer uma rede e o nmtui estão na aula Wi-Fi, com telas e saídas reais. Para esta aula, basta saber que cada rede em que você conecta vira uma conexão salva, com um nome, e que é nela que você muda IP e DNS:

$ nmcli connection show
NAME               UUID                                  TYPE      DEVICE
Casa-5GHz          e9603303-9d5f-42c1-a5ed-31bf9965a33c  wifi      wlp2s0     « ativa
lo                 89a03774-6e3e-4e06-a1f3-4eed9659d0f2  loopback  lo
Conexão cabeada 1  10f398dd-ff22-3029-85cd-c9c246b92b58  ethernet  --         « salva, não ativa
Escritório         470f1065-25c9-4860-8031-e54cfde5739e  wifi      --

Para ligar ou desligar uma conexão salva:

$ nmcli connection down "Casa-5GHz"
$ nmcli connection up "Casa-5GHz"

Se o Wi-Fi nem aparece, veja Wi-Fi que Não Funciona; para usar a internet do celular, Celular e Modem 4G.


IP fixo no desktop com nmcli

Por padrão, o roteador entrega o IP por DHCP, e ele pode mudar. Um IP fixo é útil quando outros aparelhos precisam achar o computador sempre no mesmo endereço, como um servidor de arquivos em casa.

Escolha um IP livre

Use um IP do mesmo "bairro" do roteador, fora da faixa que o DHCP distribui. Se o roteador entrega de .100 a .200, um bom fixo é 192.168.0.50. A faixa aparece na página de configuração do roteador.

nmcli connection modify "Casa-5GHz"
Altera a conexão salva com esse nome.
ipv4.method manual
Desliga o DHCP: os valores serão definidos à mão.
ipv4.addresses 192.168.0.50/24
O IP fixo e a máscara.
ipv4.gateway 192.168.0.1
O roteador.
ipv4.dns "1.1.1.1 8.8.8.8"
Os servidores DNS, separados por espaço.
$ nmcli connection modify "Casa-5GHz" ipv4.method manual ipv4.addresses 192.168.0.50/24 ipv4.gateway 192.168.0.1 ipv4.dns "1.1.1.1 8.8.8.8"
$ nmcli connection up "Casa-5GHz"            « reaplica a conexão para valer a mudança
$ ip -br a show wlp2s0
wlp2s0           UP             192.168.0.50/24 fe80::5a1c:3b2d:8e4f:9a10/64     « o IP novo

O modify só grava a configuração. Ela passa a valer quando a conexão é ativada de novo, com connection up.

Voltar para automático (DHCP)

$ nmcli connection modify "Casa-5GHz" ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns ""
$ nmcli connection up "Casa-5GHz"

Só trocar o DNS, mantendo o DHCP

Muitas vezes você quer o IP automático, mas um DNS diferente do roteador. Use ipv4.ignore-auto-dns yes para o DNS do roteador ser ignorado:

$ nmcli connection modify "Casa-5GHz" ipv4.dns "1.1.1.1 8.8.8.8" ipv4.ignore-auto-dns yes
$ nmcli connection up "Casa-5GHz"
$ resolvectl status wlp2s0 | grep "DNS Servers"
       DNS Servers: 1.1.1.1 8.8.8.8

Formas diferentes de configurar a rede no desktop

FormaComoMelhor quando…
Menu do sistemaCanto superior direito → Wi-FiSó quer conectar a uma rede
ConfiguraçõesConfigurações → Wi-Fi (ou Rede) → engrenagem → aba IPv4IP fixo ou DNS, com o mouse
nmtuiUma tela de menus dentro do terminalEstá num terminal (até no TTY) e não quer decorar opções
nmcliComandos completosScripts, acesso por SSH, repetir a mesma configuração

Netplan: a rede no servidor

No Ubuntu Server, a rede é descrita num arquivo YAML dentro de /etc/netplan/. YAML é um formato de texto em que a indentação (os espaços no começo da linha) define o que está dentro do quê.

O arquivo padrão: DHCP

Depois da instalação, o arquivo costuma pedir DHCP para a placa de cabo:

network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: true

IP fixo

Para fixar o IP, troque o dhcp4: true pelos valores. Cada nível é recuado com 2 espaços; nunca use Tab:

network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: false
      addresses:
        - 192.168.0.50/24
      routes:
        - to: default
          via: 192.168.0.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
ChaveSignificado
ethernets: enp3s0:Vamos configurar a placa de cabo enp3s0 (confira o nome com ip -br a).
dhcp4: falseSem IP automático no IPv4.
addresses:Lista de IPs da placa, com a máscara.
routes: - to: default via:O gateway: para qualquer destino, saia por 192.168.0.1.
nameservers: addresses:Os servidores DNS.
Tutoriais antigos usam gateway4

A chave gateway4: 192.168.0.1 é antiga e o Netplan avisa que ela está obsoleta. Use o bloco routes, como acima.

Aplicar com segurança: netplan try

  1. Faça uma cópia do arquivo antes de editar:

    $ sudo cp /etc/netplan/50-cloud-init.yaml ~/50-cloud-init.yaml.bak
  2. Edite com o nano e salve (Ctrl+O, Enter, Ctrl+X):

    $ sudo nano /etc/netplan/50-cloud-init.yaml
  3. Teste com netplan try. Ele aplica a configuração e espera 120 segundos. Se você perder o acesso e não conseguir confirmar, ele volta sozinho para a configuração anterior:

    $ sudo netplan try
    Do you want to keep these settings?
    
    Press ENTER before the timeout to accept the new configuration
    
    Changes will revert in 118 seconds                       « aperte Enter se a rede continuar ok
    Configuration accepted.
  4. Confira o resultado:

    $ ip -br a show enp3s0
    enp3s0           UP             192.168.0.50/24 fe80::3ea9:f4ff:fe12:abcd/64
    $ ip r | grep default
    default via 192.168.0.1 dev enp3s0 proto static           « "static": veio da configuração fixa

Fora do try, existe o sudo netplan apply, que aplica na hora e sem volta automática. Use-o quando estiver no console da máquina.

Permissões do arquivo

Os arquivos do Netplan podem conter senhas de Wi-Fi, por isso devem ser lidos só pelo root. Se as permissões estiverem abertas, o Netplan avisa. Corrija com:

$ sudo chmod 600 /etc/netplan/*.yaml

Nome da máquina e /etc/hosts

Ver e mudar o nome: hostnamectl

$ hostnamectl
 Static hostname: notebook                     « o nome da máquina
       Icon name: computer-laptop
         Chassis: laptop 💻
Operating System: Ubuntu 26.04.1 LTS
          Kernel: Linux 7.0.0-38-generic
    Architecture: x86-64
$ sudo hostnamectl set-hostname estudio
$ hostname
estudio

O prompt só mostra o nome novo quando você abre outro terminal. Atualize também a linha 127.0.1.1 do /etc/hosts com o nome novo, para evitar avisos do sudo.

Apelidos de nomes: /etc/hosts

O arquivo /etc/hosts é uma agenda local que vale antes do DNS. Ele é útil para dar nome a máquinas da sua rede sem configurar um servidor DNS:

127.0.0.1       localhost
127.0.1.1       notebook
192.168.0.50    servidor
192.168.0.31    impressora
$ sudo nano /etc/hosts
$ ping -c 1 servidor
PING servidor (192.168.0.50) 56(84) bytes of data.        « o nome virou o IP do /etc/hosts
64 bytes from servidor (192.168.0.50): icmp_seq=1 ttl=64 time=2.41 ms

Depois disso, ssh ana@servidor funciona sem decorar o IP (veja SSH).


Quando não funciona

"conexão desconhecida"
$ nmcli connection up "casa-5ghz"
Erro: conexão desconhecida “casa-5ghz”.

O que aconteceu: o nome da conexão tem de ser exatamente igual, com maiúsculas e minúsculas.

Como resolver: copie o nome de nmcli connection show. Use aspas quando houver espaço, como em "Conexão cabeada 1".

O Wi-Fi não conecta com a senha

O que aconteceu: senha errada, ou uma conexão salva antiga com a senha anterior.

Como resolver: veja Senha errada e Esquecer uma rede na aula Wi-Fi.

Depois do netplan, o servidor ficou sem rede

O que aconteceu: geralmente é erro de indentação no YAML, nome errado da placa (eth0 em vez de enp3s0) ou gateway fora da rede do IP.

Como confirmar: rode sudo netplan generate; ele aponta a linha e a coluna do erro de sintaxe sem aplicar nada. Confira o nome da placa com ip -br a.

Como resolver: pelo console, volte o backup (sudo cp ~/50-cloud-init.yaml.bak /etc/netplan/50-cloud-init.yaml) e rode sudo netplan apply. Da próxima vez, use netplan try.

Dois aparelhos com o mesmo IP

O que aconteceu: você fixou um IP que o roteador também entregou por DHCP para outro aparelho. A conexão fica caindo e voltando nos dois.

Como resolver: escolha um IP fora da faixa do DHCP do roteador, ou reserve o IP para o MAC do computador na configuração do roteador.


Referência

nmcli

ComandoFaz
nmcli general statusEstado geral e conectividade
nmcli device statusPlacas e conexão ativa em cada uma
nmcli device show PLACAIP, gateway e DNS de uma placa
nmcli device wifi …Wi-Fi: veja a aula Wi-Fi
nmcli connection showConexões salvas
nmcli connection up|down NOMEAtiva ou desativa
nmcli connection modify NOME chave valorAltera (IP, DNS, gateway…)
nmcli connection delete NOMEApaga a conexão salva
nmcli radio wifi on|offLiga ou desliga o Wi-Fi
nmtuiMenus no terminal

netplan

ComandoFaz
sudo netplan generateValida os arquivos sem aplicar
sudo netplan tryAplica com volta automática em 120 s
sudo netplan applyAplica na hora
sudo netplan getMostra a configuração final combinada
netplan statusEstado das placas segundo o Netplan

Exercícios

1. Conexões salvas

Complete para listar as conexões salvas:

nmcli connection

2. Testar sem medo

Complete para aplicar o Netplan com volta automática se algo der errado:

sudo netplan

3. IP manual

Complete para desligar o DHCP da conexão "Casa-5GHz":

nmcli connection modify "Casa-5GHz" ipv4.method

4. Você mudou o DNS com nmcli connection modify, mas nada mudou. O que faltou?

5. Num arquivo do Netplan, qual é o erro mais comum que derruba a rede?


Resumo

  • Desktop: NetworkManager (nmcli, nmtui, Configurações). Servidor: Netplan (YAML em /etc/netplan/).
  • connection modify + connection up muda IP e DNS. O Wi-Fi tem aula própria: Wi-Fi.
  • No Netplan: 2 espaços de indentação, nunca Tab; gateway no bloco routes; aplique com sudo netplan try.
  • hostnamectl set-hostname muda o nome; /etc/hosts cria apelidos que valem antes do DNS.