Um Guia Abrangente para Usar o Netplan no Ubuntu | Do Básico ao Avançado em Configuração de Rede

1. Visão geral do Netplan no Ubuntu

O que é o Netplan?

Netplan é uma ferramenta de gerenciamento de configuração de rede introduzida no Ubuntu 17.10 e versões posteriores. Anteriormente, ifconfig e /etc/network/interfaces eram usados para configuração de rede, mas o Netplan oferece uma abordagem nova e mais estruturada. Uma das principais características do Netplan é o uso de arquivos YAML para configuração de rede, permitindo uma configuração simples e consistente que é fácil de gerenciar, mesmo para configurações de rede complexas.

Netplan suporta back‑ends como NetworkManager e systemd-networkd, tornando‑o adequado tanto para ambientes de desktop quanto de servidor do Ubuntu. Isso permite um método unificado de gerenciamento de redes em diferentes configurações.

Por que usar o Netplan?

Em comparação com os métodos tradicionais de configuração de rede, o Netplan oferece várias vantagens:

  1. Sintaxe simples : O formato YAML é intuitivo e estruturado, tornando as configurações mais fáceis de ler e entender, mesmo para iniciantes.
  2. Gerenciamento unificado : Pode ser usado tanto em ambientes de desktop quanto de servidor, permitindo o gerenciamento centralizado de várias configurações de rede.
  3. Alterações dinâmicas : Você pode modificar o arquivo de configuração e aplicar as mudanças instantaneamente, refletindo as atualizações em tempo real.

Estrutura básica do Netplan

Os arquivos de configuração do Netplan geralmente ficam localizados no diretório /etc/netplan/ e têm a extensão .yaml. Esses arquivos contêm definições para interfaces de rede, endereços IP e servidores DNS.

Um exemplo de um arquivo de configuração básico do Netplan é mostrado abaixo:

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

Neste exemplo, a interface Ethernet enp3s0 está configurada para obter um endereço IP via DHCP.

Papel do Netplan no Ubuntu 18.04 LTS e posteriores

A partir do Ubuntu 18.04 LTS, o Netplan vem instalado por padrão e é amplamente usado para gerenciamento de rede tanto em ambientes de servidor quanto de desktop. Em ambientes de servidor, onde múltiplas interfaces de rede e configurações de IP estático são frequentemente necessárias, o Netplan se mostra especialmente útil.

A seguir, veremos como configurar redes usando o Netplan.

2. Configuração básica do Netplan

Localização dos arquivos de configuração do Netplan

Os arquivos de configuração do Netplan geralmente são armazenados no diretório /etc/netplan/. Ao editar os arquivos .yaml dentro desse diretório, você pode modificar as configurações de rede. Um nome de arquivo comum é 50-cloud-init.yaml, mas pode variar dependendo do ambiente do sistema.

Para abrir o arquivo de configuração, você pode usar um editor de texto como vi ou nano, como mostrado abaixo:

sudo vi /etc/netplan/50-cloud-init.yaml

Configurando endereço IP dinâmico (DHCP)

Para obter um endereço IP automaticamente via DHCP, use a configuração YAML a seguir. Esta é a configuração mais simples e é comumente usada em ambientes residenciais e de escritório.

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

Configurando um endereço IP estático

Em alguns ambientes, é necessário atribuir um endereço IP fixo a servidores ou dispositivos específicos. O exemplo a seguir mostra como configurar um endereço IP estático:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Aplicando a configuração

Depois de editar o arquivo de configuração, aplique as mudanças usando o comando a seguir:

sudo netplan apply

Verificando a configuração

Para verificar se as configurações do Netplan foram aplicadas corretamente, use o comando a seguir para checar o status das interfaces de rede:

ip a

3. Configurando múltiplas interfaces de rede

Configurando múltiplas interfaces Ethernet

Servidores e dispositivos com múltiplas interfaces de rede podem atribuir diferentes endereços IP e configurações a cada interface. O exemplo a seguir configura duas interfaces Ethernet com configurações diferentes:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
    enp4s0:
      addresses:
        - 192.168.1.150/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Configurando Bonding de Rede para Redundância

O bonding de rede combina múltiplas interfaces de rede em uma única interface virtual para melhorar a redundância e a disponibilidade. O exemplo a seguir configura duas interfaces Ethernet como uma interface bond bond0:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: active-backup
        primary: enp3s0

Configurando Conexões Wi‑Fi

O Netplan também pode configurar conexões Wi‑Fi. O exemplo a seguir cria uma conexão para um SSID específico:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

Configurando VLANs

Para casos de uso específicos, VLANs (Virtual LANs) podem ser usadas para segmentar redes logicamente. O Netplan oferece suporte à configuração de VLANs. O exemplo a seguir cria uma VLAN na interface enp3s0:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

4. Configuração Avançada do Netplan

Configurando Roteamento Estático

