Então, aparentemente, o Ubuntu 18.04 (ou talvez até uma das versões 17.x) introduziu um novo mecanismo para configurar as interfaces de rede chamadas netplan.io ou netplan para breve.
Agora tudo isso parece muito bom à primeira vista, até que você descubra que sua configuração do /etc/network/interfaces muito personalizável não pode ser facilmente mapeada. Eu acho que há a nossa razão para o porquê netplan não tem renderizador para /etc/network/interfaces .
O propósito principal por trás do netplan parece ser fornecer um método unificado para expressar a configuração da rede e torná-la em um formato compreensível pelo NetworkManager e pelo Systemd-networkd no momento desta escrita. Aparentemente /etc/network/interfaces foi uma reflexão tardia (se em tudo). Eu não tinha percebido o switch primeiro, porque os sistemas atualizados mantêm o mecanismo antigo que é implementado no pacote ifupdown (e um número de pacotes similares fornecendo alternativas).
/etc/network/interfaces permitiu a introdução de novos tipos de estrofes colocando scripts de shell nas pastas certas (consulte aqui para um exemplo). Este mecanismo foi (ou no Debian upstream é ) muito poderoso, mas parece estar faltando em netplan . Agora, netplan atende à funcionalidade da sub-rotina addresses introduzida pelo script vinculado acima, mas qualquer outro script personalizado parece estar correto (tenho alguns scripts para exibir e anexar várias pontes para máquinas virtuais e contêineres e aplicar regras de firewall relacionadas a eles).
Como posso conseguir algo semelhante em netplan ? Ou, mais geralmente, como obter a flexibilidade de /etc/network/if-{down,post-down,pre-up,up}.d e as respectivas estrofes de interfaces(5) ( down , post-down , pre-up , up ) com netplan ?