De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Gerenciamento de redes com Netplan

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 28 de julho de 2025

O Netplan é um utilitário de linha de comando para configurar redes facilmente em sistemas Linux. Ele age como uma abstração, permitindo que você defina suas configurações de rede em arquivos YAML (YAML Ain't Markup Language) simples, e o Netplan então gera as configurações para os renderers de rede subjacentes, como o NetworkManager ou o systemd-networkd.

O Netplan foi desenvolvido pela Canonical, a empresa por trás do Ubuntu. Ele se tornou o padrão de configuração de rede no Ubuntu a partir da versão 17.10 (Artful Aardvark).

Seus principais objetivos foram:

  • Simplificar a configuração de rede: Antes do Netplan, a configuração de rede no Linux podia ser um pouco complexa, envolvendo a edição de vários arquivos de configuração específicos para diferentes gerenciadores de rede (como /etc/network/interfaces para o ifupdown). O Netplan buscou unificar e simplificar esse processo com um formato de configuração consistente e fácil de ler (YAML).
  • Melhorar a portabilidade: Ao usar um formato genérico como YAML, o Netplan facilita a migração de configurações de rede entre diferentes sistemas, desde que o Netplan esteja presente.
  • Suporte a diferentes renderers: A ideia era permitir que os usuários escolhessem seu gerenciador de rede preferido (NetworkManager para desktops, systemd-networkd para servidores) sem ter que aprender seus formatos de configuração específicos.

Principais Funcionalidades

O Netplan oferece um conjunto robusto de funcionalidades para gerenciar suas configurações de rede:

  • Configuração Baseada em YAML: Toda a configuração de rede é definida em arquivos YAML localizados em /etc/netplan/. Isso os torna legíveis por humanos e fáceis de editar.
  • Suporte a Múltiplos Renderers: O Netplan pode gerar configurações para:
    • NetworkManager: Ideal para desktops e laptops, onde a conectividade Wi-Fi e a interface gráfica são importantes.
    • systemd-networkd: Preferível para servidores e ambientes de nuvem, oferecendo um controle mais granular e integração com o systemd.
  • Configuração de Interfaces: Permite configurar interfaces Ethernet, Wi-Fi, pontes (bridges), VLANs, interfaces de bondagem (bonding) e muito mais.
  • Atribuição de Endereço IP: Suporta DHCP (configuração automática) e endereçamento IP estático.
  • Configuração de DNS e Rotas: Possibilidade de definir servidores DNS personalizados e rotas estáticas.
  • Validação de Configuração: O Netplan inclui ferramentas para validar seus arquivos YAML antes de aplicá-los, ajudando a evitar erros.
  • Teste de Configuração (`netplan try`): Uma funcionalidade crucial que permite aplicar uma configuração temporariamente e revertê-la automaticamente se a conectividade for perdida, minimizando o risco de ficar sem acesso à rede.

Comandos Essenciais e Exemplos

Arquivos de Configuração

Os arquivos de configuração do Netplan residem em /etc/netplan/. Geralmente, você encontrará um arquivo .yaml lá, como 01-netcfg.yaml ou 50-cloud-init.yaml.

Exemplo de estrutura básica de um arquivo Netplan:

network:
  version: 2
  renderer: networkd # ou NetworkManager
  ethernets:
    enp0s3: # Nome da sua interface de rede
      dhcp4: true # Habilita DHCP para IPv4

Comandos Principais

1. sudo netplan generate

Este comando gera os arquivos de configuração para o renderer de rede selecionado (NetworkManager ou systemd-networkd) a partir dos seus arquivos YAML. Ele não aplica as configurações, apenas as prepara.

Raramente usado diretamente, pois netplan apply executa essa etapa automaticamente. Pode ser útil para depuração.

2. sudo netplan apply

Este é o comando mais importante e frequentemente usado. Ele valida seus arquivos YAML, gera as configurações e as aplica ao sistema de rede.

Sempre que você fizer alterações em seus arquivos /etc/netplan/*.yaml e quiser que essas mudanças entrem em vigor, emita o comando abaixo:

$ sudo netplan apply

3. sudo netplan try

Aplica temporariamente as novas configurações de rede por um curto período (geralmente 120 segundos). Se você não confirmar as mudanças (pressionando Enter), ou se perder a conectividade e não conseguir confirmar, o Netplan reverterá automaticamente para a configuração anterior. Extremamente útil para evitar ficar sem acesso à rede.

Antes de aplicar permanentemente novas configurações, especialmente em servidores remotos ou em ambientes de produção, emita o comando abaixo:

$ sudo netplan try

Você verá uma contagem regressiva. Se a rede funcionar, pressione Enter. Caso contrário, deixe a contagem regressiva zerar para reverter.

4. netplan status

Exibe o status atual das interfaces de rede gerenciadas pelo Netplan e as configurações aplicadas.

Use este comando sempre que quiser verificar rapidamente o estado da sua rede e as configurações ativas:

$ sudo netplan status

Exemplos de Configuração (em `/etc/netplan/01-config.yaml`)

Configuração DHCP (Endereçamento Automático)

Este é o mais comum para a maioria dos desktops e servidores onde um servidor DHCP está disponível.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
Diretiva Explicação
version: 2 Indica a versão do formato Netplan.
renderer: networkd Define systemd-networkd como o backend de rede. Para desktops, você pode usar NetworkManager.
enp0s3 É o nome da sua interface de rede. Você pode verificar os nomes das interfaces com ip link show.
dhcp4: true Habilita DHCP para IPv4.

Após editar, aplique:

$ sudo netplan apply

Configuração IP Estático

Para servidores onde você precisa de um endereço IP fixo.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no # Desabilita DHCP para IPv4
      addresses: [192.168.1.100/24] # Endereço IP e máscara de sub-rede
      routes:
        - to: default # Rota padrão (gateway)
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # Servidores DNS (Google DNS)
Diretiva Explicação
dhcp4: no É crucial desabilitar DHCP ao usar IP estático.
addresses: [192.168.1.100/24] Define o endereço IP e a máscara de rede.
routes Configura as rotas. to: default é para a rota padrão.
nameservers Define os endereços dos servidores DNS.

Após editar, teste e aplique:

$ sudo netplan try

Se tudo estiver OK, pressione Enter.

$ sudo netplan apply

Configuração Wi-Fi (com NetworkManager)

Para configurar interfaces Wi-Fi, o renderer deve ser NetworkManager.

network:
  version: 2
  renderer: NetworkManager # Essencial para Wi-Fi
  wifis:
    wlp2s0: # Nome da sua interface Wi-Fi
      dhcp4: true
      access-points:
        "SeuSSID": # Nome da sua rede Wi-Fi
          password: "SuaSenhaDoWifi"
Diretiva Explicação
wifis Seção para interfaces Wi-Fi.
wlp2s0 Nome da sua interface Wi-Fi (verifique com ip link show).
access-points Configura os detalhes do ponto de acesso.

Após editar, teste e aplique:

$ sudo netplan try

Se tudo estiver OK, pressione Enter.

$ sudo netplan apply

O Netplan é uma ferramenta fantástica que realmente simplifica a gestão de rede no Linux. Ao dominar esses conceitos e comandos, você terá um controle muito maior sobre a conectividade do seu sistema.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida