Foi lançado o release da ferramenta Netplan 1.1, que desenvolve o formato para armazenamento de configurações de interfaces de rede e ferramentas relacionadas para gerenciar configurações de rede. O Netplan garante o armazenamento de parâmetros no formato YAML e fornece backends que abstraem o acesso às configurações para NetworkManager e systemd-networkd. A ferramenta é aplicada na distribuição Ubuntu a partir da versão 17.10 e em builds do Debian 12 para sistemas em nuvem. O projeto é desenvolvido pela Canonical com a participação de colaboradores da Microsoft e Deutsche Telekom. O código do projeto é escrito nas linguagens Python e C, e é distribuído sob a licença GPLv3.
O funcionamento do netplan consiste na leitura das configurações de rede a partir de arquivos "\{lib,etc,run\}/netplan/*.yaml" durante o processo de inicialização e na gravação da configuração no diretório /run em um formato adequado para processamento posterior pelo systemd-networkd ou NetworkManager. Toda a configuração é armazenada apenas no arquivo YAML original, sem o uso de "etc/network/interfaces", sendo permitido dividir a configuração em vários arquivos, por exemplo, para separar as configurações do libvirt e lxd. A descrição dos parâmetros das interfaces de rede é feita por meio de uma sintaxe declarativa, permitindo descrever de maneira simples a estrutura de redes complexas.
Ao contrário do formato ifupdown, o netplan utiliza uma sintaxe declarativa; existe a possibilidade de aplicar máscaras para nomes de interfaces de rede, endereços MAC, drivers e outros componentes; ao analisar a hierarquia dos parâmetros das interfaces de rede, o contexto é levado em conta, o que permite transmitir corretamente as configurações aos manipuladores (no ifupdown, a análise de configurações complexas pode causar problemas devido a condições de corrida).
No novo lançamento:
- Possibilidade de sobrescrever a lógica do serviço systemd-networkd-wait-online para aguardar interfaces de rede internas (link-local) e roteáveis (com estado routable) separadamente.
- Suporte à alteração de configurações do modo eswitch (embedded-switch-mode) para interfaces de rede sem funções virtuais (VF, virtual-function) em dispositivos SR-IOV (Single Root I/O Virtualization).
- Suporte a flags que permitem influenciar o parser de configuração para ignorar configurações individuais incorretas sem interromper a geração da configuração total do backend.
- Foram feitas correções que resolvem problemas específicos para ProtonVPN e Microsoft Azure Linux.
Fonte: opennet.ru