Ao conectar redes através de múltiplos roteadores, o roteamento estático é necessário. Usando o Netplan, você pode configurar rotas estáticas para especificar o caminho do tráfego para determinados endereços IP ou redes. O exemplo a seguir mostra um roteamento estático:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1

Nessa configuração, a interface enp3s0 recebe uma rota estática para a rede 10.0.0.0/24 via o gateway padrão 192.168.1.1. Isso permite que o tráfego seja roteado por um caminho designado.

Configurando Múltiplos Gateways Padrão

Quando existem múltiplas interfaces de rede, o Netplan permite definir gateways padrão diferentes para cada interface. Isso é útil em ambientes que requerem acesso à internet por diferentes segmentos de rede. O exemplo a seguir mostra uma configuração:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
    enp4s0:
      addresses:
        - 10.0.0.100/24
      gateway4: 10.0.0.1

Configurando Servidores DNS

O Netplan permite a configuração fácil de servidores DNS estáticos. O exemplo a seguir especifica os servidores DNS públicos do Google (8.8.8.8 e 8.8.4.4):

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Bonding de Rede Avançado

Além do bonding básico, você pode ajustar os modos de bonding para alcançar diferentes funcionalidades. O exemplo a seguir configura um bonding round‑robin:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: balance-rr

O modo balance-rr (round-robin) alterna o tráfego entre as interfaces para distribuir a largura de banda, melhorando o desempenho. Outros modos, como active-backup para failover e balance-tlb para balanceamento de carga, podem ser selecionados de acordo com os requisitos.

Configuração Avançada de VLAN

VLAN (Virtual LAN) é usada em grandes redes para segmentar logicamente o tráfego. O Netplan suporta configuração de VLAN, como mostrado no exemplo a seguir:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Aqui, o VLAN ID 100 é atribuído ao enp3s0 e recebe um endereço IP estático de 192.168.100.1. Isso ajuda a segmentar a rede para melhorar a segurança e o gerenciamento de tráfego.

5. Solução de Problemas do Netplan

Embora o Netplan seja muito conveniente, erros de configuração e problemas específicos do sistema podem surgir. Esta seção explica problemas comuns do Netplan e suas soluções, ajudando você a lidar de forma eficiente com erros de conexão de rede e configurações incorretas.

Problemas Comuns do Netplan e suas Causas

1. Configuração Não Aplicada

Se as alterações feitas no Netplan não estiverem sendo aplicadas, as causas possíveis incluem:

  • Erros de Indentação YAML : A sintaxe YAML é rigorosa quanto à indentação. Espaços ou tabs incorretos podem tornar a configuração inválida.
  • Nome de Interface Incorreto : O Netplan requer o nome correto da interface de rede. Use o comando ip a para verificar e garantir que corresponda à sua configuração.

Soluções

  1. Após salvar o arquivo de configuração, aplique-o usando o seguinte comando:
sudo netplan apply
  1. Se ocorrer um erro, use o comando sudo netplan try para testar as alterações antes de aplicá-las permanentemente.
sudo netplan try

2. Erros de Conexão de Rede

Se a rede não estiver funcionando, as causas possíveis incluem:

  • Configuração de Gateway ou DNS Incorreta : Certifique‑se de que os endereços IP e servidores DNS corretos estejam especificados.
  • Problemas na Interface Física : Verifique os cabos de rede e o hardware para confirmar que estão conectados corretamente.

Soluções

  1. Use o comando ping para verificar a conectividade, por exemplo:
ping 8.8.8.8
  1. Reinicie o serviço de rede se necessário:
sudo systemctl restart networkd

Verificando Logs para Erros

Para solucionar problemas, os logs do sistema fornecem informações valiosas. Use o seguinte comando para verificar os logs relacionados ao Netplan:

journalctl -u systemd-networkd

6. Resumo e Próximos Passos

O Netplan simplifica a configuração de rede do Ubuntu, tornando-a mais eficiente e gerenciável. Abaixo está um resumo de seus principais benefícios:

  1. Configuração Intuitiva Baseada em YAML : Mais fácil de ler e escrever em comparação com métodos tradicionais.
  2. Configuração de Rede Flexível : Suporta múltiplas interfaces, bonding, roteamento estático e VLANs.
  3. Interface Unificada : Funciona em diferentes ambientes Ubuntu com uma abordagem consistente.
  4. Alterações de Configuração em Tempo Real : As configurações de rede podem ser atualizadas instantaneamente.

Aprendizado Adicional

Depois de se sentir confortável com o básico, considere explorar:

  • Configuração de Rede Virtual : Implemente VLANs para melhorar a segurança da rede.
  • Suporte a IPv6 : Configure IPv6 para uma rede preparada para o futuro.
  • Automação com Scripts : Use Ansible ou Puppet para automatizar as configurações de rede.

Recursos Úteis